xiaofei 11 mēneši atpakaļ
vecāks
revīzija
ef0c2aaeb1

+ 19 - 18
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/ImportLogicServiceImpl.java

@@ -343,7 +343,7 @@ public class ImportLogicServiceImpl implements ImportLogicService {
         }
 
         List<BasicExamStudent> basicExamStudentList = basicExamStudentService.list(new QueryWrapper<BasicExamStudent>().lambda()
-                .select(BasicExamStudent::getId, BasicExamStudent::getCourseId, BasicExamStudent::getStudentCode, BasicExamStudent::getPaperNumber, BasicExamStudent::getTeachClassName, BasicExamStudent::getTeacherId)
+                .select(BasicExamStudent::getId, BasicExamStudent::getCourseId, BasicExamStudent::getStudentCode, BasicExamStudent::getPaperNumber, BasicExamStudent::getTeachClassName, BasicExamStudent::getTeacherId, BasicExamStudent::getRequiredFields)
                 .eq(BasicExamStudent::getSchoolId, schoolId).eq(BasicExamStudent::getExamId, examId));
         Map<String, BasicExamStudent> courseIdStudentCodeMap = basicExamStudentList.stream().collect(Collectors.toMap(k -> k.getCourseId() + SystemConstant.HYPHEN + k.getStudentCode(), e -> e));
 
