xiatian 8 сар өмнө
parent
commit
0e14da5c63

+ 3 - 2
src/main/java/cn/com/qmth/scancentral/service/impl/ExamServiceImpl.java

@@ -155,7 +155,7 @@ public class ExamServiceImpl extends ServiceImpl<ExamDao, ExamEntity> implements
         examEntity.setImageCheckOrder("ASC");
         examEntity.setScannerAssignedVerifyPassword("87863577");
         examEntity.setScannerAssignedMaxCount(5);
-        
+
         // examEntity.setPaperTypeBarcodeContent(null);
         // examEntity.setAbsentBarcodeContent(null);
         // examEntity.setDataSyncTime(null);
@@ -235,7 +235,8 @@ public class ExamServiceImpl extends ServiceImpl<ExamDao, ExamEntity> implements
 
         int absentCount = studentService.countByExamIdAndExamStatus(examId, ExamStatus.ABSENT);
         int okCount = studentService.countByExamIdAndExamStatus(examId, ExamStatus.OK);
-        int todoCount = studentService.countByExamIdAndExamStatus(examId, ExamStatus.UNCHECK1, ExamStatus.UNCHECK2);
+        int todoCount = studentService.countByExamIdAndExamStatus(examId, ExamStatus.UNCHECK1, ExamStatus.UNCHECK2,
+                ExamStatus.UNCHECK3);
         vo.getAbsentCheck().setAbsentCount(absentCount);
         vo.getAbsentCheck().setOkCount(okCount);
         vo.getAbsentCheck().setTodoCount(todoCount);

+ 18 - 8
src/main/java/cn/com/qmth/scancentral/service/impl/SubjectServiceImpl.java

@@ -371,21 +371,26 @@ public class SubjectServiceImpl extends MppServiceImpl<SubjectDao, SubjectEntity
             ExportCetMarkingQueryVo req = new ExportCetMarkingQueryVo();
             req.setExamId(vo.getExamId());
             req.setSubjectCode(vo.getSubjectCode());
-            req.setPageSize(100000);
+            req.setPageSize(10000);
             int pageNumber = 0;
             req.setPageNumber(pageNumber);
             Set<String> examNumbers = new HashSet<>();
             Map<String, MarkSiteEntity> cms = readCetMarking(vo.getExamId(), vo.getSubjectCode());
             Map<String, String> breachMap = breachMap(vo.getExamId(), vo.getSubjectCode());
             Map<String, String> custStatusMap = custStatusMap(vo.getExamId(), vo.getSubjectCode());
+            List<ExportCetVo> list = new ArrayList<>();
             while (true) {
                 req.setPageNumber(++pageNumber);
-                List<ExportCetVo> list = studentService.exportCetData(req);
-                if (CollectionUtils.isEmpty(list)) {
+                List<ExportCetVo> temp = studentService.exportCetData(req);
+                if (CollectionUtils.isEmpty(temp)) {
                     break;
                 }
-                exportAnswer(examNumbers, breachMap, custStatusMap, dbf, list, cms, vo);
+                list.addAll(temp);
             }
+            if (CollectionUtils.isEmpty(list)) {
+                throw new StatusException("没有需要导出的数据");
+            }
+            exportAnswer(examNumbers, breachMap, custStatusMap, dbf, list, cms, vo);
             ExamEntity exam = examService.getById(vo.getExamId());
             SubjectEntity subejct = this.findByExamIdAndCode(vo.getExamId(), vo.getSubjectCode());
             vo.setFileName(subejct.getName() + "_" + exam.getScanSite() + "_OMR.dbf");
@@ -586,19 +591,24 @@ public class SubjectServiceImpl extends MppServiceImpl<SubjectDao, SubjectEntity
             ExportCetMarkingQueryVo req = new ExportCetMarkingQueryVo();
             req.setExamId(vo.getExamId());
             req.setSubjectCode(vo.getSubjectCode());
-            req.setPageSize(100000);
+            req.setPageSize(10000);
             int pageNumber = 0;
             req.setPageNumber(pageNumber);
             Set<String> examNumbers = new HashSet<>();
             Map<String, MarkSiteEntity> cms = readCetMarking(vo.getExamId(), vo.getSubjectCode());
+            List<ExportCetVo> list = new ArrayList<>();
             while (true) {
                 req.setPageNumber(++pageNumber);
-                List<ExportCetVo> list = studentService.exportCetData(req);
-                if (CollectionUtils.isEmpty(list)) {
+                List<ExportCetVo> temp = studentService.exportCetData(req);
+                if (CollectionUtils.isEmpty(temp)) {
                     break;
                 }
-                exportSlice(examNumbers, dbf, list, cms, vo);
+                list.addAll(temp);
+            }
+            if (CollectionUtils.isEmpty(list)) {
+                throw new StatusException("没有需要导出的数据");
             }
+            exportSlice(examNumbers, dbf, list, cms, vo);
             ExamEntity exam = examService.getById(vo.getExamId());
             vo.setFileName(exam.getScanSite() + "_" + vo.getTotalCount() + "_"
                     + DateUtil.format(new Date(), DateUtil.DatePatterns.YYYYMMDDHH) + ".dbf");