浏览代码

机构版-2.1.0

xiaof 3 年之前
父节点
当前提交
dab92682b4

+ 8 - 2
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/api/MarkTaskApi.java

@@ -489,8 +489,14 @@ public class MarkTaskApi {
             if (Objects.nonNull(questionId)) {
                 predicates.add(builder.equal(root.get("questionId"), questionId));
             }
-            predicates.add(builder.equal(root.get("isOneClick"), true));
-            return builder.and(predicates.toArray(new Predicate[predicates.size()]));
+            predicates.add(builder.equal(root.get("markByLeader"), true));
+            List<Predicate> list = new ArrayList<>();
+            list.add(builder.equal(root.get("isSample"), true));
+            list.add(builder.equal(root.get("isOneClick"), true));
+            list.add(builder.equal(root.get("isRejectedByLeader"), true));
+            Predicate Pre_And = builder.and(predicates.toArray(new Predicate[predicates.size()]));
+            Predicate Pre_Or = builder.or(list.toArray(new Predicate[list.size()]));
+            return query.where(Pre_And, Pre_Or).getRestriction();
         };
 
         Sort sort = new Sort(Sort.Direction.DESC, "updatedOn");

+ 16 - 4
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/api/PaperApi.java

@@ -335,14 +335,20 @@ public class PaperApi {
         String action = body.get("action");
         String level = body.get("level");
         String tagged = body.get("tagged");
-        //需要打回的评卷员
-        String ranges = body.get("range");
         if (action != null && level != null) {
             if (action.equals("leveling")) {
+                paper.setOneClick(true);
+                paper.setRejectedByLeader(false);
                 markingService.levelMarkPaper(paper, level, false);
             } else if (action.equals("sampling")) {
+                paper.setOneClick(false);
+                paper.setRejectedByLeader(false);
                 markingService.levelMarkPaper(paper, level, true);
             } else if (action.equals("reject")) {
+                paper.setOneClick(false);
+                paper.setRejectedByLeader(true);
+                //需要打回的评卷员
+                String ranges = body.get("range");
                 markingService.reject(paper, level, ranges);
             }
         }
@@ -372,14 +378,20 @@ public class PaperApi {
             String[] ids = paperIds.split(",");
             for (String id : ids) {
                 Paper paper = paperRepo.findOne(Long.valueOf(id));
-                //需要打回的评卷员
-                String ranges = body.get("range");
                 if (action != null && level != null) {
                     if (action.equals("leveling")) {
+                        paper.setOneClick(true);
+                        paper.setRejectedByLeader(false);
                         markingService.levelMarkPaper(paper, level, false);
                     } else if (action.equals("sampling")) {
+                        paper.setOneClick(false);
+                        paper.setRejectedByLeader(false);
                         markingService.levelMarkPaper(paper, level, true);
                     } else if (action.equals("reject")) {
+                        paper.setOneClick(false);
+                        paper.setRejectedByLeader(true);
+                        //需要打回的评卷员
+                        String ranges = body.get("range");
                         markingService.reject(paper, level, ranges);
                     }
                 }

+ 1 - 0
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/assembler/PaperAssembler.java

@@ -114,6 +114,7 @@ public class PaperAssembler {
             paperDTO.setPaperTest(paper.getTest());
             paperDTO.setShift(paper.isShift());
             paperDTO.setShiftScore(paper.isShiftScore());
+            paperDTO.setOneClick(paper.isOneClick());
             paperDTO.setIsRejectedByLeader(paper.isRejectedByLeader() == null ? false : paper.isRejectedByLeader());
             //打回总次数
             int rejectedCount = markLogRepo.countByWorkIdAndPaperIdAndOperType(paper.getWorkId(), paper.getId(), MarkLogOperType.CALLBACK_LEVEl.getId());

+ 9 - 0
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/dto/PaperDTO.java

@@ -53,6 +53,7 @@ public class PaperDTO implements Serializable{
     private Integer sortSum;
     //考生姓名
     private String studentName;
+    private boolean isOneClick;
     private List<MarkTaskDTO> markResults = new ArrayList<>();
 
     public int getPaperTest() {
@@ -330,4 +331,12 @@ public class PaperDTO implements Serializable{
     public void setPaperId(Long paperId) {
         this.paperId = paperId;
     }
+
+    public boolean isOneClick() {
+        return isOneClick;
+    }
+
+    public void setOneClick(boolean oneClick) {
+        isOneClick = oneClick;
+    }
 }

+ 1 - 0
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/service/MarkingService.java

@@ -330,6 +330,7 @@ public class MarkingService {
         paper.reject(redoLevel);
         //科组长打回标记
         paper.setRejectedByLeader(true);
+        paper.setMarkByLeader(true);
         //打回后撤销标准卷
         paper.setSample(false);
         List<MarkTask> markTasks = markTaskRepo.findByPaperIdAndStage(paper.getId(), MarkStage.LEVEL);