| 
					
				 | 
			
			
				@@ -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())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //        } 
			 |