Bläddra i källkod

修复图片导出,分组左上角得分没有角色问题

ting.yin 1 år sedan
förälder
incheckning
4fe4ea93d3

+ 14 - 14
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/ExamStudentServiceImpl.java

@@ -987,6 +987,7 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
         tag.setSize(30);
         tag.setTop(40);
         tag.setContent(lines);
+        tag.setUserRole("");
         return tag;
     }
 
@@ -1024,17 +1025,17 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
             List<MarkConfigItem> configList = group.getPictureConfigList();
             if (configList.isEmpty()) {
                 // 未设置评卷区域,则自动取第一张裁切图的固定位置
-                originTags.add(new OriginTag(0, null, group.getNumber(), format.format(score), 1, 10, 10));
+                originTags.add(new OriginTag(0, "", group.getNumber(), format.format(score), 1, 10, 10));
             } else {
                 // 取第一个显示区域相对裁切图的位置
                 MarkConfigItem config = configList.get(0);
-                OriginTag tag = new OriginTag(0, null, group.getNumber(), format.format(score), config.getI(),
+                OriginTag tag = new OriginTag(0, "", group.getNumber(), format.format(score), config.getI(),
                         config.getX(), config.getY());
                 // 兼容比例模式,且元素在裁切坐标内
                 if (config.getX() <= 1 && config.getY() <= 1 && config.getI() <= sliceConfig.size()
                         && sliceConfig.get(config.getI() - 1).getW() > 0
                         && sliceConfig.get(config.getI() - 1).getH() > 0) {
-                    tag = new OriginTag(0, null, group.getNumber(), format.format(score), config.getI(), config.getX()
+                    tag = new OriginTag(0, "", group.getNumber(), format.format(score), config.getI(), config.getX()
                             * sliceConfig.get(config.getI() - 1).getW(), config.getY()
                             * sliceConfig.get(config.getI() - 1).getH());
                 }
@@ -1078,14 +1079,14 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
             List<MarkTrack> tracks = trackService.findByLibraryId(library.getId());
             for (MarkTrack markTrack : tracks) {
                 // 未作答时只显示汉字"空"
-                originTags.add(new OriginTag(library.getMarkerId(), Role.MARKER, library.getGroupNumber(), markTrack
-                        .isUnanswered() ? "空" : format.format(markTrack.getScore()), markTrack.getOffsetIndex(),
-                        markTrack.getOffsetX(), markTrack.getOffsetY()));
+                originTags.add(new OriginTag(library.getMarkerId(), Role.MARKER.toString(), library.getGroupNumber(),
+                        markTrack.isUnanswered() ? "空" : format.format(markTrack.getScore()), markTrack
+                                .getOffsetIndex(), markTrack.getOffsetX(), markTrack.getOffsetY()));
             }
             // 添加特殊标记
             List<MarkSpecialTag> specialTags = specialTagService.findByLibraryId(library.getId());
             for (MarkSpecialTag markSpecialTag : specialTags) {
-                originTags.add(new OriginTag(library.getMarkerId(), Role.MARKER, library.getGroupNumber(),
+                originTags.add(new OriginTag(library.getMarkerId(), Role.MARKER.toString(), library.getGroupNumber(),
                         markSpecialTag.getTagName(), markSpecialTag.getOffsetIndex(), markSpecialTag.getOffsetX(),
                         markSpecialTag.getOffsetY()));
             }
@@ -1094,17 +1095,16 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
         List<HeaderTag> headerTags = headerTagDao.findByStudentIdAndGroupNumberOrderByIdAsc(student.getId(),
                 group.getNumber());
         for (HeaderTag headerTag : headerTags) {
-            originTags
-                    .add(new OriginTag(headerTag.getUserId(), Role.SUBJECT_HEADER, headerTag.getGroupNumber(),
-                            headerTag.getTagName(), headerTag.getOffsetIndex(), headerTag.getOffsetX(), headerTag
-                                    .getOffsetY()));
+            originTags.add(new OriginTag(headerTag.getUserId(), Role.SUBJECT_HEADER.toString(), headerTag
+                    .getGroupNumber(), headerTag.getTagName(), headerTag.getOffsetIndex(), headerTag.getOffsetX(),
+                    headerTag.getOffsetY()));
         }
         List<HeaderTrack> headerTracks = headerTrackDao.findByPkStudentIdAndGroupNumber(student.getId(),
                 group.getNumber());
         for (HeaderTrack headerTrack : headerTracks) {
-            originTags.add(new OriginTag(headerTrack.getUserId(), Role.SUBJECT_HEADER, headerTrack.getGroupNumber(),
-                    headerTrack.isUnanswered() ? "空" : format.format(headerTrack.getScore()), headerTrack
-                            .getOffsetIndex(), headerTrack.getOffsetX(), headerTrack.getOffsetY()));
+            originTags.add(new OriginTag(headerTrack.getUserId(), Role.SUBJECT_HEADER.toString(), headerTrack
+                    .getGroupNumber(), headerTrack.isUnanswered() ? "空" : format.format(headerTrack.getScore()),
+                    headerTrack.getOffsetIndex(), headerTrack.getOffsetX(), headerTrack.getOffsetY()));
         }
         return originTags;
     }

+ 1 - 1
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkCronService.java

@@ -204,7 +204,7 @@ public class MarkCronService {
                         subject.getCode(), MarkStatus.TRIAL);
                 long trialCount = studentService.countByExamIdAndSubjectCodeAndTrial(examId, subject.getCode(), true);
                 if (!groups.isEmpty() && trialCount < subject.getTrialCount()) {
-                    while (trialCount < subject.getTrialCount()) {
+                    while (trialCount < subject.getTrialCount() && trialCount < subject.getUploadCount()) {
                         // 取一个的考生
                         ExamStudent student = studentService.randomStudent(examId, subject.getCode());
                         if (student == null) {

+ 5 - 7
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/utils/OriginTag.java

@@ -1,14 +1,12 @@
 package cn.com.qmth.stmms.biz.utils;
 
-import cn.com.qmth.stmms.common.enums.Role;
-
 public class OriginTag {
 
     private Integer userId;
 
     private Integer groupNumber;
 
-    private Role userRole;
+    private String userRole;
 
     private String content;
 
@@ -22,10 +20,10 @@ public class OriginTag {
 
     }
 
-    public OriginTag(Integer userId, Role userRole, Integer groupNumber, String content, int offsetIndex,
+    public OriginTag(Integer userId, String userRole, Integer groupNumber, String content, int offsetIndex,
             double offsetX, double offsetY) {
         this.userId = userId;
-        this.userRole = userRole;
+        this.userRole = userRole == null ? "" : userRole;
         this.groupNumber = groupNumber;
         this.content = content;
         this.offsetIndex = offsetIndex;
@@ -81,11 +79,11 @@ public class OriginTag {
         this.groupNumber = groupNumber;
     }
 
-    public Role getUserRole() {
+    public String getUserRole() {
         return userRole;
     }
 
-    public void setUserRole(Role userRole) {
+    public void setUserRole(String userRole) {
         this.userRole = userRole;
     }
 

+ 1 - 2
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/utils/PictureConfigTransform.java

@@ -2,7 +2,6 @@ package cn.com.qmth.stmms.biz.utils;
 
 import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
 import cn.com.qmth.stmms.biz.mark.model.PictureConfigItem;
-import cn.com.qmth.stmms.common.enums.Role;
 
 import java.util.HashMap;
 import java.util.LinkedList;
@@ -64,7 +63,7 @@ public class PictureConfigTransform {
      *            - 在原图内的上偏移
      */
     private static void buildTag(Map<Integer, List<PictureTag>> tags, String content, int index, double left,
-            double top, int userId, Role userRole, int groupNumber) {
+            double top, int userId, String userRole, int groupNumber) {
         PictureTag tag = new PictureTag();
         tag.setContent(content);
         tag.setLeft(left);

+ 3 - 5
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/utils/PictureTag.java

@@ -2,13 +2,11 @@ package cn.com.qmth.stmms.biz.utils;
 
 import java.util.List;
 
-import cn.com.qmth.stmms.common.enums.Role;
-
 public class PictureTag {
 
     private int userId;
 
-    private Role userRole;
+    private String userRole;
 
     private int groupNumber;
 
@@ -74,11 +72,11 @@ public class PictureTag {
         this.groupNumber = groupNumber;
     }
 
-    public Role getUserRole() {
+    public String getUserRole() {
         return userRole;
     }
 
-    public void setUserRole(Role userRole) {
+    public void setUserRole(String userRole) {
         this.userRole = userRole;
     }