Procházet zdrojové kódy

3.4.6 20250627 数据同步默认截取第一个任课老师

xiaofei před 18 hodinami
rodič
revize
b121cbb7d9

+ 24 - 18
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicExamStudentServiceImpl.java

@@ -767,28 +767,34 @@ public class BasicExamStudentServiceImpl extends ServiceImpl<BasicExamStudentMap
 
                 // 校验任课老师工号和姓名
                 if (StringUtils.isNoneBlank(tSyncDataStudent.getTeacherCode(), tSyncDataStudent.getTeacherName())) {
-                    SysUser sysUser = sysUserService.getByLoginName(schoolId, tSyncDataStudent.getTeacherCode());
-                    if (sysUser == null) {
-                        throw ExceptionResultEnum.ERROR.exception("任课老师工号[" + tSyncDataStudent.getTeacherCode() + "]用户不存在");
-                    } else {
-                        if (!sysUser.getEnable()) {
-                            throw ExceptionResultEnum.ERROR.exception("任课老师工号[" + tSyncDataStudent.getTeacherCode() + "]用户已禁用");
-                        } else if (!sysUser.getRealName().equals(tSyncDataStudent.getTeacherName())) {
-                            throw ExceptionResultEnum.ERROR.exception("任课老师[" + tSyncDataStudent.getTeacherName() + "]与用户管理中姓名[" + sysUser.getRealName() + "]不一致");
+                    String[] teacherCodes = tSyncDataStudent.getTeacherCode().split(SystemConstant.COMMA);
+                    String[] teacherNames = tSyncDataStudent.getTeacherName().split(SystemConstant.COMMA);
+                    if (teacherCodes.length > 0 && teacherNames.length > 0) {
+                        String teacherCode = teacherCodes[0];
+                        String teacherName = teacherNames[0];
+                        SysUser sysUser = sysUserService.getByLoginName(schoolId, teacherCode);
+                        if (sysUser == null) {
+                            throw ExceptionResultEnum.ERROR.exception("任课老师工号[" + teacherCode + "]用户不存在");
                         } else {
-                            basicExamStudent.setTeacherId(sysUser.getId());
+                            if (!sysUser.getEnable()) {
+                                throw ExceptionResultEnum.ERROR.exception("任课老师工号[" + teacherCode + "]用户已禁用");
+                            } else if (!sysUser.getRealName().equals(teacherName)) {
+                                throw ExceptionResultEnum.ERROR.exception("任课老师[" + teacherName + "]与用户管理中姓名[" + sysUser.getRealName() + "]不一致");
+                            } else {
+                                basicExamStudent.setTeacherId(sysUser.getId());
+                            }
                         }
-                    }
 
-                    // 校验同课程下,同一教学班只能有一个任课老师
-                    String courseTeachClassTeacherKey = basicExamStudent.getCourseId() + tSyncDataStudent.getTeachClassName();
-                    if (courseTeachClassTeacherMap.containsKey(courseTeachClassTeacherKey)) {
-                        Long teacherId = courseTeachClassTeacherMap.get(courseTeachClassTeacherKey);
-                        if ((teacherId == null && basicExamStudent.getTeacherId() != null) || (teacherId != null && basicExamStudent.getTeacherId() == null) || (teacherId != null && !teacherId.equals(basicExamStudent.getTeacherId()))) {
-                            throw ExceptionResultEnum.ERROR.exception("同课程同教学班,只允许设置一个任课老师");
+                        // 校验同课程下,同一教学班只能有一个任课老师
+                        String courseTeachClassTeacherKey = basicExamStudent.getCourseId() + tSyncDataStudent.getTeachClassName();
+                        if (courseTeachClassTeacherMap.containsKey(courseTeachClassTeacherKey)) {
+                            Long teacherId = courseTeachClassTeacherMap.get(courseTeachClassTeacherKey);
+                            if ((teacherId == null && basicExamStudent.getTeacherId() != null) || (teacherId != null && basicExamStudent.getTeacherId() == null) || (teacherId != null && !teacherId.equals(basicExamStudent.getTeacherId()))) {
+                                throw ExceptionResultEnum.ERROR.exception("同课程同教学班,只允许设置一个任课老师");
+                            }
+                        } else {
+                            courseTeachClassTeacherMap.put(courseTeachClassTeacherKey, basicExamStudent.getTeacherId());
                         }
-                    } else {
-                        courseTeachClassTeacherMap.put(courseTeachClassTeacherKey, basicExamStudent.getTeacherId());
                     }
                 }
                 parserRequiredField(basicExamStudent, basicExamRule);