| 
					
				 | 
			
			
				@@ -2904,8 +2904,15 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				oldCourses.get(i).setEndClassTime(DateUtil.stringToDate(courseEndTimeStr, "yyyy-MM-dd HH:mm")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(Objects.nonNull(courseAdjustInfo.getSchoolId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				oldCourses.get(i).setSchoolId(courseAdjustInfo.getSchoolId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if(Objects.nonNull(courseAdjustInfo.getTeachMode())&&!courseAdjustInfo.getTeachMode().equals(oldCourses.get(i).getTeachMode())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				oldCourses.get(i).setTeachMode(courseAdjustInfo.getTeachMode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(TeachModeEnum.ONLINE.equals(courseAdjustInfo.getTeachMode())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					oldCourses.get(i).setSchoolId(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				if(VIP.equals(oldCourses.get(i).getGroupType())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					changeSalaryTeachTypes.add(TeachTypeEnum.BISHOP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					courseScheduleTeacherSalaryDao.deleteWithCourseAndTeachRole(Arrays.asList(oldCourses.get(i).getId()), TeachTypeEnum.BISHOP); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2956,9 +2963,49 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (!courseAdjustInfo.getConfirmGenerate()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<CourseScheduleTeacherSalary> cstss = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseAdjustInfo.getCourseScheduleIds()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Map<Long, Set<Integer>> courseTeachTypeTeacherIdsMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(!CollectionUtils.isEmpty(cstss)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				courseTeachTypeTeacherIdsMap = cstss.stream().filter(c->TeachTypeEnum.TEACHING.equals(c.getTeacherRole())).collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId, Collectors.mapping(CourseScheduleTeacherSalary::getUserId, Collectors.toSet()))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Set<Integer> allTeacherIds = cstss.stream().map(CourseScheduleTeacherSalary::getUserId).collect(Collectors.toSet()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<SimpleUserDto> teachers = teacherDao.getUsersSimpleInfo(new ArrayList<>(allTeacherIds)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Map<Integer, String> idNameMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(CollectionUtils.isEmpty(teachers)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				idNameMap = teachers.stream().collect(Collectors.toMap(SimpleUserDto::getUserId, s->s.getRealName(), (s1, s2)->s1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//获取班级声部名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<Map<Integer, String>> classGroupSubjectNameMaps = classGroupDao.findClassGroupSubjectNameMaps(courseAdjustInfo.getCourseScheduleIds()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Map<Integer, String> classGroupSubjectNameMap = MapUtil.convertIntegerMap(classGroupSubjectNameMaps); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<Integer> schoolIds = oldCourses.stream().filter(o -> Objects.nonNull(o.getSchoolId())).map(CourseSchedule::getSchoolId).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<School> schools = schoolDao.getSchools(schoolIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Map<Integer, String> idSchoolNameMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(!CollectionUtils.isEmpty(schools)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				idSchoolNameMap = schools.stream().collect(Collectors.toMap(School::getId, s->s.getName(), (s1, s2)->s1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<CourseScheduleEndDto> results = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			for (CourseSchedule oldCours : oldCourses) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				CourseScheduleEndDto courseEnd = new CourseScheduleEndDto(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				BeanUtils.copyProperties(oldCours, courseEnd); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				courseEnd.setTeacherName(idNameMap.get(oldCours.getId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(courseTeachTypeTeacherIdsMap.containsKey(oldCours.getId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					Set<Integer> teacherIds = courseTeachTypeTeacherIdsMap.get(oldCours.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					Set<String> teacherNames = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					for (Integer teacherId : teacherIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						teacherNames.add(idNameMap.get(teacherId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					courseEnd.setTeachingTeacherNames(StringUtils.join(teacherNames, ",")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				courseEnd.setSubjectName(classGroupSubjectNameMap.get(oldCours.getId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				courseEnd.setSchoolName(idSchoolNameMap.get(oldCours.getSchoolId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				results.add(courseEnd); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			oldCourses.sort(Comparator.comparing(CourseSchedule::getStartClassTime)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			return BaseController.failed(HttpStatus.PARTIAL_CONTENT, oldCourses, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return BaseController.failed(HttpStatus.PARTIAL_CONTENT, results, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		courseScheduleDao.batchUpdate(oldCourses); 
			 |