Переглянути джерело

3.4.4 update-20250306,联调bug修复-主观题复核、轨迹图

xiaofei 3 місяців тому
батько
коміт
277495ce66

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

@@ -178,4 +178,6 @@ UPDATE `sys_privilege` SET `related` = '971,972,973,974,975,976,977,978,979,980,
 
 INSERT INTO sys_config
 (id, school_id, org_id, config_key, config_name, config_value, remark, enable, sort, create_id, create_time, update_id, update_time)
-VALUES(51, NULL, NULL, 'mark.score.calculate.job.db.limit', '统分查询考生条数', 'limit 0,500', NULL, 1, 20, 1, NULL, NULL, NULL);
+VALUES(51, NULL, NULL, 'mark.score.calculate.job.db.limit', '统分查询考生条数', 'limit 0,500', NULL, 1, 20, 1, NULL, NULL, NULL);
+
+-- 2025-03-06

+ 11 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/manage/MarkerScoreDTO.java

@@ -2,6 +2,7 @@ package com.qmth.teachcloud.mark.dto.mark.manage;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.teachcloud.mark.enums.MarkTaskStatus;
 
 import java.io.Serializable;
 
@@ -26,6 +27,8 @@ public class MarkerScoreDTO implements Serializable {
     // 是否为科组长
     private boolean header;
 
+    private MarkTaskStatus headerType;
+
     public Long getUserId() {
         return userId;
     }
@@ -65,4 +68,12 @@ public class MarkerScoreDTO implements Serializable {
     public void setHeader(boolean header) {
         this.header = header;
     }
+
+    public MarkTaskStatus getHeaderType() {
+        return headerType;
+    }
+
+    public void setHeaderType(MarkTaskStatus headerType) {
+        this.headerType = headerType;
+    }
 }

+ 13 - 2
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/manage/TrackDTO.java

@@ -1,13 +1,14 @@
 package com.qmth.teachcloud.mark.dto.mark.manage;
 
-import java.io.Serializable;
-
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.mark.entity.*;
+import com.qmth.teachcloud.mark.enums.MarkTaskStatus;
 import com.qmth.teachcloud.mark.params.MarkHeaderGroupResult;
 
+import java.io.Serializable;
+
 /**
  * 阅卷轨迹交换类
  *
@@ -40,6 +41,8 @@ public class TrackDTO implements Serializable {
     private Long userId;
     private String userName;
 
+    private MarkTaskStatus headerType;
+
     public TrackDTO() {
 
     }
@@ -223,4 +226,12 @@ public class TrackDTO implements Serializable {
     public void setUserName(String userName) {
         this.userName = userName;
     }
+
+    public MarkTaskStatus getHeaderType() {
+        return headerType;
+    }
+
+    public void setHeaderType(MarkTaskStatus headerType) {
+        this.headerType = headerType;
+    }
 }

+ 0 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkTask.java

@@ -131,7 +131,6 @@ public class MarkTask implements Serializable {
     @TableField(updateStrategy = FieldStrategy.IGNORED)
     private String rejectReason;
 
-
     public Long getId() {
         return id;
     }

+ 12 - 12
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkStudentServiceImpl.java

@@ -633,19 +633,19 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
                 StringResult paperTypeResult = page.getPaperType();
 
                 if (abInfoVo != null && abInfoVo.getOpenAb() && PaperTypeEnum.FILL.equals(abInfoVo.getPaperTypeStyle())) {
-                    if (Objects.isNull(paperTypeResult)) {
-                        // 卷型为空 (正常不会出现这种情况)
-                        throw ExceptionResultEnum.ERROR.exception("开启卷型的试卷未检测到识别的卷型");
-                    }
+//                    if (Objects.isNull(paperTypeResult)) {
+//                        // 卷型为空 (正常不会出现这种情况)
+//                        throw ExceptionResultEnum.ERROR.exception("开启卷型的试卷未检测到识别的卷型");
+//                    }
                     String paperType = paperTypeResult.getResult();
-                    if (!SystemConstant.strNotNull(paperType)) {
-                        // 卷型为空 (正常不会出现这种情况)
-                        throw ExceptionResultEnum.ERROR.exception("开启卷型的试卷未检测到识别的卷型");
-                    }
-                    if (!paperType.matches("[A-Z#]+")) {
-                        // 未识别到卷型 (正常不会出现这种情况)
-                        throw ExceptionResultEnum.ERROR.exception("卷型识别错误");
-                    }
+//                    if (!SystemConstant.strNotNull(paperType)) {
+//                        // 卷型为空 (正常不会出现这种情况)
+//                        throw ExceptionResultEnum.ERROR.exception("开启卷型的试卷未检测到识别的卷型");
+//                    }
+//                    if (!paperType.matches("[A-Z#]+")) {
+//                        // 未识别到卷型 (正常不会出现这种情况)
+//                        throw ExceptionResultEnum.ERROR.exception("卷型识别错误");
+//                    }
                     student.setPaperType(paperType);
                     if (!omrEdit) {
                         if (paperType.length() > 1 || "#".equals(paperType)) {

+ 4 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/TaskServiceImpl.java

@@ -202,13 +202,14 @@ public class TaskServiceImpl implements TaskService {
         for (int i = 0; i < scoreList.size(); i++) {
             MarkQuestion question = sList.get(i);
             TaskQuestion step = buildStep(question);
+            // 管理员复核时,默认全部为自己评
             step.setSelfMark(true);
             Double score = scoreList.get(i).getScore();
             if (!scoreList.isEmpty() && scoreList.size() == sList.size()) {
                 step.setMarkerScore(score);
             }
             // 增加阅卷轨迹列表获取
-            List<MarkTask> markTaskList = markTaskService.listByStudentId(markStudent.getId());
+            List<MarkTask> markTaskList = markTaskService.listByStudentIdAndQuestionId(markStudent.getId(), question.getId());
             // 不管单评还是多评显示所有评卷员给分轨迹
             for (MarkTask markTask : markTaskList) {
                 for (TrackDTO track : markTask.listMarkerTrack()) {
@@ -225,6 +226,7 @@ public class TaskServiceImpl implements TaskService {
                             trackDTO.setUserId(sysUser.getId());
                             trackDTO.setUserName(sysUser.getRealName() + "(" + sysUser.getLoginName() + ")");
                         }
+                        trackDTO.setHeaderType(markTask.getStatus());
                         step.addHeadTrack(trackDTO);
                     }
                 }
@@ -255,6 +257,7 @@ public class TaskServiceImpl implements TaskService {
                             }
                             headerScoreDTO.setScore(score);
                             headerScoreDTO.setHeader(true);
+                            headerScoreDTO.setHeaderType(markTask.getStatus());
                             step.addMarkerList(headerScoreDTO);
                         }
                     }