yin há 8 meses atrás
pai
commit
2533e06094

+ 11 - 4
stmms-web/src/main/java/cn/com/qmth/stmms/admin/dto/SubjectQuestionDTO.java

@@ -297,6 +297,7 @@ public class SubjectQuestionDTO {
     public boolean validateGroupNumber(List<String> error) {
     public boolean validateGroupNumber(List<String> error) {
         Map<String, Integer> trialMap = new HashMap<String, Integer>();
         Map<String, Integer> trialMap = new HashMap<String, Integer>();
         Map<String, Map<Integer,Set<Integer>>> arbitrateTypeMap = new HashMap<>();
         Map<String, Map<Integer,Set<Integer>>> arbitrateTypeMap = new HashMap<>();
+        Map<Integer, Double> doubleRateMap = new HashMap<>();
         for (ExamQuestion question : list) {
         for (ExamQuestion question : list) {
             if (question.getGroupNumber() == null || question.getGroupNumber() < 0) {
             if (question.getGroupNumber() == null || question.getGroupNumber() < 0) {
                 error.add("[" + subjectCode + "] 有评卷分组为空的记录");
                 error.add("[" + subjectCode + "] 有评卷分组为空的记录");
@@ -312,7 +313,12 @@ public class SubjectQuestionDTO {
                 return false;
                 return false;
             }
             }
             //开启双评
             //开启双评
-            if(question.getDoubleRate()!=null && question.getDoubleRate()>0){
+            Double doubleRate = doubleRateMap.get(question.getGroupNumber());
+            if(doubleRate == null){
+                doubleRateMap =new HashMap<>();
+                doubleRateMap.put(question.getGroupNumber(),question.getDoubleRate());
+            }
+            if(doubleRate!=null && doubleRate>0){
                 //判断分组方式是否一致
                 //判断分组方式是否一致
                 Map<Integer,Set<Integer>> groupArbitrateTypeMap= arbitrateTypeMap.get(question.getSubjectCode());
                 Map<Integer,Set<Integer>> groupArbitrateTypeMap= arbitrateTypeMap.get(question.getSubjectCode());
                 if(groupArbitrateTypeMap ==null){
                 if(groupArbitrateTypeMap ==null){
@@ -321,12 +327,13 @@ public class SubjectQuestionDTO {
                 Set<Integer> arbitrateTypeSet= groupArbitrateTypeMap.get(question.getGroupNumber());
                 Set<Integer> arbitrateTypeSet= groupArbitrateTypeMap.get(question.getGroupNumber());
                 if(arbitrateTypeSet ==null ){
                 if(arbitrateTypeSet ==null ){
                     arbitrateTypeSet = new HashSet<>();
                     arbitrateTypeSet = new HashSet<>();
-                }else if(arbitrateTypeSet.size()>1){
+                }
+                arbitrateTypeSet.add(question.getArbitrateType());
+                if(arbitrateTypeSet.size()>1){
                     error.add("[" + subjectCode + "] 分组号" + question.getGroupNumber() + " 仲裁方式不一致");
                     error.add("[" + subjectCode + "] 分组号" + question.getGroupNumber() + " 仲裁方式不一致");
                     return false;
                     return false;
-                }else{
-                    arbitrateTypeSet.add(question.getArbitrateType());
                 }
                 }
+
                 groupArbitrateTypeMap.put(question.getGroupNumber(),arbitrateTypeSet);
                 groupArbitrateTypeMap.put(question.getGroupNumber(),arbitrateTypeSet);
                 arbitrateTypeMap.put(question.getSubjectCode(),groupArbitrateTypeMap);
                 arbitrateTypeMap.put(question.getSubjectCode(),groupArbitrateTypeMap);