|
@@ -386,6 +386,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
.map(CourseSchedule::getId)
|
|
.map(CourseSchedule::getId)
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
+ HashSet<Long> courseScheduleIdsSet = new HashSet<>(existCourseScheduleIds);
|
|
|
|
+
|
|
//合并新课程和已存在的课程
|
|
//合并新课程和已存在的课程
|
|
List<CourseSchedule> allCourseSchedules;
|
|
List<CourseSchedule> allCourseSchedules;
|
|
if(!CollectionUtils.isEmpty(existCourseSchedules)){
|
|
if(!CollectionUtils.isEmpty(existCourseSchedules)){
|
|
@@ -420,6 +422,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
|
|
|
//将课程计划按照开课时间排序
|
|
//将课程计划按照开课时间排序
|
|
allCourseSchedules.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
|
|
allCourseSchedules.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
|
|
|
|
+ System.out.println(DateUtil.dateToString(new Date(), "HH:mm:ss"));
|
|
if(allCourseSchedules.size()>1){
|
|
if(allCourseSchedules.size()>1){
|
|
//记录连续冲突的次数
|
|
//记录连续冲突的次数
|
|
Integer repeatTimes=0;
|
|
Integer repeatTimes=0;
|
|
@@ -432,8 +435,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
//判断前后两节课是否存在冲突
|
|
//判断前后两节课是否存在冲突
|
|
if(backCourseSchedule.getStartClassTime().before(preCourseSchedule.getEndClassTime())){
|
|
if(backCourseSchedule.getStartClassTime().before(preCourseSchedule.getEndClassTime())){
|
|
if(!checkExistCourseSchedule
|
|
if(!checkExistCourseSchedule
|
|
- &&existCourseScheduleIds.contains(preCourseSchedule.getId())
|
|
|
|
- &&existCourseScheduleIds.contains(backCourseSchedule.getId())){
|
|
|
|
|
|
+ &&courseScheduleIdsSet.contains(preCourseSchedule.getId())
|
|
|
|
+ &&courseScheduleIdsSet.contains(backCourseSchedule.getId())){
|
|
if(j==repeatTimes){
|
|
if(j==repeatTimes){
|
|
repeatTimes+=1;
|
|
repeatTimes+=1;
|
|
}
|
|
}
|