|
@@ -258,16 +258,24 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
|
|
|
List<CourseSchedule> courseScheduleList = courseScheduleDao.findByCourseScheduleIds(courseScheduleIds);
|
|
|
|
|
|
+ List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseScheduleIds);
|
|
|
+ Set<Long> settlementCourseIds = new HashSet<>();
|
|
|
+ if(!CollectionUtils.isEmpty(courseScheduleTeacherSalaries)){
|
|
|
+ settlementCourseIds = courseScheduleTeacherSalaries.stream().filter(c->Objects.nonNull(c.getSettlementTime())).map(CourseScheduleTeacherSalary::getCourseScheduleId).collect(Collectors.toSet());
|
|
|
+ }
|
|
|
+
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
Date date = new Date();
|
|
|
if (courseScheduleList != null) {
|
|
|
for (CourseSchedule cs : courseScheduleList) {
|
|
|
- if (cs.getStatus() != CourseStatusEnum.NOT_START) {
|
|
|
- throw new BizException("删除失败,未开始的课程才能删除");
|
|
|
+ if(settlementCourseIds.contains(cs.getId())){
|
|
|
+ throw new BizException("删除失败,已结算的课程不能删除");
|
|
|
}
|
|
|
- String endDateStr = DateUtil.format(cs.getClassDate(), "yyyy-MM-dd") + " " + DateUtil.format(cs.getStartClassTime(), "HH:mm:ss");
|
|
|
- if (DateUtil.stringToDate(endDateStr, sdf).before(date)) {
|
|
|
- throw new BizException("删除失败,未开始的课程才能删除");
|
|
|
+ if (CourseStatusEnum.UNDERWAY.equals(cs.getStatus())) {
|
|
|
+ throw new BizException("删除失败,进行中的课程不能删除");
|
|
|
+ }
|
|
|
+ if (Objects.nonNull(cs.getIsLock())&&cs.getIsLock()==1) {
|
|
|
+ throw new BizException("删除失败,被锁定的课程不能删除");
|
|
|
}
|
|
|
if(Objects.nonNull(cs.getNewCourseId())){
|
|
|
throw new BizException("删除失败,被合并课程不能删除");
|
|
@@ -2979,6 +2987,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
|
|
|
//老师结算表
|
|
|
if (courseScheduleTeacherSalaries.size() > 0) {
|
|
|
+ teacherAttendanceDao.batchDeleteByCourseSchedules(courseAdjustInfo.getCourseScheduleIds());
|
|
|
courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaries);
|
|
|
}
|
|
|
|
|
@@ -3526,6 +3535,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
Map<Integer, Map<Integer, TeacherDefaultVipGroupSalary>> vipGroupSalaryMap = new HashMap<Integer, Map<Integer, TeacherDefaultVipGroupSalary>>();
|
|
|
|
|
|
if (newCourseSchedule.getGroupType() == GroupType.MUSIC) {
|
|
|
+ MusicGroup musicGroup = musicGroupDao.get(newCourseSchedule.getMusicGroupId());
|
|
|
+ if(Objects.isNull(musicGroup)||!MusicGroupStatusEnum.PROGRESS.equals(musicGroup.getStatus())){
|
|
|
+ throw new BizException("非进行中乐团不可调整课程");
|
|
|
+ }
|
|
|
// 所有教师列表
|
|
|
List<Teacher> teachers = teacherDao.findByTeacherIds(newTeacherIdList);
|
|
|
teacherMap = teachers.stream().collect(Collectors.toMap(Teacher::getId, teacher -> teacher));
|