zouxuan 4 سال پیش
والد
کامیت
f4e26e2d97

+ 18 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -76,6 +76,9 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 
 	@Autowired
 	private MusicGroupSchoolTermCourseDetailDao musicGroupSchoolTermCourseDetailDao;
+
+	@Autowired
+	private MusicGroupSchoolTermStudentCourseDetailDao musicGroupSchoolTermStudentCourseDetailDao;
 	
 	@Autowired
 	private IdGeneratorService idGeneratorService;
@@ -960,11 +963,26 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 					totalPrice = totalPrice.add(musicGroupPaymentCalenderCourseSettings.getCourseCurrentPrice());
 				}
 			}
+			//当前乐团是否有预排课计划
+			MusicGroupSchoolTermCourseDetail termCourseDetail = musicGroupSchoolTermCourseDetailDao.findByCourseDateAndMusicGroupId(musicGroup.getId(), null, 0);
 
 			List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetailList = new ArrayList<MusicGroupPaymentStudentCourseDetail>();
 			MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = null;
 
 			for (String studentId : studentIdStr.split(",")) {
+				if(termCourseDetail != null){
+					//是否已经预排部分课程
+					List<CourseSchedule> courseSchedules = courseScheduleDao.queryPreCourseListByMusicGroupId(musicGroup.getId());
+					if(courseSchedules.size() > 0){
+						throw new BizException("操作失败:该乐团存在预排课课程,请优先完成预排课");
+					}else {
+						MusicGroupSchoolTermStudentCourseDetail studentCourseDetail = new MusicGroupSchoolTermStudentCourseDetail();
+						studentCourseDetail.setMusicGroupSchoolTermCourseDetailId(termCourseDetail.getId());
+						studentCourseDetail.setUserId(Integer.parseInt(studentId));
+						studentCourseDetail.setMemberCourseMinutes(termCourseDetail.getTotalCourseTime());
+						musicGroupSchoolTermStudentCourseDetailDao.insert(studentCourseDetail);
+					}
+				}
 				// 学生加到calenderDetail
 				MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
 				musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalender.getId());

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupSchoolTermCourseDetailServiceImpl.java

@@ -59,7 +59,7 @@ public class MusicGroupSchoolTermCourseDetailServiceImpl extends BaseServiceImpl
 			throw new BizException("操作失败:该功能只适用于系统收费团");
 		}
 		//校验当前乐团是否所有学员都在班
-		if(studentRegistrationDao.checkHasNotClass(musicGroupId)){
+		if(!studentRegistrationDao.checkHasNotClass(musicGroupId)){
 			throw new BizException("操作失败:请确保所有在读学员都在班级");
 		}
 		MusicGroupSchoolTermCourseDetail courseDetail = musicGroupSchoolTermCourseDetailDao.

+ 6 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1977,9 +1977,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         //如果是会员团,并且有预排课计划
         MusicGroupSchoolTermCourseDetail termCourseDetail = musicGroupSchoolTermCourseDetailDao.findByCourseDateAndMusicGroupId(musicGroupId, null, 0);
         if(termCourseDetail != null){
-            MusicGroupSchoolTermStudentCourseDetailDao studentCourseDetailDao = musicGroupSchoolTermStudentCourseDetailDao.findByDetailIdAndStudentId(termCourseDetail.getId(),userId);
-            if(studentCourseDetailDao != null){
-                throw new BizException("退团失败:该学员存在预排课安排,请先取消预排课");
+            //是否已经预排部分课程
+            List<CourseSchedule> courseSchedules = courseScheduleDao.queryPreCourseListByMusicGroupId(musicGroup.getId());
+            if(courseSchedules.size() > 0){
+                throw new BizException("退团失败:该乐团存在预排课课程,请优先完成预排课");
+            }else {
+                musicGroupSchoolTermStudentCourseDetailDao.deleteByDetailId(termCourseDetail.getId(),userId);
             }
         }