xiatian 2 سال پیش
والد
کامیت
fcbfe8bd91
1فایلهای تغییر یافته به همراه11 افزوده شده و 12 حذف شده
  1. 11 12
      src/main/java/cn/com/qmth/scancloud/tools/service/impl/ObjectiveQuestionExportTask.java

+ 11 - 12
src/main/java/cn/com/qmth/scancloud/tools/service/impl/ObjectiveQuestionExportTask.java

@@ -93,7 +93,7 @@ public class ObjectiveQuestionExportTask extends AbstractTask {
             }
             }
 
 
             exportMarking(list, filePath, cms, examNumbers);
             exportMarking(list, filePath, cms, examNumbers);
-            exportAnswer(list, answerFilePath, cms, examNumbers);
+            exportAnswer(list, answerFilePath, cms);
             sum += list.size();
             sum += list.size();
             float rate = sum * 100f / total;
             float rate = sum * 100f / total;
             log.info("已处理数:{} 进度:{}%", sum, rate);
             log.info("已处理数:{} 进度:{}%", sum, rate);
@@ -102,15 +102,9 @@ public class ObjectiveQuestionExportTask extends AbstractTask {
         log.info("导出文件:" + filePath);
         log.info("导出文件:" + filePath);
     }
     }
 
 
-    private void exportAnswer(List<ExportCetVo> list, String filePath, Map<String, CetMarking> cms,
-            Set<String> examNumbers) {
+    private void exportAnswer(List<ExportCetVo> list, String filePath, Map<String, CetMarking> cms) {
         List<String> lines = new ArrayList<>();
         List<String> lines = new ArrayList<>();
         for (ExportCetVo data : list) {
         for (ExportCetVo data : list) {
-            if (examNumbers.contains(data.getExamNumber())) {
-                log.warn("有重复数据,准考证号:{}", data.getExamNumber());
-                continue;
-            }
-            examNumbers.add(data.getExamNumber());
             List<String> line = new ArrayList<>();
             List<String> line = new ArrayList<>();
             line.add(data.getExamNumber());
             line.add(data.getExamNumber());
             line.add(data.getName());
             line.add(data.getName());
@@ -155,17 +149,23 @@ public class ObjectiveQuestionExportTask extends AbstractTask {
         List<String> lines = new ArrayList<>();
         List<String> lines = new ArrayList<>();
         for (ExportCetVo data : list) {
         for (ExportCetVo data : list) {
             if (examNumbers.contains(data.getExamNumber())) {
             if (examNumbers.contains(data.getExamNumber())) {
+                log.warn("有重复数据,准考证号:{}", data.getExamNumber());
                 continue;
                 continue;
             }
             }
             examNumbers.add(data.getExamNumber());
             examNumbers.add(data.getExamNumber());
-            int subjectCode = Integer.valueOf(data.getExamNumber().substring(9, 10));
             String markingCode;
             String markingCode;
-            if (subjectCode >= 3 && subjectCode <= 9) {
+            if ("888888".equals(data.getPaperType())) {
+                markingCode = "88";
+            } else if ("000000".equals(data.getPaperType()) || "999999".equals(data.getPaperType())) {
                 markingCode = "88";
                 markingCode = "88";
             } else {
             } else {
                 int site = Integer.valueOf(data.getExamNumber().substring(10, 13));
                 int site = Integer.valueOf(data.getExamNumber().substring(10, 13));
                 if (site % 2 == 0) {
                 if (site % 2 == 0) {
-                    markingCode = cms.get(data.getPaperType()).getEvenNumber();
+                    try {
+                        markingCode = cms.get(data.getPaperType()).getEvenNumber();
+                    } catch (Exception e) {
+                        throw e;
+                    }
                 } else {
                 } else {
                     markingCode = cms.get(data.getPaperType()).getOddNumber();
                     markingCode = cms.get(data.getPaperType()).getOddNumber();
                 }
                 }
@@ -181,7 +181,6 @@ public class ObjectiveQuestionExportTask extends AbstractTask {
         FileHelper.writeLines(file, lines, true);
         FileHelper.writeLines(file, lines, true);
     }
     }
 
 
-
     private Map<String, CetMarking> readCetMarking() {
     private Map<String, CetMarking> readCetMarking() {
         if (StringUtils.isBlank(SysProperty.MARKING_PLACE)) {
         if (StringUtils.isBlank(SysProperty.MARKING_PLACE)) {
             throw new StatusException("【scan.tool.marking-place】未配置!");
             throw new StatusException("【scan.tool.marking-place】未配置!");