|  | @@ -4422,6 +4422,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |                  idPracticeMap = practiceGroups.stream().collect(Collectors.toMap(PracticeGroup::getId, e->e));
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +			Set<Long> mergeCourseIds = results.stream().filter(e -> Objects.nonNull(e.getNewCourseId())).map(e -> e.getNewCourseId()).collect(Collectors.toSet());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  			//获取班级声部名称
 | 
	
		
			
				|  |  |              List<Map<Integer, String>> classGroupSubjectNameMaps = classGroupDao.findClassGroupSubjectNameMaps(courseScheduleIds);
 | 
	
		
			
				|  |  |              Map<Integer, String> classGroupSubjectNameMap = MapUtil.convertIntegerMap(classGroupSubjectNameMaps);
 | 
	
	
		
			
				|  | @@ -5265,6 +5267,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |  			if(Objects.isNull(courseMergeInfo.getClassGroupId())&&courseMergeInfo.getId().equals(courseSchedule.getId())){
 | 
	
		
			
				|  |  |  				courseMergeInfo.setClassGroupId(courseSchedule.getClassGroupId());
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | +			courseSchedule.setNote("课程合并");
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findByCourseScheduleIds(allCourseIds);
 | 
	
		
			
				|  |  |  //		Map<Long, Set<Integer>> courseStudentIdsMap = courseScheduleStudentPayments.stream().collect(Collectors.groupingBy(CourseScheduleStudentPayment::getCourseScheduleId, Collectors.mapping(CourseScheduleStudentPayment::getUserId, Collectors.toSet())));
 | 
	
	
		
			
				|  | @@ -5278,14 +5281,35 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |  		courseSchedules.add(courseMergeInfo);
 | 
	
		
			
				|  |  |  		courseAdjust(courseSchedules);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +		List<CourseScheduleModifyLog> insertCourseScheduleModifyLogList = new ArrayList<>();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  		List<CourseSchedule> mergeCourses = allCourses.stream().filter(c->courseMergeInfo.getMergeCourseIds().contains(c.getId())).collect(Collectors.toList());
 | 
	
		
			
				|  |  |  		for (CourseSchedule courseSchedule : mergeCourses) {
 | 
	
		
			
				|  |  | +			CourseScheduleModifyLog courseScheduleModifyLog = new CourseScheduleModifyLog();
 | 
	
		
			
				|  |  | +			courseScheduleModifyLog.setCourseScheduleId(courseSchedule.getId());
 | 
	
		
			
				|  |  | +			courseScheduleModifyLog.setCreateTime(now);
 | 
	
		
			
				|  |  | +			courseScheduleModifyLog.setPreviousCourseSchedule(JsonUtil.toJSONString(courseSchedule));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			//课程信息变更
 | 
	
		
			
				|  |  |  			courseSchedule.setNewCourseId(courseMergeInfo.getId());
 | 
	
		
			
				|  |  | +			courseSchedule.setClassDate(courseMergeInfo.getClassDate());
 | 
	
		
			
				|  |  | +			courseSchedule.setStartClassTime(courseMergeInfo.getStartClassTime());
 | 
	
		
			
				|  |  | +			courseSchedule.setEndClassTime(courseMergeInfo.getEndClassTime());
 | 
	
		
			
				|  |  | +			courseSchedule.setActualTeacherId(courseMergeInfo.getActualTeacherId());
 | 
	
		
			
				|  |  | +			courseSchedule.setSchoolId(courseMergeInfo.getSchoolId());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			courseScheduleModifyLog.setCurrentCourseSchedule(JsonUtil.toJSONString(courseSchedule));
 | 
	
		
			
				|  |  | +			courseScheduleModifyLog.setOperatorId(courseMergeInfo.getOperatorId());
 | 
	
		
			
				|  |  | +			insertCourseScheduleModifyLogList.add(courseScheduleModifyLog);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		courseScheduleDao.batchUpdate(mergeCourses);
 | 
	
		
			
				|  |  |  		for (CourseScheduleStudentPayment courseScheduleStudentPayment : courseScheduleStudentPayments) {
 | 
	
		
			
				|  |  |  			courseScheduleStudentPayment.setCourseScheduleId(courseMergeInfo.getId());
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		courseScheduleStudentPaymentDao.batchUpdate(courseScheduleStudentPayments);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		if (insertCourseScheduleModifyLogList.size() > 0) {
 | 
	
		
			
				|  |  | +			courseScheduleModifyLogDao.batchInsert(insertCourseScheduleModifyLogList);
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  }
 |