Joburgess 4 years ago
parent
commit
b70409e07d

+ 17 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -1808,9 +1808,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         }
 
         //所有课程编号
-		List<Long> allCourseScheduleIds = allCourseSchedules.stream().map(CourseSchedule::getId).collect(Collectors.toList());
+		Set<Long> allCourseScheduleIds = allCourseSchedules.stream().map(CourseSchedule::getId).collect(Collectors.toSet());
         //所有课程学员签到记录
-		List<StudentAttendance> studentAttendances = studentAttendanceDao.findByCourseIds(allCourseScheduleIds);
+		List<StudentAttendance> studentAttendances = studentAttendanceDao.findByCourseIds(new ArrayList<>(allCourseScheduleIds));
 		//课程请假学员字典
 		Map<Long, Set<Integer>> courseLeaveStudentMap = studentAttendances.stream()
 				.filter(e -> StudentAttendanceStatusEnum.LEAVE.equals(e.getStatus()))
@@ -1879,27 +1879,30 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 //                        }
 
                         //助教冲突检测
-                        if (Objects.isNull(preCourseSchedule.getId())) {
+						if (allCourseScheduleIds.contains(preCourseSchedule.getId())) {
+							IntegerAndIntegerListDto integerAndIntegerListDto = courseScheduleTeachingTeacherMap.get(preCourseSchedule.getId());
+							if (Objects.nonNull(integerAndIntegerListDto)) {
+								preCourseSchedule.setTeachingTeacherIdList(integerAndIntegerListDto.getIds());
+							}
+						}
+                        if (CollectionUtils.isEmpty(preCourseSchedule.getTeachingTeacherIdList())) {
                             IntegerAndIntegerListDto integerAndIntegerListDto = classGroupTeachingTeacherMap.get(preCourseSchedule.getClassGroupId());
                             if (Objects.nonNull(integerAndIntegerListDto)) {
                                 preCourseSchedule.setTeachingTeacherIdList(integerAndIntegerListDto.getIds());
                             }
-                        } else if (existCourseScheduleIdsSet.contains(preCourseSchedule.getId())) {
-                            IntegerAndIntegerListDto integerAndIntegerListDto = courseScheduleTeachingTeacherMap.get(preCourseSchedule.getId());
-                            if (Objects.nonNull(integerAndIntegerListDto)) {
-                                preCourseSchedule.setTeachingTeacherIdList(integerAndIntegerListDto.getIds());
-                            }
                         }
-                        if (Objects.isNull(backCourseSchedule.getId())) {
+
+						if (allCourseScheduleIds.contains(backCourseSchedule.getId())) {
+							IntegerAndIntegerListDto integerAndIntegerListDto = courseScheduleTeachingTeacherMap.get(backCourseSchedule.getId());
+							if (Objects.nonNull(integerAndIntegerListDto)) {
+								backCourseSchedule.setTeachingTeacherIdList(integerAndIntegerListDto.getIds());
+							}
+						}
+                        if (CollectionUtils.isEmpty(backCourseSchedule.getTeachingTeacherIdList())) {
                             IntegerAndIntegerListDto integerAndIntegerListDto = classGroupTeachingTeacherMap.get(backCourseSchedule.getClassGroupId());
                             if (Objects.nonNull(integerAndIntegerListDto)) {
                                 backCourseSchedule.setTeachingTeacherIdList(integerAndIntegerListDto.getIds());
                             }
-                        } else if (existCourseScheduleIdsSet.contains(backCourseSchedule.getId())) {
-                            IntegerAndIntegerListDto integerAndIntegerListDto = courseScheduleTeachingTeacherMap.get(backCourseSchedule.getId());
-                            if (Objects.nonNull(integerAndIntegerListDto)) {
-                                backCourseSchedule.setTeachingTeacherIdList(integerAndIntegerListDto.getIds());
-                            }
                         }
                         if (!CollectionUtils.isEmpty(preCourseSchedule.getTeachingTeacherIdList())
                                 && !CollectionUtils.isEmpty(backCourseSchedule.getTeachingTeacherIdList())) {