yin 7 месяцев назад
Родитель
Сommit
7c82767995

+ 19 - 18
src/main/java/cn/com/qmth/scancentral/service/impl/StudentServiceImpl.java

@@ -1308,28 +1308,29 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, StudentEntity> i
         if (!ExamMode.CET.equals(exam.getMode())) {
             throw new StatusException("该考试不是CET");
         }
-        List<ExportCetVo> iPage = baseMapper
+        List<ExportCetVo> dataList = baseMapper
                 .listCetMarkingPage(query);
-        if (CollectionUtils.isNotEmpty(iPage)) {
+        if (CollectionUtils.isNotEmpty(dataList)) {
             String imageTransferDir = sysProperty.getTransferDir();
             Map<String, List<QuestionEntity>> structs = new HashMap<>();
             Map<Integer, AnswerCardEntity> cardMap = new HashMap<>();
-            new BatchSetDataUtil<ExportCetVo>() {
-
-                @Override
-                protected void setData(List<ExportCetVo> dataList) {
-                    List<Long> ids = dataList.stream().map(e -> e.getId()).collect(Collectors.toList());
-                    List<PaperPageCetVo> totalpages = paperPageService.listByStudentIds(ids);
-                    List<PaperCetVo> totalpapers = paperService.findByStudentIds(ids);
-                    Map<Long, List<PaperPageCetVo>> totalpagesmap = ofPage(totalpages);
-                    Map<Long, List<PaperCetVo>> totalpapersmap = ofPaper(totalpapers);
-                    for (ExportCetVo vo : dataList) {
-                        disposeStudent(vo, paperTypeBarcodeContents, totalpagesmap.get(vo.getId()),
-                                totalpapersmap.get(vo.getId()), imageTransferDir, structs, cardMap);
-                    }
-
-                }
-            }.setDataForBatch(iPage, 200);
+            List<Long> ids = dataList.stream().map(e -> e.getId()).collect(Collectors.toList());
+            List<PaperPageCetVo> totalpages = paperPageService.listByStudentIds(ids);
+            List<PaperCetVo> totalpapers = paperService.findByStudentIds(ids);
+            for (ExportCetVo vo: dataList) {
+                Map<Long, List<PaperPageCetVo>> totalpagesmap = ofPage(totalpages);
+                Map<Long, List<PaperCetVo>> totalpapersmap = ofPaper(totalpapers);
+                disposeStudent(vo, paperTypeBarcodeContents, totalpagesmap.get(vo.getId()),
+                            totalpapersmap.get(vo.getId()), imageTransferDir, structs, cardMap);
+            }
+//            new BatchSetDataUtil<ExportCetVo>() {
+//
+//                @Override
+//                protected void setData(List<ExportCetVo> dataList) {
+//
+//
+//                }
+//            }.setDataForBatch(iPage, 200);
         }
         return iPage;
     }

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

@@ -5,14 +5,7 @@ import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-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.concurrent.ExecutorService;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.ThreadPoolExecutor;
@@ -383,8 +376,9 @@ public class SubjectServiceImpl extends MppServiceImpl<SubjectDao, SubjectEntity
                 if (CollectionUtils.isEmpty(temp)) {
                     break;
                 }
+                startId = temp.stream()
+                        .max(Comparator.comparingLong(ExportCetVo::getId)).map(ExportCetVo::getId).get();
                 list.addAll(temp);
-                startId = temp.get(temp.size()-1).getId();
                 log.warn("【DBF导出】查询考生数据,当前第{}页共{}条! taskId:{}",req.getPageNumber(), list.size(), vo.getTaskId());
             }
             if (CollectionUtils.isEmpty(list)) {
@@ -607,12 +601,16 @@ public class SubjectServiceImpl extends MppServiceImpl<SubjectDao, SubjectEntity
             Set<String> examNumbers = new HashSet<>();
             Map<String, MarkSiteEntity> cms = readCetMarking(vo.getExamId(), vo.getSubjectCode());
             List<ExportCetVo> list = new ArrayList<>();
+            long startId = 0;
             while (true) {
-                req.setPageNumber(++pageNumber);
+//                req.setPageNumber(++pageNumber);
+                req.setStartId(startId);
                 List<ExportCetVo> temp = studentService.exportCetData(req);
                 if (CollectionUtils.isEmpty(temp)) {
                     break;
                 }
+                startId = temp.stream()
+                        .max(Comparator.comparingLong(ExportCetVo::getId)).map(ExportCetVo::getId).get();
                 list.addAll(temp);
             }
             if (CollectionUtils.isEmpty(list)) {

+ 7 - 5
src/main/resources/application.properties

@@ -12,19 +12,21 @@ db.host=localhost
 db.port=3306
 db.database=scan_central
 com.qmth.datasource.username=root
-com.qmth.datasource.password=123456
+com.qmth.datasource.password=12345678
 com.qmth.datasource.url=jdbc:mysql://${db.host}:${db.port}/${db.database}?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2b8&rewriteBatchedStatements=true
 #
 # ********** sys config **********
 #
 com.qmth.solar.app-version=@project.version@
 com.qmth.logging.root-level=info
-com.qmth.logging.file-path=../log/scancentral.log
+com.qmth.logging.file-path=/Users/yin/Downloads/log/scancentral.log
 com.qmth.auth.time-max-delay=3600s
 com.qmth.auth.time-max-ahead=3600s
-com.qmth.fss.config=../static
-com.qmth.fss.server=http://192.168.11.118
-scancentral.image-transfer.dir=../imagetransfer
+com.qmth.fss.config=/Users/yin/Downloads/static
+com.qmth.fss.server=http://192.168.11.168
+scancentral.image-transfer.dir=/Users/yin/Downloads/static
 scancentral.heartbeat-timeout=300
 scancentral.file-uri-prefix=file
 scancentral.swagger.enable=true
+
+com.qmth.auth.debugMode=true