| 
					
				 | 
			
			
				@@ -168,12 +168,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public List<Date> getCourseScheduleDateByTeacher(Date month) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public List<Date> getCourseScheduleDateByTeacher(Date month,String type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		SysUser user = sysUserFeignService.queryUserInfo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(null==user){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			throw new BizException("获取用户信息失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return courseScheduleDao.getTeacherCourseScheduleDate(user.getId().longValue(),month); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return courseScheduleDao.getTeacherCourseScheduleDate(user.getId().longValue(),month,type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -190,14 +190,15 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(Objects.isNull(classDate)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			throw new BizException("请选择上课日期!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		SysUser user = sysUserFeignService.queryUserInfo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(null==user){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			throw new BizException("请登录"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		SysConfig vip_appeal_days_range = sysConfigDao.findByParamName("vip_appeal_days_range"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Map<String,Object> result=new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		SysConfig advance_leave_hours = sysConfigDao.findByParamName("advance_leave_hours"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Map<String,Object> result=new HashMap<>(3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		result.put("vipAppealDaysRange",vip_appeal_days_range.getParanValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		result.put("advanceLeaveHours",Integer.parseInt(advance_leave_hours.getParanValue())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		result.put("list",courseScheduleDao.getStudentCourseSchedulesWithDate(classDate,user.getId().longValue())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -233,11 +234,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public List<CourseScheduleDto> getTeacherCourseSchedulesWithDate(Integer userId,Date classDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public List<CourseScheduleDto> getTeacherCourseSchedulesWithDate(Integer userId,Date classDate,String type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(Objects.isNull(classDate)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			throw new BizException("请选择上课日期!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<CourseScheduleDto> teacherCourseSchedulesWithDate = courseScheduleDao.getTeacherCourseSchedulesWithDate(classDate, userId.longValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<CourseScheduleDto> teacherCourseSchedulesWithDate = courseScheduleDao.getTeacherCourseSchedulesWithDate(classDate, userId.longValue(),type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		teacherCourseSchedulesWithDate.forEach(courseScheduleDto -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if(Objects.nonNull(courseScheduleDto.getClassGroupId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(courseScheduleDto.getClassGroupId().longValue()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -331,6 +332,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			throw new BizException("课程信息错误"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Date now=new Date(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//明天日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Date tomorrow = DateUtil.addDays1(now, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		//需要生成课程课酬的课程计划 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<CourseSchedule> needCreateCourseScheduleTeacherSalaryCourse=new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -340,8 +345,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		Map<Long, CourseSchedule> oldCourseSchedules = oldCourseScheduleList.stream().collect(Collectors.toMap(CourseSchedule::getId,courseSchedule -> courseSchedule)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		newCourseSchedules.forEach(newCourseSchedule -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(newCourseSchedule.getStartClassTime().before(tomorrow)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			    throw new BizException("调整时间必须为明天以后"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			CourseSchedule oldCourseSchedule = oldCourseSchedules.get(newCourseSchedule.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(oldCourseSchedule.getStartClassTime().before(tomorrow)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                throw new BizException("不能调整今天及以前的课程"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			ArrayList<Date> dates = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			dates.add(newCourseSchedule.getClassDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			List<CourseSchedule> coursesByDates = courseScheduleDao.findOverLapCoursesInDay(dates,newCourseSchedule.getStartClassTime(),newCourseSchedule.getEndClassTime()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -350,7 +364,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				courseScheduleDao.update(newCourseSchedule); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				coursesByDates.forEach(courseSchedule -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					if(courseSchedule.getTeacherId().equals(newCourseSchedule.getTeacherId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if(courseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						//存在时间重叠,需要前端重新调整 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						throw new BizException("所选教师在当天课程安排上存在重叠!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -367,7 +381,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			List<Integer> beReplaceTeacherIds=new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if(oldCourseSchedule.getType()== CourseSchedule.CourseScheduleType.VIP){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				if(Objects.isNull(oldCourseSchedule.getActualTeacherId())||!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(Objects.isNull(oldCourseSchedule.getActualTeacherId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						||(!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						&&Objects.nonNull(newCourseSchedule.getActualTeacherId()))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					VipGroup byCourseSchedule = vipGroupDao.findByCourseSchedule(newCourseSchedule.getId().intValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					TeacherDefaultVipGroupSalary byTeacherAndCategory = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(newCourseSchedule.getActualTeacherId(), byCourseSchedule.getVipGroupCategoryId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					List<CourseSchedule> courseSchedules=new ArrayList<>(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -381,7 +397,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				if(Objects.isNull(oldCourseSchedule.getActualTeacherId())||!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(Objects.isNull(oldCourseSchedule.getActualTeacherId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						||!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					if(Objects.nonNull(oldCourseSchedule.getActualTeacherId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -426,7 +443,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		//生成修改后的教师课酬 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		classGroupTeacherMapperService.createCourseScheduleTeacherSalary(needCreateCourseScheduleTeacherSalaryCourse); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(!CollectionUtils.isEmpty(needCreateCourseScheduleTeacherSalaryCourse)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			classGroupTeacherMapperService.createCourseScheduleTeacherSalary(needCreateCourseScheduleTeacherSalaryCourse); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Transactional(rollbackFor = Exception.class) 
			 |