Просмотр исходного кода

缺考导入改为违纪导入

yin 1 год назад
Родитель
Сommit
494c6c219f

+ 4 - 4
src/main/java/cn/com/qmth/scancloud/tools/config/SysProperty.java

@@ -53,7 +53,7 @@ public class SysProperty {
     public static String EXAM_IMPORT;
     public static String COURSE_IMPORT;
     public static String STUDENT_IMPORT;
-    public static String ABSENT_IMPORT;
+    public static String BREACH_IMPORT;
     public static String CARD_IMPORT;
 
     @Value("${scan.server.url}")
@@ -135,9 +135,9 @@ public class SysProperty {
     public void studentImport(String studentImport) {
         STUDENT_IMPORT = studentImport;
     }
-    @Value("${scan.tool.absent-import}")
-    public void absentImport(String absentImport) {
-        ABSENT_IMPORT = absentImport;
+    @Value("${scan.tool.breach-import}")
+    public void breachImport(String breachImport) {
+        BREACH_IMPORT = breachImport;
     }
     @Value("${scan.tool.card-import}")
     public void cardImport(String cardImport) {

+ 2 - 12
src/main/java/cn/com/qmth/scancloud/tools/enums/TaskType.java

@@ -1,16 +1,6 @@
 package cn.com.qmth.scancloud.tools.enums;
 
-import cn.com.qmth.scancloud.tools.service.impl.AbsentImportTask;
-import cn.com.qmth.scancloud.tools.service.impl.CardImportTask;
-import cn.com.qmth.scancloud.tools.service.impl.CourseImportTask;
-import cn.com.qmth.scancloud.tools.service.impl.ExamImportTask;
-import cn.com.qmth.scancloud.tools.service.impl.ExamStudentCleanTask;
-import cn.com.qmth.scancloud.tools.service.impl.ExamStudentCountTask;
-import cn.com.qmth.scancloud.tools.service.impl.ExamStudentImportTask;
-import cn.com.qmth.scancloud.tools.service.impl.ObjectiveQuestionExportTask;
-import cn.com.qmth.scancloud.tools.service.impl.ScanImageCheckTask;
-import cn.com.qmth.scancloud.tools.service.impl.StructImportTask;
-import cn.com.qmth.scancloud.tools.service.impl.UserImportTask;
+import cn.com.qmth.scancloud.tools.service.impl.*;
 
 public enum TaskType {
 
@@ -30,7 +20,7 @@ public enum TaskType {
 
     OBJECTIVE_QUESTION_EXPORT("考生扫描结果和评卷数据导出", ObjectiveQuestionExportTask.class),
 
-    ABSENT_IMPORT("缺考导入", AbsentImportTask.class),
+    BREACH_IMPORT("违纪导入", BreachImportTask.class),
     
     STRUCT_IMPORT("试卷结构导入", StructImportTask.class),
     

+ 18 - 18
src/main/java/cn/com/qmth/scancloud/tools/service/impl/AbsentImportTask.java → src/main/java/cn/com/qmth/scancloud/tools/service/impl/BreachImportTask.java

@@ -26,13 +26,13 @@ import cn.com.qmth.scancloud.tools.utils.StatusException;
  * 缺考导入
  */
 @Service
-public class AbsentImportTask extends AbstractTask {
+public class BreachImportTask extends AbstractTask {
 
-    private static final Logger log = LoggerFactory.getLogger(AbsentImportTask.class);
+    private static final Logger log = LoggerFactory.getLogger(BreachImportTask.class);
 
     @Override
     protected String getTaskName() {
-        return TaskType.ABSENT_IMPORT.getTitle();
+        return TaskType.BREACH_IMPORT.getTitle();
     }
 
     @Override
@@ -46,7 +46,7 @@ public class AbsentImportTask extends AbstractTask {
             throw new StatusException("当前考试不存在!examId = " + examId);
         }
 
-        if (!SysProperty.ABSENT_IMPORT.endsWith(".txt")) {
+        if (!SysProperty.BREACH_IMPORT.endsWith(".txt")) {
             throw new StatusException("导入模板目前仅支持后缀名为“.txt”的文件!");
         }
 
@@ -54,7 +54,7 @@ public class AbsentImportTask extends AbstractTask {
         List<ExamStudent> list = new ArrayList<>();
         Set<String> examNumbers = new HashSet<>();
 
-        File file = new File(SysProperty.DATA_DIR + "/" + SysProperty.ABSENT_IMPORT);
+        File file = new File(SysProperty.DATA_DIR + "/" + SysProperty.BREACH_IMPORT);
         List<String> lines = FileHelper.readAllLines(file);
         for (int n = 1; n < lines.size(); n++) {
 
@@ -78,7 +78,7 @@ public class AbsentImportTask extends AbstractTask {
         // 分批保存
         int batchSize = 5000;
         List<ExamStudent> batchList = new ArrayList<>();
-        String url = SysProperty.SCAN_SERVER_URL + "/api/tool/import/cet/absent";
+        String url = SysProperty.SCAN_SERVER_URL + "/api/tool/import/cet/breach";
         for (int n = 0; n < list.size(); n++) {
             batchList.add(list.get(n));
 
@@ -110,29 +110,29 @@ public class AbsentImportTask extends AbstractTask {
         try {
 
             String examNumber = values[0].trim();
-            String absent = values[2].trim();
-            String breachCode = values[3].trim();
+//            String absent = values[2].trim();
+            String breachCode = values[2].trim();
             if (StringUtils.isEmpty(examNumber)) {
                 throw new StatusException(String.format("【第%s行】“准考证号”字段不能为空! %s", index + 1, line));
             }
             if (examNumbers.contains(examNumber)) {
                 throw new StatusException(String.format("【第%s行】考生信息存在重复! %s", index + 1, line));
             }
-            if (StringUtils.isEmpty(absent)) {
-                throw new StatusException(String.format("【第%s行】“缺考”字段不能为空! %s", index + 1, line));
-            }
-            if (!"0".equals(absent)&&!"1".equals(absent)) {
-                throw new StatusException(String.format("【第%s行】“缺考”字段只能是0或1! %s", index + 1, line));
-            }
+//            if (StringUtils.isEmpty(absent)) {
+//                throw new StatusException(String.format("【第%s行】“缺考”字段不能为空! %s", index + 1, line));
+//            }
+//            if (!"0".equals(absent)&&!"1".equals(absent)) {
+//                throw new StatusException(String.format("【第%s行】“缺考”字段只能是0或1! %s", index + 1, line));
+//            }
             if (StringUtils.isEmpty(breachCode)) {
                 throw new StatusException(String.format("【第%s行】“违纪”字段不能为空! %s", index + 1, line));
             }
-            if("1".equals(absent)&&!"0".equals(breachCode)) {
-                throw new StatusException(String.format("【第%s行】缺考的违纪只能是0! %s", index + 1, line));
-            }
+//            if("1".equals(absent)&&!"0".equals(breachCode)) {
+//                throw new StatusException(String.format("【第%s行】缺考的违纪只能是0! %s", index + 1, line));
+//            }
             ExamStudent data = new ExamStudent();
             data.setExamNumber(examNumber);
-            data.setAbsent("1".equals(absent) ? true : false);
+           // data.setAbsent("1".equals(absent) ? true : false);
             data.setBreachCode(breachCode);
             return data;
         } catch (ArrayIndexOutOfBoundsException e) {

+ 5 - 8
src/main/java/cn/com/qmth/scancloud/tools/service/impl/ExamStudentImportTask.java

@@ -1,12 +1,7 @@
 package cn.com.qmth.scancloud.tools.service.impl;
 
 import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.regex.Pattern;
 
 import org.apache.commons.collections4.CollectionUtils;
@@ -47,7 +42,9 @@ public class ExamStudentImportTask extends AbstractTask {
         if (examId == null) {
             throw new StatusException("【scan.tool.examId】未配置!");
         }
-
+        if (StringUtils.isBlank(SysProperty.SUBJECT_CODE)) {
+            throw new StatusException("【scan.tool.subject-code】未配置!");
+        }
         if (CommonService.findExam(examId) == null) {
             throw new StatusException("当前考试不存在!examId = " + examId);
         }
@@ -169,7 +166,7 @@ public class ExamStudentImportTask extends AbstractTask {
             throw new StatusException("考次不正确");
         }
         int subjectCode = Integer.valueOf(examNumber.substring(9, 10));
-        if (subjectCode < 1 || subjectCode > 9) {
+        if (subjectCode < 1 || subjectCode > 9 || !SysProperty.SUBJECT_CODE.equals(examNumber.substring(9, 10))) {
             throw new StatusException("语种不正确");
         }
     }

+ 1 - 1
src/main/resources/application.properties

@@ -29,7 +29,7 @@ scan.tool.user-import=user-import.txt
 scan.tool.exam-import=exam-import.txt
 scan.tool.course-import=course-import.txt
 scan.tool.student-import=student-import.txt
-scan.tool.absent-import=absent-import.txt
+scan.tool.breach-import=breach-import.txt
 scan.tool.struct-import=struct-import.xlsx
 scan.tool.card-import=card.json
 #############params config###############

+ 0 - 1
template/absent-import.txt

@@ -1 +0,0 @@
-准考证号,姓名,缺考,违纪(标题行,数据从第二行读取)

+ 1 - 0
template/breach-import.txt

@@ -0,0 +1 @@
+准考证号,姓名,违纪(标题行,数据从第二行读取)