Przeglądaj źródła

美术阅卷10月新增需求-加入仲裁自动打回配置

wangliang 5 lat temu
rodzic
commit
72bf8e71c5

+ 1 - 2
stmms-ms-commons/src/main/java/cn/com/qmth/stmms/ms/commons/config/ImageConfig.java

@@ -1,7 +1,6 @@
 package cn.com.qmth.stmms.ms.commons.config;
 
 import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.context.annotation.Configuration;
 import org.springframework.stereotype.Component;
 
 /**
@@ -15,7 +14,7 @@ import org.springframework.stereotype.Component;
 @ConfigurationProperties(prefix = "sys.open", ignoreUnknownFields = false)
 public class ImageConfig {
 
-    private boolean imageEnc;
+    private boolean imageEnc;//是否开启图片加密
 
     public boolean isImageEnc() {
         return imageEnc;

+ 26 - 0
stmms-ms-commons/src/main/java/cn/com/qmth/stmms/ms/commons/config/LevelConfig.java

@@ -0,0 +1,26 @@
+package cn.com.qmth.stmms.ms.commons.config;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description: 档位配置
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2019/11/08
+ */
+@Component
+@ConfigurationProperties(prefix = "sys.level", ignoreUnknownFields = false)
+public class LevelConfig {
+
+    private boolean autoCallback;//是否开启档位仲裁自动打回
+
+    public boolean isAutoCallback() {
+        return autoCallback;
+    }
+
+    public void setAutoCallback(boolean autoCallback) {
+        this.autoCallback = autoCallback;
+    }
+}

+ 2 - 0
stmms-ms-main/src/main/resources/application-dev.properties

@@ -49,6 +49,8 @@ sys.config.sheetDir=/Users/king/stmms-ms/static/sheet
 sys.config.watermark=/Users/king/stmms-ms/static/watermark
 #是否开启图片加密
 sys.open.imageEnc=true
+#是否开启档位仲裁自动打回
+sys.level.autoCallback=true
 #sys.config.imageDir=.\\static\\images
 #sys.config.thumbDir=.\\static\\thumbs
 sys.config.compression.percent=60

+ 30 - 24
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/service/MarkingService.java

@@ -1,5 +1,6 @@
 package cn.com.qmth.stmms.ms.marking.service;
 
+import cn.com.qmth.stmms.ms.commons.config.LevelConfig;
 import cn.com.qmth.stmms.ms.commons.constant.ArbitrateCallback;
 import cn.com.qmth.stmms.ms.core.domain.*;
 import cn.com.qmth.stmms.ms.core.domain.task.MarkTask;
@@ -43,12 +44,15 @@ public class MarkingService {
     @Autowired
     private LevelRepo levelRepo;
 
-    @Autowired
-    private MarkSubjectRepo markSubjectRepo;
+//    @Autowired
+//    private MarkSubjectRepo markSubjectRepo;
 
     @Autowired
     MarkLogRepo markLogRepo;
 
+    @Autowired
+    LevelConfig levelConfig;
+
     /**
      * 提交分档。如果每个评卷都提交了,则进行仲裁判定,如果没有触发仲裁就定档
      *
@@ -117,32 +121,34 @@ public class MarkingService {
             if (result) {
                 //仲裁
                 paper.arbitrate();
-                List<String> levels = markTasks.stream().map(o -> o.getResult()).collect(Collectors.toList());
-                //20191107wangliang加入仲裁自动打回算法
-                List<String> list = ArbitrateCallback.judge(levels, markingConfig.getDeviation());
-                if (Objects.nonNull(list) && list.size() > 0) {
-                    paper.reject(null);
-                    String operResult = null;
-                    List<MarkLog> markLogList = new ArrayList<>();
-                    for (String s : list) {
-                        for (MarkTask m : markTasks) {
-                            if (Objects.equals(s, m.getResult())) {
-                                m.setRejected(true);
-                                m.setOriginLevel(markTask.getResult());
-                                m.setResult(null);
-                                MarkLog markLogPrev = markLogRepo.findTopByCreateUserIdAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(-1L, MarkLogOperType.SYSTEM_CALLBACK_LEVEl.getId(), markTask.getSubject().toString(), paper.getExamNumber());
-                                if (Objects.nonNull(markLogPrev)) {
-                                    operResult = Optional.ofNullable(markLogPrev.getOperDataAfter()).orElse("-");
+                if (levelConfig.isAutoCallback()) {//为true则自动打回
+                    //20191107wangliang加入仲裁自动打回算法
+                    List<String> levels = markTasks.stream().map(o -> o.getResult()).collect(Collectors.toList());
+                    List<String> list = ArbitrateCallback.judge(levels, markingConfig.getDeviation());
+                    if (Objects.nonNull(list) && list.size() > 0) {
+                        paper.reject(null);
+                        String operResult = null;
+                        List<MarkLog> markLogList = new ArrayList<>();
+                        for (String s : list) {
+                            for (MarkTask m : markTasks) {
+                                if (Objects.equals(s, m.getResult())) {
+                                    m.setRejected(true);
+                                    m.setOriginLevel(markTask.getResult());
+                                    m.setResult(null);
+                                    MarkLog markLogPrev = markLogRepo.findTopByCreateUserIdAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(-1L, MarkLogOperType.SYSTEM_CALLBACK_LEVEl.getId(), markTask.getSubject().toString(), paper.getExamNumber());
+                                    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.SYSTEM_CALLBACK_LEVEl.getId(), paper.getWorkId(), paper.getId(), markTask.getStage(), operResult, s, "仲裁自动打回");
+                                    markLogList.add(markLog);
                                 }
-                                //加入打回日志
-                                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, "仲裁自动打回");
-                                markLogList.add(markLog);
                             }
                         }
+                        markTaskRepo.save(markTasks);
+                        paperRepo.save(paper);
+                        markLogRepo.save(markLogList);
                     }
-                    markTaskRepo.save(markTasks);
-                    paperRepo.save(paper);
-                    markLogRepo.save(markLogList);
                 }
             } else {
                 //定档