Joburgess 5 年之前
父节点
当前提交
909b9f3c5f

+ 29 - 21
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -410,20 +410,24 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		allCourseSchedules.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
 		if(allCourseSchedules.size()>1){
 		    //记录连续冲突的次数
-		    Integer repeatTimes=1;
+		    Integer repeatTimes=0;
 			for (int i=1;i<allCourseSchedules.size();i++){
-				for(int j=repeatTimes;j>0;j--){
+				for(int j=1;j<=repeatTimes+1&&j<=i;j++){
                     //当前课程
                     CourseSchedule preCourseSchedule = allCourseSchedules.get(i-j);
                     //后面一节课程
                     CourseSchedule backCourseSchedule = allCourseSchedules.get(i);
-                    if(!checkExistCourseSchedule
-						&&existCourseScheduleIds.contains(preCourseSchedule.getId())
-						&&existCourseScheduleIds.contains(backCourseSchedule.getId())){
-                    	continue;
-					}
                     //判断前后两节课是否存在冲突
                     if(backCourseSchedule.getStartClassTime().before(preCourseSchedule.getEndClassTime())){
+						if(!checkExistCourseSchedule
+								&&existCourseScheduleIds.contains(preCourseSchedule.getId())
+								&&existCourseScheduleIds.contains(backCourseSchedule.getId())){
+							if(j==repeatTimes){
+								repeatTimes+=1;
+							}
+							continue;
+						}
+
                         //提示信息
                         StringBuffer errInfo = new StringBuffer("在");
                         errInfo.append(DateUtil.dateToString(preCourseSchedule.getStartClassTime(),"yyyy-MM-dd HH:mm"));
@@ -502,9 +506,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                             repeatTimes+=1;
                         }
                     }else{
-                        if(j==repeatTimes){
-                            repeatTimes=1;
-                        }
+						repeatTimes=j;
+						break;
                     }
                 }
 			}
@@ -694,23 +697,28 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				//修改后的课程助教编号列表
 				List<Integer> newTeachingTeacherIdList = newCourseSchedule.getTeachingTeacherIdList();
 				//找出重复的助教编号
-				List<Integer> foundInCurrentCourseTeachingTeacherIds = newTeachingTeacherIdList.stream().filter(currentCourseTeachingTeacherIds::contains).collect(Collectors.toList());
+				List<Integer> foundInCurrentCourseTeachingTeacherIds;
 
 				//需要重新生成课酬的助教列表
 				List<Integer> newCreateSalaryTeachingTeacherIds=new ArrayList<>();
 
-				newTeachingTeacherIdList.forEach(newTeachingTeacherId->{
-					//如果不在重复列表中,则需要生成对应的课酬记录
-					if(!foundInCurrentCourseTeachingTeacherIds.contains(newTeachingTeacherId)){
-						//计算修改后的助教的课酬
-						newCreateSalaryTeachingTeacherIds.add(newTeachingTeacherId);
+				if(!CollectionUtils.isEmpty(newTeachingTeacherIdList)){
+					foundInCurrentCourseTeachingTeacherIds = newTeachingTeacherIdList.stream().filter(currentCourseTeachingTeacherIds::contains).collect(Collectors.toList());
 
-						if(Objects.nonNull(newTeachingTeacherId)){
-							beReplaceTeacherIds.add(newTeachingTeacherId);
+					newTeachingTeacherIdList.forEach(newTeachingTeacherId->{
+						//如果不在重复列表中,则需要生成对应的课酬记录
+						if(!foundInCurrentCourseTeachingTeacherIds.contains(newTeachingTeacherId)){
+							//计算修改后的助教的课酬
+							newCreateSalaryTeachingTeacherIds.add(newTeachingTeacherId);
+
+							if(Objects.nonNull(newTeachingTeacherId)){
+								beReplaceTeacherIds.add(newTeachingTeacherId);
+							}
 						}
-					}
-				});
-				newCourseSchedule.setTeachingTeacherIdList(newCreateSalaryTeachingTeacherIds);
+					});
+					newCourseSchedule.setTeachingTeacherIdList(newCreateSalaryTeachingTeacherIds);
+				}
+
 				if(!newCourseSchedule.isBishopTeacherSalaryNotCreate()||!CollectionUtils.isEmpty(newCreateSalaryTeachingTeacherIds)){
 					//如果主教或者助教发生了变化,则需要重新生成课酬
 					needCreateCourseScheduleTeacherSalaryCourse.add(newCourseSchedule);

+ 4 - 0
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupManageController.java

@@ -246,6 +246,10 @@ public class VipGroupManageController extends BaseController {
         if(Objects.isNull(classDateAdjustDto.getId())){
             return failed(HttpStatus.FORBIDDEN, "请指定课程!");
         }
+        CourseSchedule courseSchedule = scheduleService.get(classDateAdjustDto.getId());
+        if(Objects.isNull(classDateAdjustDto.getClassGroupId())){
+            classDateAdjustDto.setClassGroupId(courseSchedule.getClassGroupId());
+        }
         List<CourseSchedule> courseSchedules=new ArrayList<>();
         courseSchedules.add(classDateAdjustDto);
         scheduleService.courseAdjust(courseSchedules);