@@ -429,8 +429,9 @@ public class ImportLogicServiceImpl implements ImportLogicService {
                         basicExamStudent.setId(student.getId());
                         basicExamStudent.setPaperNumber(student.getPaperNumber());
                         basicExamStudent.setPaperType(student.getPaperType());
+                        List<CodeNameEnableValue> requiredFieldList = StringUtils.isNotBlank(student.getRequiredFields()) ? JSON.parseArray(student.getRequiredFields(), CodeNameEnableValue.class) : Collections.emptyList();
                         // 更新requiredFields中的任课老师和任课老师工号
-                        for (CodeNameEnableValue codeNameEnableValue : student.getRequiredFieldList()) {
+                        for (CodeNameEnableValue codeNameEnableValue : requiredFieldList) {
                             if (codeNameEnableValue.getCode().equals(RequiredFieldsEnum.TEACHER_CODE.getCode())) {
                                 codeNameEnableValue.setValue(basicExamStudentImport.getTeacherCode());
                             }
@@ -438,7 +439,7 @@ public class ImportLogicServiceImpl implements ImportLogicService {
                                 codeNameEnableValue.setValue(basicExamStudentImport.getTeacherName());
                             }
                         }
-                        basicExamStudent.setRequiredFields(JSON.toJSONString(student.getRequiredFieldList()));
+                        basicExamStudent.setRequiredFields(JSON.toJSONString(requiredFieldList));
                     } else {
                         stringJoiner.add(String.format("课程代码[%s],开课学院[%s],学号[%s]考生管理中不存在", basicExamStudentImport.getCourseCode(), basicExamStudentImport.getTeachingRoomName(), basicExamStudentImport.getStudentCode()));
                     }
@@ -952,20 +953,20 @@ public class ImportLogicServiceImpl implements ImportLogicService {
             // 4.判断答案是否符合题型
             if (questionType != null && SystemConstant.strNotNull(answer)) {
                 switch (questionType) {
-                case 1:
-                    if (answer.length() > 1) {
-                        logicErrorList.add("单选题答案只能有一个");
-                    }
-                    break;
-                case 2:
-                    break;
-                case 3:
-                    if (optionCount != 2) {
-                        logicErrorList.add("判断题[选项个数]只能为2");
-                    }
-                    break;
-                default:
-                    logicErrorList.add("[题型(1-单选,2-多选,3-判断)]必须从1、2、3中填写");
+                    case 1:
+                        if (answer.length() > 1) {
+                            logicErrorList.add("单选题答案只能有一个");
+                        }
+                        break;
+                    case 2:
+                        break;
+                    case 3:
+                        if (optionCount != 2) {
+                            logicErrorList.add("判断题[选项个数]只能为2");
+                        }
+                        break;
+                    default:
+                        logicErrorList.add("[题型(1-单选,2-多选,3-判断)]必须从1、2、3中填写");
                 }
             }
 
@@ -1233,7 +1234,7 @@ public class ImportLogicServiceImpl implements ImportLogicService {
                                     userSaveParams.setPassword(SystemConstant.DEFAULT_PASSWORD);
                                     userSaveParams.setOrgId(orgId);
                                     userSaveParams.setEnable(true);
-                                    userSaveParams.setRoleIds(new Long[] { markerRole.getId() });
+                                    userSaveParams.setRoleIds(new Long[]{markerRole.getId()});
                                     try {
                                         markUser.setUserId(sysUserService.saveUser(userSaveParams));
                                         markUser.setName(markerCode);

+ 1 - 1
distributed-print-business/src/main/resources/mapper/ExamDetailMapper.xml

@@ -790,7 +790,7 @@
                               mark_paper mp
                           WHERE
                               ed.exam_id = mp.exam_id
-                            AND edc.paper_number = mp.paper_number)
+                            AND edc.paper_number = mp.paper_number AND mp.student_count > 0)
         GROUP BY ed.school_id , be.semester_id, ed.exam_id , edc.course_id , edc.paper_number , et.id , edc.paper_type , et.user_id
     </select>
     <select id="countMakeupUsedByExamIdAndPaperNumber" resultType="java.lang.Integer">

+ 4 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java

@@ -307,6 +307,10 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
                 String courseName = basicCourseImportDto.getCourseName();
                 String courseCode = basicCourseImportDto.getCourseCode();
                 String teachingRoomName = basicCourseImportDto.getTeachingRoomName();
+                // 所有字段为空,跳过
+                if(StringUtils.isAllBlank(courseCode, courseName, teachingRoomName)){
+                    continue;
+                }
                 if (StringUtils.isBlank(courseName) || StringUtils.isBlank(courseCode) || StringUtils.isBlank(teachingRoomName)) {
                     throw ExceptionResultEnum.ERROR.exception("课程名称、课程代码、开课学院不能为空");
                 }

+ 25 - 9
teachcloud-common/src/main/java/com/qmth/teachcloud/common/util/DateDisposeUtils.java

@@ -126,29 +126,45 @@ public class DateDisposeUtils extends DateUtils {
         try {
             DateTime dateTime = null;
             try {
-                dateTime = DateUtil.parse(str.toString(), "yyyy.MM/dd HH:mm");
-            } catch (Exception e) {
-            }
-            try {
-                dateTime = DateUtil.parse(str.toString(), "yyyy.MM.dd HH:mm");
+                dateTime = DateUtil.parse(str.toString(), "yyyy-MM-dd HH:mm");
+                if (dateTime != null) {
+                    return dateTime;
+                }
             } catch (Exception e) {
             }
             try {
-                dateTime = DateUtil.parse(str.toString(), "yyyy/MM.dd HH:mm");
+                dateTime = DateUtil.parse(str.toString(), "yyyy/MM/dd HH:mm");
+                if (dateTime != null) {
+                    return dateTime;
+                }
             } catch (Exception e) {
             }
             try {
-                dateTime = DateUtil.parse(str.toString(), "yyyy/MM/dd HH:mm");
+                dateTime = DateUtil.parse(str.toString(), "yyyy.MM/dd HH:mm");
+                if (dateTime != null) {
+                    return dateTime;
+                }
             } catch (Exception e) {
             }
             try {
-                dateTime = DateUtil.parse(str.toString(), "MM/dd/yy HH:mm");
+                dateTime = DateUtil.parse(str.toString(), "yyyy.MM.dd HH:mm");
+                if (dateTime != null) {
+                    return dateTime;
+                }
             } catch (Exception e) {
             }
             try {
-                dateTime = DateUtil.parse(str.toString(), "yyyy-MM-dd HH:mm");
+                dateTime = DateUtil.parse(str.toString(), "yyyy/MM.dd HH:mm");
+                if (dateTime != null) {
+                    return dateTime;
+                }
             } catch (Exception e) {
             }
+//            try {
+//                dateTime = DateUtil.parse(str.toString(), "MM/dd/yy HH:mm");
+//            } catch (Exception e) {
+//            }
+
             return dateTime;
         } catch (Exception e) {
             e.printStackTrace();