|
@@ -483,26 +483,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
throw new BizException("不能调整今天及以前的课程");
|
|
|
}
|
|
|
|
|
|
- ArrayList<Date> dates = new ArrayList<>();
|
|
|
- dates.add(newCourseSchedule.getClassDate());
|
|
|
- List<CourseSchedule> coursesByDates = courseScheduleDao.findOverLapCoursesInDay(dates,newCourseSchedule.getStartClassTime(),newCourseSchedule.getEndClassTime());
|
|
|
- //判断是否存在同时间上课的班级
|
|
|
- if(null==coursesByDates||coursesByDates.size()<=0){
|
|
|
- courseScheduleDao.update(newCourseSchedule);
|
|
|
- }else{
|
|
|
- coursesByDates.forEach(courseSchedule -> {
|
|
|
- if(courseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())){
|
|
|
- //存在时间重叠,需要前端重新调整
|
|
|
- throw new BizException("所选教师在当天课程安排上存在重叠!");
|
|
|
- }
|
|
|
- });
|
|
|
- List<Integer> repeatClassGroupIds = coursesByDates.stream().map(CourseSchedule::getClassGroupId).collect(Collectors.toList());
|
|
|
- checkStudentIsRepeat(repeatClassGroupIds);
|
|
|
- oldCourseSchedule.setClassDate(newCourseSchedule.getClassDate());
|
|
|
- oldCourseSchedule.setStartClassTime(newCourseSchedule.getStartClassTime());
|
|
|
- oldCourseSchedule.setEndClassTime(newCourseSchedule.getEndClassTime());
|
|
|
- courseScheduleDao.update(oldCourseSchedule);
|
|
|
- }
|
|
|
+ oldCourseSchedule.setClassDate(newCourseSchedule.getClassDate());
|
|
|
+ oldCourseSchedule.setStartClassTime(newCourseSchedule.getStartClassTime());
|
|
|
+ oldCourseSchedule.setEndClassTime(newCourseSchedule.getEndClassTime());
|
|
|
+ courseScheduleDao.update(oldCourseSchedule);
|
|
|
|
|
|
//被修改的教师编号列表,需要将预计薪水置零
|
|
|
List<Integer> beReplaceTeacherIds=new ArrayList<>();
|
|
@@ -514,7 +498,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
VipGroup byCourseSchedule = vipGroupDao.findByCourseSchedule(newCourseSchedule.getId().intValue());
|
|
|
TeacherDefaultVipGroupSalary byTeacherAndCategory = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(newCourseSchedule.getActualTeacherId(), byCourseSchedule.getVipGroupCategoryId());
|
|
|
List<CourseSchedule> courseSchedules=new ArrayList<>();
|
|
|
- coursesByDates.add(newCourseSchedule);
|
|
|
courseScheduleTeacherSalaryService.createCourseScheduleTeacherVipSalary(byCourseSchedule,
|
|
|
courseSchedules,
|
|
|
byTeacherAndCategory.getOnlineClassesSalary(),
|
|
@@ -571,7 +554,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
});
|
|
|
//生成修改后的教师课酬
|
|
|
if(!CollectionUtils.isEmpty(needCreateCourseScheduleTeacherSalaryCourse)){
|
|
|
- classGroupTeacherMapperService.createCourseScheduleTeacherSalary(needCreateCourseScheduleTeacherSalaryCourse);
|
|
|
+ classGroupTeacherMapperService.createCourseScheduleTeacherSalary(needCreateCourseScheduleTeacherSalaryCourse,oldCourseSchedules);
|
|
|
}
|
|
|
//推送课时调整
|
|
|
Set<Integer> teacherIds = newCourseSchedules.stream().map(e -> e.getActualTeacherId()).collect(Collectors.toSet());
|
|
@@ -589,7 +572,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void courseSwap(Long courseScheduleId1, Long courseScheduleId2) {
|
|
|
+ if(courseScheduleId1.equals(courseScheduleId2)){
|
|
|
+ throw new BizException("请选择不同的课程");
|
|
|
+ }
|
|
|
+ CourseSchedule courseSchedule1 = courseScheduleDao.get(courseScheduleId1);
|
|
|
+ CourseSchedule courseSchedule2 = courseScheduleDao.get(courseScheduleId2);
|
|
|
+
|
|
|
+ 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());
|