Jelajahi Sumber

美术阅卷10月新增需求-打回日志修改

wangliang 5 tahun lalu
induk
melakukan
a3a0218194

+ 10 - 1
stmms-ms-core/src/main/java/cn/com/qmth/stmms/ms/core/domain/MarkLogOperType.java

@@ -62,7 +62,12 @@ public enum MarkLogOperType {
     /**
      * 重评
      */
-    REEVALUATION_LEVEl(11, "重评");
+    REEVALUATION_LEVEl(11, "重评"),
+
+    /**
+     * 手动打回
+     */
+    HANDLE_LEVEl(12, "手动打回");
 
     private int id;
 
@@ -116,6 +121,8 @@ public enum MarkLogOperType {
             return SYSTEM_CALLBACK_LEVEl.getId();
         } else if (value.trim().equals(REEVALUATION_LEVEl.name)) {
             return REEVALUATION_LEVEl.getId();
+        } else if (value.trim().equals(HANDLE_LEVEl.name)) {
+            return HANDLE_LEVEl.getId();
         } else {
             return CRITERION_PAPER_SET.getId();
         }
@@ -148,6 +155,8 @@ public enum MarkLogOperType {
             return SYSTEM_CALLBACK_LEVEl.name;
         } else if (id == REEVALUATION_LEVEl.getId()) {
             return REEVALUATION_LEVEl.name;
+        } else if (id == HANDLE_LEVEl.getId()) {
+            return HANDLE_LEVEl.name;
         } else {
             return CRITERION_PAPER_SET.name;
         }

+ 1 - 1
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/api/TaskApi.java

@@ -123,7 +123,7 @@ public class TaskApi {
         if (Objects.nonNull(markLogPrev)) {
             operResult = Optional.ofNullable(markLogPrev.getOperDataAfter()).orElse("-");
         }
-        MarkLog markLog = new MarkLog(-1L, Role.ADMIN.getName(), Role.ADMIN, markTask.getSubject(), paper.getExamNumber(), paper.getStudentName(), MarkLogOperType.REEVALUATION_LEVEl.getId(), paper.getWorkId(), paper.getId(), markTask.getStage(), operResult, markTask.getResult(), "重评");
+        MarkLog markLog = new MarkLog(markTask.getMarkerId(), markTask.getMarkerName(), Role.MARKER, markTask.getSubject(), paper.getExamNumber(), paper.getStudentName(), MarkLogOperType.REEVALUATION_LEVEl.getId(), paper.getWorkId(), paper.getId(), markTask.getStage(), operResult, markTask.getOriginLevel(), MarkLogOperType.REEVALUATION_LEVEl.getName());
         markLogRepo.save(markLog);
         return true;
     }

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

@@ -140,7 +140,7 @@ public class MarkingService {
                                         operResult = Optional.ofNullable(markLogPrev.getOperDataAfter()).orElse("-");
                                     }
                                     //加入打回日志
-                                    MarkLog markLog = new MarkLog(-1L, Role.ADMIN.getName(), Role.ADMIN, markTask.getSubject(), paper.getExamNumber(), paper.getStudentName(), MarkLogOperType.SYSTEM_CALLBACK_LEVEl.getId(), paper.getWorkId(), paper.getId(), markTask.getStage(), operResult, s, "仲裁自动打回");
+                                    MarkLog markLog = new MarkLog(m.getMarkerId(), m.getMarkerName(), Role.MARKER, m.getSubject(), paper.getExamNumber(), paper.getStudentName(), MarkLogOperType.SYSTEM_CALLBACK_LEVEl.getId(), paper.getWorkId(), paper.getId(), m.getStage(), operResult, s, MarkLogOperType.SYSTEM_CALLBACK_LEVEl.getName());
                                     markLogList.add(markLog);
                                 }
                             }
@@ -209,6 +209,7 @@ public class MarkingService {
         //打回后撤销标准卷
         paper.setSample(false);
         List<MarkTask> markTasks = markTaskRepo.findByPaperIdAndStage(paper.getId(), MarkStage.LEVEL);
+        List<MarkLog> markLogList = new ArrayList<>();
         for (MarkTask markTask : markTasks) {
             /*if (markTask.getResult() != null && !markTask.getResult().toString().equals(redoLevel)) {
                 markTask.setRejected(true);
@@ -217,17 +218,26 @@ public class MarkingService {
             }*/
             String[] range = ranges.split(",");
             if (range.length > 0) {
+                //加入手动打回日志
+                String operResult = null;
                 for (String r : range) {
                     if (Objects.equals(String.valueOf(markTask.getMarkerId()), r)) {
                         markTask.setRejected(true);
                         markTask.setOriginLevel(markTask.getResult());
                         markTask.setResult(null);
+                        MarkLog markLogPrev = markLogRepo.findTopByCreateUserIdAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(-1L, MarkLogOperType.HANDLE_LEVEl.getId(), markTask.getSubject().toString(), paper.getExamNumber());
+                        if (Objects.nonNull(markLogPrev)) {
+                            operResult = Optional.ofNullable(markLogPrev.getOperDataAfter()).orElse("-");
+                        }
+                        MarkLog markLog = new MarkLog(markTask.getMarkerId(), markTask.getMarkerName(), Role.MARKER, markTask.getSubject(), paper.getExamNumber(), paper.getStudentName(), MarkLogOperType.HANDLE_LEVEl.getId(), paper.getWorkId(), paper.getId(), markTask.getStage(), operResult, markTask.getOriginLevel(), MarkLogOperType.HANDLE_LEVEl.getName());
+                        markLogList.add(markLog);
                     }
                 }
             }
         }
         markTaskRepo.save(markTasks);
         paperRepo.save(paper);
+        markLogRepo.save(markLogList);
         return paper;
     }