|
@@ -578,21 +578,57 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
CourseSchedule courseSchedule1 = courseScheduleDao.get(courseScheduleId1);
|
|
|
CourseSchedule courseSchedule2 = courseScheduleDao.get(courseScheduleId2);
|
|
|
|
|
|
+ //获取两个课程的主教、助教
|
|
|
+ List<Long> courseScheduleIds=new ArrayList<>();
|
|
|
+ courseScheduleIds.add(courseScheduleId1);
|
|
|
+ courseScheduleIds.add(courseScheduleId2);
|
|
|
+ List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseScheduleIds);
|
|
|
+ Map<Long, List<CourseScheduleTeacherSalary>> courseScheduleTeacherSalaryByCourse = courseScheduleTeacherSalaries.stream()
|
|
|
+ .collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId));
|
|
|
+ //课程1的主教、助教
|
|
|
+ List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries1 = courseScheduleTeacherSalaryByCourse.get(courseScheduleId1);
|
|
|
+ //课程2的主教、助教
|
|
|
+ List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries2 = courseScheduleTeacherSalaryByCourse.get(courseScheduleId2);
|
|
|
+
|
|
|
+ Map<TeachTypeEnum, List<CourseScheduleTeacherSalary>> ct1 = courseScheduleTeacherSalaries1.stream()
|
|
|
+ .collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getTeacherRole));
|
|
|
+
|
|
|
+ Map<TeachTypeEnum, List<CourseScheduleTeacherSalary>> ct2 = courseScheduleTeacherSalaries2.stream()
|
|
|
+ .collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getTeacherRole));
|
|
|
+
|
|
|
+ //交换两节课的主教、助教
|
|
|
+ if(Objects.nonNull(ct1.get(TeachTypeEnum.BISHOP))){
|
|
|
+ courseSchedule1.setActualTeacherId(ct1.get(TeachTypeEnum.BISHOP).get(0).getUserId());
|
|
|
+ }else{
|
|
|
+ courseSchedule1.setActualTeacherId(null);
|
|
|
+ }
|
|
|
+ if(Objects.nonNull(ct2.get(TeachTypeEnum.BISHOP))){
|
|
|
+ courseSchedule2.setActualTeacherId(ct2.get(TeachTypeEnum.BISHOP).get(0).getUserId());
|
|
|
+ }else{
|
|
|
+ courseSchedule2.setActualTeacherId(null);
|
|
|
+ }
|
|
|
+ List<CourseScheduleTeacherSalary> ct1t = ct1.get(TeachTypeEnum.TEACHING);
|
|
|
+ if(CollectionUtils.isEmpty(ct1t)){
|
|
|
+ courseSchedule1.setTeachingTeacherIdList(null);
|
|
|
+ }else{
|
|
|
+ List<Integer> collect = ct1t.stream().map(CourseScheduleTeacherSalary::getUserId).collect(Collectors.toList());
|
|
|
+ collect.stream().distinct();
|
|
|
+ courseSchedule1.setTeachingTeacherIdList(collect);
|
|
|
+ }
|
|
|
+ List<CourseScheduleTeacherSalary> ct2t = ct2.get(TeachTypeEnum.TEACHING);
|
|
|
+ if(CollectionUtils.isEmpty(ct2t)){
|
|
|
+ courseSchedule2.setTeachingTeacherIdList(null);
|
|
|
+ }else{
|
|
|
+ List<Integer> collect = ct2t.stream().map(CourseScheduleTeacherSalary::getUserId).collect(Collectors.toList());
|
|
|
+ collect.stream().distinct();
|
|
|
+ courseSchedule2.setTeachingTeacherIdList(collect);
|
|
|
+ }
|
|
|
courseSchedule1.setId(courseScheduleId2);
|
|
|
courseSchedule2.setId(courseScheduleId1);
|
|
|
-
|
|
|
- List<CourseSchedule> courseSchedules = courseScheduleDao.findCourseSchedulesByIds(new Long[]{courseScheduleId1, courseScheduleId2});
|
|
|
-
|
|
|
- CourseSchedule temp=new CourseSchedule();
|
|
|
- BeanUtils.copyProperties(courseSchedules.get(0),temp);
|
|
|
- courseSchedules.get(0).setClassDate(courseSchedules.get(1).getClassDate());
|
|
|
- courseSchedules.get(0).setStartClassTime(courseSchedules.get(1).getStartClassTime());
|
|
|
- courseSchedules.get(0).setEndClassTime(courseSchedules.get(1).getEndClassTime());
|
|
|
- courseSchedules.get(1).setClassDate(temp.getClassDate());
|
|
|
- courseSchedules.get(1).setStartClassTime(temp.getStartClassTime());
|
|
|
- courseSchedules.get(1).setEndClassTime(temp.getEndClassTime());
|
|
|
- courseScheduleDao.update(courseSchedules.get(0));
|
|
|
- courseScheduleDao.update(courseSchedules.get(1));
|
|
|
+ List<CourseSchedule> courseSchedules=new ArrayList<>();
|
|
|
+ courseSchedules.add(courseSchedule1);
|
|
|
+ courseSchedules.add(courseSchedule2);
|
|
|
+ classStartDateAdjust(courseSchedules);
|
|
|
}
|
|
|
|
|
|
@Override
|