|
@@ -133,6 +133,8 @@ public class ImportLogicServiceImpl implements ImportLogicService {
|
|
boolean needPaperNumber = (basicSchool.getHasPaperNumber() != null && basicSchool.getHasPaperNumber()) || ExamModelEnum.MODEL4.equals(basicExam.getExamModel());
|
|
boolean needPaperNumber = (basicSchool.getHasPaperNumber() != null && basicSchool.getHasPaperNumber()) || ExamModelEnum.MODEL4.equals(basicExam.getExamModel());
|
|
// 试卷编号->课程
|
|
// 试卷编号->课程
|
|
Map<String, Long> paperNumberCourseIdMap = new HashMap<>();
|
|
Map<String, Long> paperNumberCourseIdMap = new HashMap<>();
|
|
|
|
+ // 课程+教学班->任课老师
|
|
|
|
+ Map<String, Long> courseTeachClassTeacherMap = new HashMap<>();
|
|
Map<String, Long> basicCourseIdMap = new HashMap<>();
|
|
Map<String, Long> basicCourseIdMap = new HashMap<>();
|
|
// 课程学号唯一
|
|
// 课程学号唯一
|
|
List<String> courseCodeStudentCodeList = new ArrayList<>();
|
|
List<String> courseCodeStudentCodeList = new ArrayList<>();
|
|
@@ -218,6 +220,17 @@ public class ImportLogicServiceImpl implements ImportLogicService {
|
|
basicExamStudent.setTeacherId(sysUser.getId());
|
|
basicExamStudent.setTeacherId(sysUser.getId());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // 校验同课程下,同一教学班只能有一个任课老师
|
|
|
|
+ String courseTeachClassTeacherKey = basicExamStudent.getCourseId() + basicExamStudent.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()))) {
|
|
|
|
+ stringJoiner.add("同课程下相同教学班,只能有一位任课老师");
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ courseTeachClassTeacherMap.put(courseTeachClassTeacherKey, basicExamStudent.getTeacherId());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
// 校验课程+学号唯一
|
|
// 校验课程+学号唯一
|
|
@@ -334,6 +347,8 @@ public class ImportLogicServiceImpl implements ImportLogicService {
|
|
|
|
|
|
// 课程学号唯一
|
|
// 课程学号唯一
|
|
List<String> courseCodeStudentCodeList = new ArrayList<>();
|
|
List<String> courseCodeStudentCodeList = new ArrayList<>();
|
|
|
|
+ // 课程+教学班->任课老师
|
|
|
|
+ Map<String, Long> courseTeachClassTeacherMap = new HashMap<>();
|
|
// 是否有错误提示
|
|
// 是否有错误提示
|
|
boolean hasError = false;
|
|
boolean hasError = false;
|
|
|
|
|
|
@@ -434,6 +449,17 @@ public class ImportLogicServiceImpl implements ImportLogicService {
|
|
basicExamStudent.setTeacherId(sysUser.getId());
|
|
basicExamStudent.setTeacherId(sysUser.getId());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // 校验同课程下,同一教学班只能有一个任课老师
|
|
|
|
+ String courseTeachClassTeacherKey = basicExamStudent.getCourseId() + basicExamStudent.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()))) {
|
|
|
|
+ stringJoiner.add("同课程下相同教学班,只能有一位任课老师");
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ courseTeachClassTeacherMap.put(courseTeachClassTeacherKey, basicExamStudent.getTeacherId());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
if (basicExamStudent.getCourseId() != null) {
|
|
if (basicExamStudent.getCourseId() != null) {
|
|
@@ -1082,11 +1108,13 @@ public class ImportLogicServiceImpl implements ImportLogicService {
|
|
|
|
|
|
// 课程学号唯一
|
|
// 课程学号唯一
|
|
List<String> courseCodeStudentCodeList = new ArrayList<>();
|
|
List<String> courseCodeStudentCodeList = new ArrayList<>();
|
|
|
|
+ // 课程+教学班->任课老师
|
|
|
|
+ Map<String, Long> courseTeachClassTeacherMap = new HashMap<>();
|
|
// 是否有错误提示
|
|
// 是否有错误提示
|
|
boolean hasError = false;
|
|
boolean hasError = false;
|
|
|
|
|
|
- // 必填字段为课程代码、开课学院、学号、任课老师工号、任课老师
|
|
|
|
- List<String> requiredCodes = Arrays.asList(RequiredFieldsEnum.STUDENT_CODE.getCode(), RequiredFieldsEnum.COURSE_CODE.getCode(), RequiredFieldsEnum.TEACHING_ROOM_NAME.getCode(), RequiredFieldsEnum.TEACHER_NAME.getCode(), RequiredFieldsEnum.TEACHER_CODE.getCode());
|
|
|
|
|
|
+ // 必填字段为课程代码、开课学院、学号、教学班、任课老师工号、任课老师
|
|
|
|
+ List<String> requiredCodes = Arrays.asList(RequiredFieldsEnum.STUDENT_CODE.getCode(), RequiredFieldsEnum.COURSE_CODE.getCode(), RequiredFieldsEnum.TEACHING_ROOM_NAME.getCode(), RequiredFieldsEnum.TEACH_CLASS_NAME.getCode(), RequiredFieldsEnum.TEACHER_NAME.getCode(), RequiredFieldsEnum.TEACHER_CODE.getCode());
|
|
|
|
|
|
List<BasicExamStudent> basicExamStudents = new ArrayList<>();
|
|
List<BasicExamStudent> basicExamStudents = new ArrayList<>();
|
|
for (BasicExamStudentImport basicExamStudentImport : basicExamStudentImportList) {
|
|
for (BasicExamStudentImport basicExamStudentImport : basicExamStudentImportList) {
|
|
@@ -1136,6 +1164,17 @@ public class ImportLogicServiceImpl implements ImportLogicService {
|
|
}
|
|
}
|
|
|
|
|
|
if (basicExamStudent.getCourseId() != null) {
|
|
if (basicExamStudent.getCourseId() != null) {
|
|
|
|
+ // 校验同课程下,同一教学班只能有一个任课老师
|
|
|
|
+ String courseTeachClassTeacherKey = basicExamStudent.getCourseId() + basicExamStudent.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()))) {
|
|
|
|
+ stringJoiner.add("同课程下相同教学班,只能有一位任课老师");
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ courseTeachClassTeacherMap.put(courseTeachClassTeacherKey, basicExamStudent.getTeacherId());
|
|
|
|
+ }
|
|
|
|
+
|
|
String studentKey = basicExamStudent.getCourseId() + SystemConstant.HYPHEN + basicExamStudentImport.getStudentCode();
|
|
String studentKey = basicExamStudent.getCourseId() + SystemConstant.HYPHEN + basicExamStudentImport.getStudentCode();
|
|
if (courseIdStudentCodeMap.containsKey(studentKey)) {
|
|
if (courseIdStudentCodeMap.containsKey(studentKey)) {
|
|
BasicExamStudent student = courseIdStudentCodeMap.get(studentKey);
|
|
BasicExamStudent student = courseIdStudentCodeMap.get(studentKey);
|