瀏覽代碼

fix 班级课程调整

周箭河 5 年之前
父節點
當前提交
79cacbb41c
共有 1 個文件被更改,包括 18 次插入4 次删除
  1. 18 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

+ 18 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1239,10 +1239,24 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         String subjectNames = subjectList.stream().map(subject -> subject.getName()).collect(Collectors.joining("/"));
 
         //1、更新班级关联老师信息
-        List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroup4MixDto.getClassGroupTeacherMapperList();
+        List<ClassGroupTeacherMapper> newClassGroupTeacherMapperList = classGroup4MixDto.getClassGroupTeacherMapperList();
+
+        Set<String> newTeacher = newClassGroupTeacherMapperList.stream().map(
+                classGroupTeacherMapper -> classGroupTeacherMapper.getTeacherRole().getCode() + classGroupTeacherMapper.getUserId()
+        ).collect(Collectors.toSet());
+
+        List<ClassGroupTeacherMapper> oldClassGroupTeacherMapperList = classGroupTeacherMapperDao.findClassGroupTeachers(classGroup.getId().toString());
+
+        Set<String> oldTeacher = oldClassGroupTeacherMapperList.stream().map(
+                classGroupTeacherMapper -> classGroupTeacherMapper.getTeacherRole().getCode() + classGroupTeacherMapper.getUserId()
+        ).collect(Collectors.toSet());
+
+        if (oldTeacher.size() != newTeacher.size() || !newTeacher.containsAll(oldTeacher)) {
+            classGroupTeacherMapperService.classGroupTeachersInsert(newClassGroupTeacherMapperList);
+        }
 
         Integer teacherId = null;
-        for (ClassGroupTeacherMapper groupTeacherMapper : classGroupTeacherMapperList) {
+        for (ClassGroupTeacherMapper groupTeacherMapper : newClassGroupTeacherMapperList) {
             if (groupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP)) {
                 teacherId = groupTeacherMapper.getUserId();
                 break;
@@ -1250,7 +1264,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         }
 
         //2、获取班级学生
-        List<StudentRegistration> studentList = studentRegistrationService.findClassGroupStu(musicGroup.getId(), classGroup.getId());
+        List<StudentRegistration> studentList = classGroupStudentMapperDao.findClassStudentList(classGroup.getId(), ClassGroupStudentStatusEnum.NORMAL);
 
         //3、插入班级排课信息
         LocalDateTime now = LocalDate.parse(classGroup4MixDto.getStartDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay();
@@ -1311,7 +1325,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 courseScheduleList.add(courseSchedule);
                 times++;
 
-                for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
+                for (ClassGroupTeacherMapper classGroupTeacherMapper : newClassGroupTeacherMapperList) {
                     List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), "SINGLE", musicGroup.getSettlementType());
                     BigDecimal salary = new BigDecimal("0");