|
@@ -1359,6 +1359,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void coursePostpone(CoursePostponeDto coursePostPoneInfo) {
|
|
|
+ SysUser user = sysUserFeignService.queryUserInfo();
|
|
|
+ if (null == user) {
|
|
|
+ throw new BizException("获取用户信息失败");
|
|
|
+ }
|
|
|
if(StringUtils.isBlank(coursePostPoneInfo.getClassGroupIds())){
|
|
|
throw new BizException("请指定班级");
|
|
|
}
|
|
@@ -1384,8 +1388,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
|
|
|
classGroupCourseSchedulesWithDate.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
|
|
|
|
|
|
+ List<CourseScheduleModifyLog> scheduleModifyLogs = new ArrayList<>(classGroupCourseSchedulesWithDate.size());
|
|
|
+ Date date = new Date();
|
|
|
+ //保存修改记录
|
|
|
for (int i=0;i<classGroupCourseSchedulesWithDate.size();i++) {
|
|
|
CourseSchedule courseSchedule=classGroupCourseSchedulesWithDate.get(i);
|
|
|
+ CourseScheduleModifyLog scheduleModifyLog = new CourseScheduleModifyLog();
|
|
|
+ scheduleModifyLog.setCourseScheduleId(courseSchedule.getId());
|
|
|
+ scheduleModifyLog.setPreviousCourseSchedule(JSONObject.toJSONString(courseSchedule));
|
|
|
+ scheduleModifyLog.setCreateTime(date);
|
|
|
+ scheduleModifyLog.setOperatorId(user.getId());
|
|
|
+
|
|
|
calendar.setTime(courseSchedule.getClassDate());
|
|
|
calendar.add(Calendar.DATE, betweenDays);
|
|
|
try {
|
|
@@ -1405,9 +1418,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
continue;
|
|
|
}
|
|
|
classGroupCourseSchedulesWithDate.get(i).setClassDate(calendar.getTime());
|
|
|
+ scheduleModifyLog.setCurrentCourseSchedule(JSONObject.toJSONString(courseSchedule));
|
|
|
+ scheduleModifyLogs.add(scheduleModifyLog);
|
|
|
}
|
|
|
// checkNewCourseSchedules(classGroupCourseSchedulesWithDate,false);
|
|
|
courseScheduleDao.batchUpdate(classGroupCourseSchedulesWithDate);
|
|
|
+ courseScheduleModifyLogDao.batchInsert(scheduleModifyLogs);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -1625,6 +1641,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void classStartDateAdjust(List<CourseSchedule> newCourseSchedules) {
|
|
|
SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ if (null == sysUser) {
|
|
|
+ throw new BizException("获取用户信息失败");
|
|
|
+ }
|
|
|
List<Long> newCourseScheduleIds = newCourseSchedules.stream().map(CourseSchedule::getId).collect(Collectors.toList());
|
|
|
//获取对应未修改的课程列表
|
|
|
List<CourseSchedule> oldCourseScheduleList = courseScheduleDao.findByCourseScheduleIds(newCourseScheduleIds);
|
|
@@ -1651,8 +1670,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
Map<Long, CourseSchedule> oldCourseSchedules = new HashMap<>();
|
|
|
|
|
|
List<Integer> classGroupIds = oldCourseScheduleList.stream().map(CourseSchedule::getClassGroupId).collect(Collectors.toList());
|
|
|
- List<ClassGroup> classGroups = classGroupDao.findByClassGroupIds(classGroupIds);
|
|
|
- Map<Integer, ClassGroup> idClassGroupMap = classGroups.stream().collect(Collectors.toMap(ClassGroup::getId, classGroup -> classGroup));
|
|
|
+// List<ClassGroup> classGroups = classGroupDao.findByClassGroupIds(classGroupIds);
|
|
|
+// Map<Integer, ClassGroup> idClassGroupMap = classGroups.stream().collect(Collectors.toMap(ClassGroup::getId, classGroup -> classGroup));
|
|
|
|
|
|
SysConfig advanceLeaveHoursConfig = sysConfigService.findByParamName(SysConfigService.ENABLE_TEACHER_COURSE_ADJUST_DEFAULT_HOURS);
|
|
|
Integer advanceLeaveHours=advanceLeaveHoursConfig.getParanValue(Integer.class);
|
|
@@ -1662,9 +1681,15 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
List<Map<Integer, Integer>> classGroupStudentNumMaps = classGroupStudentMapperDao.countClassGroupsStudentNum(classGroupIds, ClassGroupStudentStatusEnum.NORMAL);
|
|
|
Map<Integer, Long> classGroupStudentNumMap = MapUtil.convertIntegerMap(classGroupStudentNumMaps);
|
|
|
|
|
|
+ //记录调整日志
|
|
|
+ List<CourseScheduleModifyLog> courseScheduleModifyLogs = new ArrayList<>(oldCourseScheduleList.size());
|
|
|
newCourseSchedules.forEach(newCourseSchedule -> {
|
|
|
-
|
|
|
+ CourseScheduleModifyLog scheduleModifyLog = new CourseScheduleModifyLog();
|
|
|
CourseSchedule oldCourseSchedule = oldCourseScheduleMap.get(newCourseSchedule.getId()).get(0);
|
|
|
+ scheduleModifyLog.setPreviousCourseSchedule(JSONObject.toJSONString(oldCourseSchedule));
|
|
|
+ scheduleModifyLog.setCreateTime(now);
|
|
|
+ scheduleModifyLog.setCourseScheduleId(oldCourseSchedule.getId());
|
|
|
+ scheduleModifyLog.setOperatorId(sysUser.getId());
|
|
|
|
|
|
if (!sysUser.getUserType().contains("SYSTEM") && sysUser.getUserType().contains("TEACHER")) {
|
|
|
Long normalStudentNum = classGroupStudentNumMap.get(oldCourseSchedule.getClassGroupId());
|
|
@@ -1826,6 +1851,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
|
|
|
oldCourseSchedule.setActualTeacherId(newCourseSchedule.getActualTeacherId());
|
|
|
courseScheduleDao.update(oldCourseSchedule);
|
|
|
+ scheduleModifyLog.setCurrentCourseSchedule(JSONObject.toJSONString(oldCourseSchedule));
|
|
|
+ courseScheduleModifyLogs.add(scheduleModifyLog);
|
|
|
//删除被修改的教师课酬记录和考勤记录
|
|
|
if (!CollectionUtils.isEmpty(beReplaceTeacherIds)) {
|
|
|
// courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalary(newCourseSchedule.getId().intValue(),beReplaceTeacherIds);
|
|
@@ -1848,7 +1875,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
vipGroupService.checkVipCourseIsInScore(Long.valueOf(oldCourseScheduleList.get(0).getMusicGroupId()));
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ courseScheduleModifyLogDao.batchInsert(courseScheduleModifyLogs);
|
|
|
// if(oldCourseScheduleList.get(0).getGroupType().equals(GroupType.VIP)){
|
|
|
// courseScheduleStudentPaymentService.updateVipGiveCourse(Long.valueOf(oldCourseScheduleList.get(0).getMusicGroupId()));
|
|
|
// }
|