yin 7 månader sedan
förälder
incheckning
4d3b157597

+ 1 - 1
src/main/java/cn/com/qmth/scancentral/dao/StudentDao.java

@@ -76,7 +76,7 @@ public interface StudentDao extends BaseMapper<StudentEntity> {
 
     int countCetMarking(@Param("query") ExportCetMarkingQueryVo query);
 
-    IPage<ExportCetVo> listCetMarkingPage(Page<ExportCetVo> page, @Param("query") ExportCetMarkingQueryVo query);
+    IPage<ExportCetVo> listCetMarkingPage(@Param("query") ExportCetMarkingQueryVo query);
 
     ScanAnswerInfoVo getInfoCountByExam(@Param("examId") Long examId);
 

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

@@ -1309,7 +1309,7 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, StudentEntity> i
             throw new StatusException("该考试不是CET");
         }
         IPage<ExportCetVo> iPage = baseMapper
-                .listCetMarkingPage(new Page<ExportCetVo>(query.getPageNumber(), query.getPageSize()), query);
+                .listCetMarkingPage(query);
         if (CollectionUtils.isNotEmpty(iPage.getRecords())) {
             String imageTransferDir = sysProperty.getTransferDir();
             Map<String, List<QuestionEntity>> structs = new HashMap<>();

+ 4 - 1
src/main/java/cn/com/qmth/scancentral/service/impl/SubjectServiceImpl.java

@@ -375,13 +375,16 @@ public class SubjectServiceImpl extends MppServiceImpl<SubjectDao, SubjectEntity
             Map<String, String> breachMap = breachMap(vo.getExamId(), vo.getSubjectCode());
             Map<String, String> custStatusMap = custStatusMap(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;
                 }
                 list.addAll(temp);
+                startId = temp.get(temp.size()-1).getId();
                 log.warn("【DBF导出】查询考生数据,当前第{}页共{}条! taskId:{}",req.getPageNumber(), list.size(), vo.getTaskId());
             }
             if (CollectionUtils.isEmpty(list)) {

+ 9 - 0
src/main/java/cn/com/qmth/scancentral/vo/ExportCetMarkingQueryVo.java

@@ -8,6 +8,8 @@ public class ExportCetMarkingQueryVo extends PagerQuery {
 
     private String subjectCode;
 
+    private long startId;
+
     public Long getExamId() {
         return examId;
     }
@@ -24,4 +26,11 @@ public class ExportCetMarkingQueryVo extends PagerQuery {
         this.subjectCode = subjectCode;
     }
 
+    public long getStartId() {
+        return startId;
+    }
+
+    public void setStartId(long startId) {
+        this.startId = startId;
+    }
 }

+ 3 - 1
src/main/resources/mapper/StudentMapper.xml

@@ -247,7 +247,9 @@
         </if>
         and t.status = 'SCANNED'
         and t.file_upload_status = 'UPLOADED'
-        order by t.id
+        and id > #{query.startId}
+        ORDER BY t.id
+        limit #{query.pageSize}
     </select>
 
     <select id="countCetMarking" resultType="int">