Răsfoiți Sursa

参数修改校验

xiaof 4 ani în urmă
părinte
comite
359d753647

+ 21 - 7
stmms-ms-admin/src/main/java/cn/com/qmth/stmms/ms/admin/api/ParamApi.java

@@ -67,17 +67,31 @@ public class ParamApi {
                                              @RequestParam Integer nameRule,
                                              @RequestParam Integer nameRule,
                                              @RequestParam Integer paperStage) {
                                              @RequestParam Integer paperStage) {
 
 
-        //有采集数据,不能修改采集参数
-        List<Paper> papers = paperRepo.findByWorkId(workId);
-        if (papers != null && !papers.isEmpty()) {
-            throw new RuntimeException("该评卷工作已有采集数据,不能修改");
-        }
 
 
         //保存采集参数
         //保存采集参数
         ParamSetting paramSetting = paramSettingRepo.findByWorkId(workId);
         ParamSetting paramSetting = paramSettingRepo.findByWorkId(workId);
         if (paramSetting == null) {
         if (paramSetting == null) {
             paramSetting = ParamSetting.init();
             paramSetting = ParamSetting.init();
         }
         }
+
+        List<MarkTask> markTasks = markTaskRepo.findByWorkId(workId);
+        if(!markTasks.isEmpty() && markTasks.size() > 0
+                && !Objects.equals(packageScan, paramSetting.getPackageScan())) {
+            throw new RuntimeException("该评卷工作当前不是采集阶段,不能修改是否整包扫描参数");
+        }
+
+        //有采集数据,不能修改采集参数
+        List<Paper> papers = paperRepo.findByWorkId(workId);
+        if (papers != null && !papers.isEmpty()
+                && (!Objects.equals(imageEncrypt, paramSetting.getImageEncrypt())
+                || !Objects.equals(nameRule, paramSetting.getNameRule()))) {
+            throw new RuntimeException("该评卷工作已有采集数据,不能修改图片是否加密、图片命名规则参数");
+        }
+
+        if(paramSetting.getPaperStage() == 1 && !Objects.equals(paperStage, paramSetting.getPaperStage())){
+            throw new RuntimeException("试卷档位已经设置,不能修改");
+        }
+
         paramSetting.setPackageScan(packageScan);
         paramSetting.setPackageScan(packageScan);
         paramSetting.setImageEncrypt(imageEncrypt);
         paramSetting.setImageEncrypt(imageEncrypt);
         paramSetting.setNameRule(nameRule);
         paramSetting.setNameRule(nameRule);
@@ -119,7 +133,7 @@ public class ParamApi {
                 || !Objects.equals(autoCallback, paramSetting.getAutoCallback())
                 || !Objects.equals(autoCallback, paramSetting.getAutoCallback())
                 || !Objects.equals(majority, paramSetting.getMajority())
                 || !Objects.equals(majority, paramSetting.getMajority())
                 || !Objects.equals(cumulativeError, paramSetting.getCumulativeError()))) {
                 || !Objects.equals(cumulativeError, paramSetting.getCumulativeError()))) {
-            throw new RuntimeException("该评卷工作已有评卷数据,不能修改");
+            throw new RuntimeException("该评卷工作已有评卷数据,不能修改仲裁档位差、系统自动打回、是否过半定档参数");
         }
         }
         if (paramSetting == null) {
         if (paramSetting == null) {
             paramSetting = ParamSetting.init();
             paramSetting = ParamSetting.init();
@@ -156,7 +170,7 @@ public class ParamApi {
         //保存打分参数
         //保存打分参数
         ParamSetting paramSetting = paramSettingRepo.findByWorkId(workId);
         ParamSetting paramSetting = paramSettingRepo.findByWorkId(workId);
         if (flag && (!Objects.equals(roundUp, paramSetting.getRoundUp()))) {
         if (flag && (!Objects.equals(roundUp, paramSetting.getRoundUp()))) {
-            throw new RuntimeException("该评卷工作已有评卷数据,不能修改分数处理方式");
+            throw new RuntimeException("该评卷工作已有评卷数据,不能修改分数处理方式参数");
         }
         }
         if (paramSetting == null) {
         if (paramSetting == null) {
             paramSetting = ParamSetting.init();
             paramSetting = ParamSetting.init();