zouxuan 5 years ago
parent
commit
65c6e5122c

+ 5 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -2465,8 +2465,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 			List<Integer> oldTeacherIdList = teacherAttendanceList.stream().map(TeacherAttendance::getTeacherId).distinct().collect(Collectors.toList());
 
-			List<Integer> newTeacherIdList = newCourseSchedule.getTeachingTeacherIdList();
+			Set<Integer> newTeacherIdList = new HashSet(newCourseSchedule.getTeachingTeacherIdList());
 			newTeacherIdList.add(newCourseSchedule.getActualTeacherId());
+			List<Integer> integerArrayList = new ArrayList<>(newTeacherIdList);
 
 			if (newCourseSchedule.getStatus() != CourseStatusEnum.OVER) {
 				// 清理原来考勤
@@ -2527,7 +2528,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			int newMinutes = DateUtil.minutesBetween(newCourseSchedule.getStartClassTime(), newCourseSchedule.getEndClassTime());
 
 			// 如果修改了老师、课程类型、课程时长、教学模式,需要修改课酬
-			if (!ListUtil.isEquals(oldTeacherIdList, newTeacherIdList) || newCourseSchedule.getType() != oldCourseSchedule.getType()
+			if (!ListUtil.isEquals(oldTeacherIdList, integerArrayList) || newCourseSchedule.getType() != oldCourseSchedule.getType()
 					|| newCourseSchedule.getTeachMode() != oldCourseSchedule.getTeachMode() || oldMinutes != newMinutes) {
 
 				Map<Integer, Teacher> teacherMap = null;
@@ -2535,11 +2536,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 				if (newCourseSchedule.getGroupType() == GroupType.MUSIC) {
 					// 所有教师列表
-					List<Teacher> teachers = teacherDao.findByTeacherIds(newTeacherIdList);
+					List<Teacher> teachers = teacherDao.findByTeacherIds(integerArrayList);
 					teacherMap = teachers.stream().collect(Collectors.toMap(Teacher::getId, teacher -> teacher));
 
 					// 所有老师默认乐团课酬
-					List<TeacherDefaultMusicGroupSalary> teacherDefaultMusicGroupSalaries = teacherDefaultMusicGroupSalaryDao.findByTeacher(newTeacherIdList);
+					List<TeacherDefaultMusicGroupSalary> teacherDefaultMusicGroupSalaries = teacherDefaultMusicGroupSalaryDao.findByTeacher(integerArrayList);
 					for (TeacherDefaultMusicGroupSalary tdms : teacherDefaultMusicGroupSalaries) {
 						Map<CourseScheduleType, TeacherDefaultMusicGroupSalary> map = musicGroupSalaryMap.get(tdms.getUserId());
 						if (map == null) {