|
@@ -2819,6 +2819,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
//未更新课程列表
|
|
|
List<CourseSchedule> oldCourses = courseScheduleDao.findByCourseScheduleIds(courseAdjustInfo.getCourseScheduleIds());
|
|
|
|
|
|
+ if(CollectionUtils.isEmpty(oldCourses)){
|
|
|
+ return BaseController.succeed();
|
|
|
+ }
|
|
|
+
|
|
|
//需要变更课酬的教师类型
|
|
|
Set<TeachTypeEnum> changeSalaryTeachTypes = new HashSet<>();
|
|
|
|
|
@@ -2862,7 +2866,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
//上课时间变更
|
|
|
LocalTime startTime = null;
|
|
|
if(Objects.nonNull(courseAdjustInfo.getStartTime())){
|
|
|
- startTime = LocalTime.parse(courseAdjustInfo.getStartTime());
|
|
|
+ startTime = LocalTime.parse(courseAdjustInfo.getStartTime(), DateUtil.timeFormatter);
|
|
|
}
|
|
|
|
|
|
Date now = new Date();
|
|
@@ -2871,6 +2875,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
|
|
|
oldCourses.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
|
|
|
for (int i = 0; i < oldCourses.size(); i++) {
|
|
|
+ if(Objects.nonNull(oldCourses.get(i).getNewCourseId())){
|
|
|
+ throw new BizException("选择的课程中存在已合并课程,无法进行调整");
|
|
|
+ }
|
|
|
+ if(!CourseStatusEnum.NOT_START.equals(oldCourses.get(i).getStatus())){
|
|
|
+ throw new BizException("选择的课程中存在进行中或已结束的课程,无法进行调整");
|
|
|
+ }
|
|
|
//上课日期变更
|
|
|
if(betweenDays>0){
|
|
|
LocalDate classDate = LocalDateTime.ofInstant(oldCourses.get(i).getClassDate().toInstant(), DateUtil.zoneId).toLocalDate();
|
|
@@ -2880,6 +2890,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
i=i-1;
|
|
|
continue;
|
|
|
}
|
|
|
+ oldCourses.get(i).setClassDate(Date.from(classDate.atStartOfDay().atZone(DateUtil.zoneId).toInstant()));
|
|
|
}
|
|
|
|
|
|
//上课时间变更
|
|
@@ -2889,8 +2900,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
LocalTime endTime = startTime.plusMinutes(minutes);
|
|
|
String courseStartTimeStr = DateUtil.dateToString(oldCourses.get(i).getClassDate(), "yyyy-MM-dd") + " " + startTime.toString();
|
|
|
String courseEndTimeStr = DateUtil.dateToString(oldCourses.get(i).getClassDate(), "yyyy-MM-dd") + " " + endTime.toString();
|
|
|
- oldCourses.get(i).setStartClassTime(DateUtil.stringToDate(courseStartTimeStr));
|
|
|
- oldCourses.get(i).setEndClassTime(DateUtil.stringToDate(courseEndTimeStr));
|
|
|
+ oldCourses.get(i).setStartClassTime(DateUtil.stringToDate(courseStartTimeStr, "yyyy-MM-dd HH:mm"));
|
|
|
+ oldCourses.get(i).setEndClassTime(DateUtil.stringToDate(courseEndTimeStr, "yyyy-MM-dd HH:mm"));
|
|
|
}
|
|
|
|
|
|
if(Objects.nonNull(courseAdjustInfo.getTeachMode())&&!courseAdjustInfo.getTeachMode().equals(oldCourses.get(i).getTeachMode())){
|
|
@@ -2919,7 +2930,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
courseScheduleTeacherSalary.setClassGroupId(oldCourses.get(i).getClassGroupId());
|
|
|
courseScheduleTeacherSalary.setCreateTime(now);
|
|
|
courseScheduleTeacherSalary.setUpdateTime(now);
|
|
|
- courseScheduleTeacherSalaryService.createMusicGroupCourseTeacherSalary(null, oldCourses.get(i), courseScheduleTeacherSalary);
|
|
|
+ courseScheduleTeacherSalaryService.updateSingleCourseTeacherSalary(oldCourses.get(i), courseScheduleTeacherSalary);
|
|
|
courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
|
|
|
|
|
|
if (courseAdjustInfo.getConfirmGenerate() && !courseAdjustInfo.getAllowZeroSalary() && BigDecimal.ZERO.compareTo(courseScheduleTeacherSalary.getExpectSalary()) == 0) {
|