浏览代码

3.4.4 update-20250410

xiaofei 2 月之前
父节点
当前提交
4966d506d5

+ 32 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/SpecialTagDTO.java

@@ -1,10 +1,13 @@
 package com.qmth.teachcloud.mark.dto.mark;
 
+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.MarkArbitrateHistory;
 import com.qmth.teachcloud.mark.entity.MarkHeaderTag;
 import com.qmth.teachcloud.mark.entity.MarkSpecialTag;
 import com.qmth.teachcloud.mark.entity.MarkTask;
+import com.qmth.teachcloud.mark.enums.MarkTaskStatus;
 import com.qmth.teachcloud.mark.params.MarkHeaderGroupResult;
 
 import java.io.Serializable;
@@ -31,6 +34,12 @@ public class SpecialTagDTO implements Serializable {
 
     private Integer offsetY;
 
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long userId;
+    private String userName;
+
+    private MarkTaskStatus headerType;
+
     public SpecialTagDTO() {
 
     }
@@ -179,4 +188,27 @@ public class SpecialTagDTO implements Serializable {
         this.tagType = tagType;
     }
 
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public MarkTaskStatus getHeaderType() {
+        return headerType;
+    }
+
+    public void setHeaderType(MarkTaskStatus headerType) {
+        this.headerType = headerType;
+    }
 }

+ 7 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/manage/TaskQuestion.java

@@ -277,6 +277,10 @@ public class TaskQuestion implements Serializable {
         this.markerTagList = markerTagList;
     }
 
+    public void addMarkTag(SpecialTagDTO tagDTO) {
+        this.markerTagList.add(tagDTO);
+    }
+
     public List<SpecialTagDTO> getHeaderTagList() {
         return headerTagList;
     }
@@ -284,7 +288,9 @@ public class TaskQuestion implements Serializable {
     public void setHeaderTagList(List<SpecialTagDTO> headerTagList) {
         this.headerTagList = headerTagList;
     }
-
+    public void addHeadTag(SpecialTagDTO tagDTO) {
+        this.headerTagList.add(tagDTO);
+    }
     public Double getMarkerScore() {
         return markerScore;
     }

+ 18 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/TaskServiceImpl.java

@@ -10,6 +10,7 @@ import com.qmth.teachcloud.common.enums.mark.MarkProblemStatus;
 import com.qmth.teachcloud.common.service.SysUserService;
 import com.qmth.teachcloud.common.service.TeachcloudCommonService;
 import com.qmth.teachcloud.mark.dto.mark.MarkStudentVo;
+import com.qmth.teachcloud.mark.dto.mark.SpecialTagDTO;
 import com.qmth.teachcloud.mark.dto.mark.manage.*;
 import com.qmth.teachcloud.mark.dto.mark.score.SheetUrlDto;
 import com.qmth.teachcloud.mark.dto.mark.score.StudentObjectiveAnswerDto;
@@ -303,6 +304,13 @@ public class TaskServiceImpl implements TaskService {
                     step.addMarkTrack(track);
                 }
 
+                for (SpecialTagDTO tagDTO : markTask.listMarkerTag()) {
+                    SysUser user = sysUserService.getByUserId(markTask.getUserId());
+                    tagDTO.setUserId(markTask.getUserId());
+                    tagDTO.setUserName(user.getRealName() + "(" + user.getLoginName() + ")");
+                    step.addMarkTag(tagDTO);
+                }
+
                 if (CollectionUtils.isNotEmpty(markTask.listHeaderTrack()) && markTask.getTaskNumber() == 1) {
                     for (TrackDTO trackDTO : markTask.listHeaderTrack()) {
                         SysUser sysUser = sysUserService.getByUserId(markTask.getHeaderId());
@@ -313,6 +321,16 @@ public class TaskServiceImpl implements TaskService {
                         trackDTO.setHeaderType(markTask.getStatus());
                         step.addHeadTrack(trackDTO);
                     }
+
+                    for (SpecialTagDTO tagDTO : markTask.listHeaderTag()) {
+                        SysUser sysUser = sysUserService.getByUserId(markTask.getHeaderId());
+                        if (sysUser != null) {
+                            tagDTO.setUserId(sysUser.getId());
+                            tagDTO.setUserName(sysUser.getRealName() + "(" + sysUser.getLoginName() + ")");
+                        }
+                        tagDTO.setHeaderType(markTask.getStatus());
+                        step.addHeadTag(tagDTO);
+                    }
                 }
 
                 // 普通模式无轨迹数据。单独处理评卷员每题得分