Эх сурвалжийг харах

3.4.4 update-20250506,bug修改

xiaofei 1 сар өмнө
parent
commit
3f8f1d02ff

+ 1 - 3
distributed-print/install/mysql/upgrade/3.4.2.sql

@@ -25,15 +25,13 @@ INSERT INTO sys_privilege (id, name, url, type, parent_id, sequence, property, e
 
 INSERT INTO sys_privilege (id, name, url, type, parent_id, sequence, property, enable, default_auth, front_display) VALUES ('3072', '查询学号字母映射关系', '/api/scan/config/student_number_letter_relation', 'URL', '970', '40', 'AUTH', '1', '1', '1');
 
-ALTER TABLE scan_paper_page ADD COLUMN paper_type VARCHAR(10) NULL COMMENT '卷型' AFTER recog_data;
+ALTER TABLE scan_paper_page ADD COLUMN paper_type TEXT NULL COMMENT '卷型' AFTER recog_data;
 
 INSERT INTO sys_privilege (id, name, url, type, parent_id, sequence, property, enable, default_auth, front_display) VALUES ('3073', '卷型检查任务-状态数量', '/api/scan/student/paper_type_check/status/count', 'URL', '970', '41', 'AUTH', '1', '1', '1');
 INSERT INTO sys_privilege (id, name, url, type, parent_id, sequence, property, enable, default_auth, front_display) VALUES ('3074', '卷型检查任务-任务确认', '/api/scan/student/paper_type_check/confirm', 'URL', '970', '42', 'AUTH', '1', '1', '1');
 UPDATE sys_privilege SET related = '971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1007,1009,1010,1148,3072,3073,3074' WHERE (id = '970');
 UPDATE sys_privilege SET related = '971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1007,1009,1010,1148,3072,3073,3074' WHERE (id = '1006');
 
-ALTER TABLE scan_paper_page CHANGE COLUMN paper_type paper_type TEXT NULL COMMENT '卷型';
-
 UPDATE sys_privilege SET property = 'SYS', default_auth = '1' WHERE (id = '3071');
 
 INSERT INTO sys_privilege (id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display) VALUES(2111, '平时成绩-获取作业集合', '/api/admin/course/degree/usual_score/template_download/list', 'URL', 2006, 1, 'AUTH', NULL, 1, 1, 1);

+ 20 - 2
distributed-print/src/main/java/com/qmth/distributed/print/upgrade/DataUpgrade_3_4_4.java

@@ -15,7 +15,9 @@ import com.qmth.teachcloud.common.enums.ExamModelEnum;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.mark.dto.mark.MarkPaperFileDto;
 import com.qmth.teachcloud.mark.dto.mark.MarkQuestionAnswerVo;
+import com.qmth.teachcloud.mark.dto.mark.SpecialTagDTO;
 import com.qmth.teachcloud.mark.dto.mark.manage.MarkerScoreDTO;
+import com.qmth.teachcloud.mark.dto.mark.manage.MarkerSpecialTagDTO;
 import com.qmth.teachcloud.mark.dto.mark.manage.TaskQuestion;
 import com.qmth.teachcloud.mark.dto.mark.manage.TrackDTO;
 import com.qmth.teachcloud.mark.dto.mark.score.SheetUrlDto;
@@ -84,12 +86,14 @@ public class DataUpgrade_3_4_4 implements DataUpgradeService {
         log.info("1.1开始查询待归档课程数据;时间:" + DateFormatUtils.format(new Date(), DATE_PATTERN));
         List<MarkPaper> markPaperList = this.listMarkPaper(jdbcTemplate);
         log.info("1.1结束查询待归档课程数据,共" + markPaperList.size() + "条数据;时间:" + DateFormatUtils.format(new Date(), DATE_PATTERN));
+        int i = 1;
+        int total = markPaperList.size();
         for (MarkPaper markPaper : markPaperList) {
             Long examId = markPaper.getExamId();
             BasicExam basicExam = getBasicExam(jdbcTemplate, examId);
             String paperNumber = markPaper.getPaperNumber();
             List<MarkStudent> markStudentList = this.listMarkStudent(jdbcTemplate, examId, paperNumber);
-            log.info("1.1.1开始归档考试:[" + basicExam.getName() + "],试卷编号:[" + paperNumber + "],共" + markStudentList.size() + "条考生数据;时间:" + DateFormatUtils.format(new Date(), DATE_PATTERN));
+            log.info("1.1.1开始归档考试:[" + basicExam.getName() + "],试卷编号:[" + paperNumber + "],共" + markStudentList.size() + "条考生数据,试卷数量:{" + i + "}/{" + total + "};时间:" + DateFormatUtils.format(new Date(), DATE_PATTERN));
             List<MarkArchiveStudent> markArchiveStudents = null;
             long count = 0;
             try {
@@ -121,7 +125,7 @@ public class DataUpgrade_3_4_4 implements DataUpgradeService {
                 log.info("1.1.1归档失败,删除数据结束。考试:[" + basicExam.getName() + "],试卷编号:[" + paperNumber + "],共" + markStudentList.size() + "条考生数据;时间:" + DateFormatUtils.format(new Date(), DATE_PATTERN));
                 throw new RuntimeException(e.getMessage());
             }
-            log.info("1.1.1结束归档考试:[" + basicExam.getName() + "],试卷编号:[" + paperNumber + "],共" + markStudentList.size() + "条考生数据;时间:" + DateFormatUtils.format(new Date(), DATE_PATTERN));
+            log.info("1.1.1结束归档考试:[" + basicExam.getName() + "],试卷编号:[" + paperNumber + "],共" + markStudentList.size() + "条考生数据,试卷数量:{" + i + "}/{" + total + "};时间:" + DateFormatUtils.format(new Date(), DATE_PATTERN));
             log.info("1.1.2开始更新课程归档状态:[" + basicExam.getName() + "],试卷编号:[" + paperNumber + "];时间:" + DateFormatUtils.format(new Date(), DATE_PATTERN));
             if (count == markArchiveStudents.size()) {
                 // 更新归档状态
@@ -132,6 +136,7 @@ public class DataUpgrade_3_4_4 implements DataUpgradeService {
             log.info("1.1.3开始更新试卷、答案文件存储json结构状态:[" + basicExam.getName() + "],试卷编号:[" + paperNumber + "];时间:" + 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++;
         }
     }
 
@@ -296,6 +301,14 @@ public class DataUpgrade_3_4_4 implements DataUpgradeService {
                     step.addMarkTrack(track);
                 }
 
+                for (MarkSpecialTag specialTag : this.listMarkTag(jdbcTemplate, markTask.getId())) {
+                    MarkerSpecialTagDTO tagDTO = new MarkerSpecialTagDTO(markTask.getUserId(), markTask.getQuestionId(), specialTag);
+                    SysUser user = sysUserMap.get(markTask.getUserId());
+                    tagDTO.setUserId(markTask.getUserId());
+                    tagDTO.setUserName(user.getRealName() + "(" + user.getLoginName() + ")");
+                    step.addMarkTag(tagDTO);
+                }
+
                 List<MarkHeaderTrack> markHeaderTracks = this.listMarkHeaderTrack(jdbcTemplate, studentId, questionNumber);
                 if (CollectionUtils.isNotEmpty(markHeaderTracks) && markTask.getTaskNumber() == 1) {
                     for (MarkHeaderTrack markHeaderTrack : markHeaderTracks) {
@@ -578,6 +591,11 @@ public class DataUpgrade_3_4_4 implements DataUpgradeService {
         return this.listData(jdbcTemplate, sql, MarkTrack.class);
     }
 
+    private List<MarkSpecialTag> listMarkTag(JdbcTemplate jdbcTemplate, Long taskId) {
+        String sql = "select * from mark_special_tag where task_id = " + taskId;
+        return this.listData(jdbcTemplate, sql, MarkSpecialTag.class);
+    }
+
     private List<MarkHeaderTrack> listMarkHeaderTrack(JdbcTemplate jdbcTemplate, Long studentId, String questionNumber) {
         String sql = "select * from mark_header_track where student_id = " + studentId + " and question_number = '" + questionNumber + "' order by number";
         return this.listData(jdbcTemplate, sql, MarkHeaderTrack.class);