|
@@ -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())) {
|