소스 검색

3.4.4 update-20250507,bug修改

xiaofei 1 개월 전
부모
커밋
2344e323bb
1개의 변경된 파일37개의 추가작업 그리고 18개의 파일을 삭제
  1. 37 18
      distributed-print/src/main/java/com/qmth/distributed/print/upgrade/DataUpgrade_3_4_4.java

+ 37 - 18
distributed-print/src/main/java/com/qmth/distributed/print/upgrade/DataUpgrade_3_4_4.java

@@ -132,36 +132,50 @@ public class DataUpgrade_3_4_4 implements DataUpgradeService {
                 this.updateMarkPaperArchive(jdbcTemplate, markPaper.getId());
             }
             log.info("1.1.2结束更新课程归档状态:[" + basicExam.getName() + "],试卷编号:[" + paperNumber + "];时间:" + DateFormatUtils.format(new Date(), DATE_PATTERN));
+            i++;
+        }
 
-            log.info("1.1.3开始更新试卷、答案文件存储json结构状态:[" + basicExam.getName() + "],试卷编号:[" + paperNumber + "];时间:" + DateFormatUtils.format(new Date(), DATE_PATTERN));
+        log.info("1.2开始查询试卷、标答格式化课程数据;时间:" + DateFormatUtils.format(new Date(), DATE_PATTERN));
+        List<MarkPaper> markPaperAllList = this.listMarkPaperAll(jdbcTemplate);
+        log.info("1.2结束查询试卷、标答格式化课程数据,共" + markPaperAllList.size() + "条数据;时间:" + DateFormatUtils.format(new Date(), DATE_PATTERN));
+        for (MarkPaper markPaper : markPaperAllList) {
+            BasicExam basicExam = getBasicExam(jdbcTemplate, markPaper.getExamId());
+            log.info("1.2.1开始更新试卷、答案文件存储json结构状态:[" + basicExam.getName() + "],试卷编号:[" + markPaper.getPaperNumber() + "];时间:" + DateFormatUtils.format(new Date(), DATE_PATTERN));
             this.parseMarkPaperAndAnswerFilePath(jdbcTemplate, markPaper);
-            log.info("1.1.3结束更试卷、答案文件存储json结构状态:[" + basicExam.getName() + "],试卷编号:[" + paperNumber + "];时间:" + DateFormatUtils.format(new Date(), DATE_PATTERN));
-            i++;
+            log.info("1.2.1结束更试卷、答案文件存储json结构状态:[" + basicExam.getName() + "],试卷编号:[" + markPaper.getPaperNumber() + "];时间:" + DateFormatUtils.format(new Date(), DATE_PATTERN));
         }
     }
 
     private void parseMarkPaperAndAnswerFilePath(JdbcTemplate jdbcTemplate, MarkPaper markPaper) {
         String[] paperTypes = markPaper.getPaperTypeList().toArray(new String[0]);
         if (StringUtils.isNotBlank(markPaper.getPaperFilePath())) {
-            List<MarkPaperFileDto> subjectivePaperFileDtoList = new ArrayList<>();
-            List<FilePathVo> paperFilePathList = JSON.parseArray(markPaper.getPaperFilePath(), FilePathVo.class);
-            for (int i = 0; i < paperFilePathList.size(); i++) {
-                MarkPaperFileDto subjectiveAnswerFileDto = new MarkPaperFileDto();
-                subjectiveAnswerFileDto.setPaperType(paperTypes[i]);
-                subjectiveAnswerFileDto.setFilePathVo(paperFilePathList.get(i));
-                subjectivePaperFileDtoList.add(subjectiveAnswerFileDto);
+            try {
+                List<MarkPaperFileDto> subjectivePaperFileDtoList = new ArrayList<>();
+                List<FilePathVo> paperFilePathList = JSON.parseArray(markPaper.getPaperFilePath(), FilePathVo.class);
+                for (int i = 0; i < paperFilePathList.size(); i++) {
+                    MarkPaperFileDto subjectiveAnswerFileDto = new MarkPaperFileDto();
+                    subjectiveAnswerFileDto.setPaperType(paperTypes[i]);
+                    subjectiveAnswerFileDto.setFilePathVo(paperFilePathList.get(i));
+                    subjectivePaperFileDtoList.add(subjectiveAnswerFileDto);
+                }
+                markPaper.setPaperFilePath(JSON.toJSONString(subjectivePaperFileDtoList));
+            } catch (Exception e) {
+                log.error("格式化试卷错误:{}", e.getMessage());
             }
-            markPaper.setPaperFilePath(JSON.toJSONString(subjectivePaperFileDtoList));
         }
 
         if (StringUtils.isNotBlank(markPaper.getAnswerFilePath())) {
-            List<MarkPaperFileDto> subjectiveAnswerFileDtoList = new ArrayList<>();
-            FilePathVo answerFilePath = JSON.parseObject(markPaper.getAnswerFilePath(), FilePathVo.class);
-            MarkPaperFileDto subjectiveAnswerFileDto = new MarkPaperFileDto();
-            subjectiveAnswerFileDto.setPaperType(paperTypes[0]);
-            subjectiveAnswerFileDto.setFilePathVo(answerFilePath);
-            subjectiveAnswerFileDtoList.add(subjectiveAnswerFileDto);
-            markPaper.setAnswerFilePath(JSON.toJSONString(subjectiveAnswerFileDtoList));
+            try {
+                List<MarkPaperFileDto> subjectiveAnswerFileDtoList = new ArrayList<>();
+                FilePathVo answerFilePath = JSON.parseObject(markPaper.getAnswerFilePath(), FilePathVo.class);
+                MarkPaperFileDto subjectiveAnswerFileDto = new MarkPaperFileDto();
+                subjectiveAnswerFileDto.setPaperType(paperTypes[0]);
+                subjectiveAnswerFileDto.setFilePathVo(answerFilePath);
+                subjectiveAnswerFileDtoList.add(subjectiveAnswerFileDto);
+                markPaper.setAnswerFilePath(JSON.toJSONString(subjectiveAnswerFileDtoList));
+            } catch (Exception e) {
+                log.error("格式化标答错误:{}", e.getMessage());
+            }
         }
 
         this.updateMarkPaperAndAnswerFilePath(jdbcTemplate, markPaper);
@@ -613,6 +627,11 @@ public class DataUpgrade_3_4_4 implements DataUpgradeService {
         return this.listData(jdbcTemplate, sql, MarkPaper.class);
     }
 
+    private List<MarkPaper> listMarkPaperAll(JdbcTemplate jdbcTemplate) {
+        String sql = "select * from mark_paper";
+        return this.listData(jdbcTemplate, sql, MarkPaper.class);
+    }
+
     private List<MarkStudent> listMarkStudent(JdbcTemplate jdbcTemplate, Long examId, String paperNumber) {
         String sql = "select * from mark_student where exam_id = " + examId + " and paper_number = '" + paperNumber + "'";
         return this.listData(jdbcTemplate, sql, MarkStudent.class);