Browse Source

修改删除分组校验;新增导入分组仲裁阈值校验

yin 7 months ago
parent
commit
5ffb963d86

+ 25 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/admin/dto/SubjectQuestionDTO.java

@@ -296,6 +296,7 @@ public class SubjectQuestionDTO {
 
     public boolean validateGroupNumber(List<String> error) {
         Map<String, Integer> trialMap = new HashMap<String, Integer>();
+        Map<String, Map<Integer,Set<Integer>>> arbitrateTypeMap = new HashMap<>();
         for (ExamQuestion question : list) {
             if (question.getGroupNumber() == null || question.getGroupNumber() < 0) {
                 error.add("[" + subjectCode + "] 有评卷分组为空的记录");
@@ -310,6 +311,30 @@ public class SubjectQuestionDTO {
                 error.add("[" + subjectCode + "] 有试评数量不一致的记录");
                 return false;
             }
+            //开启双评
+            if(question.getArbitrateThreshold()!=null && question.getArbitrateThreshold()>0){
+                //判断分组方式是否一致
+                Map<Integer,Set<Integer>> groupArbitrateTypeMap= arbitrateTypeMap.get(question.getSubjectCode());
+                if(groupArbitrateTypeMap ==null){
+                    groupArbitrateTypeMap = new HashMap<>();
+                }
+                Set<Integer> arbitrateTypeSet= groupArbitrateTypeMap.get(question.getGroupNumber());
+                if(arbitrateTypeSet ==null ){
+                    arbitrateTypeSet = new HashSet<>();
+                }else if(arbitrateTypeSet.size()>1){
+                    error.add("[" + subjectCode + "] 分组号" + question.getGroupNumber() + " 仲裁方式不一致");
+                    return false;
+                }else{
+                    arbitrateTypeSet.add(question.getArbitrateType());
+                }
+                groupArbitrateTypeMap.put(question.getGroupNumber(),arbitrateTypeSet);
+                arbitrateTypeMap.put(question.getSubjectCode(),groupArbitrateTypeMap);
+
+                if(1==question.getArbitrateType() && question.getArbitrateThreshold()==null ){
+                    error.add("[" + subjectCode + "] 分组号" + question.getGroupNumber() + " 仲裁阈值为空");
+                    return false;
+                }
+            }
         }
         return true;
     }

+ 9 - 14
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/groupEditFull.jsp

@@ -237,6 +237,11 @@
     <li id="nextLi"><a>分组参数设置</a></li>
 </ul>
 <br/>
+<form:form id="deleteForm" modelAttribute="group" action="${ctx}/admin/exam/group/delete" method="post"
+           class="form-horizontal">
+    <form:hidden path="subjectCode"/>
+    <input type="hidden" id="number" name="number" value="${group.number }"/>
+</form:form>
 <form:form id="inputForm" modelAttribute="group" action="${ctx}/admin/exam/group/update" method="post"
            class="form-horizontal">
     <tags:message content="${message}"/>
@@ -542,12 +547,7 @@
         var deleteCheck = '${deleteCheck}';
         if (deleteCheck == 'false') {
             deleteDivHide();
-            $("#doubleRate").removeClass("required");
-            $('.arbitrateThreshold-input').each(function () {
-                $(this).removeClass("required");
-            });
-            $("#inputForm").attr("action", "${ctx}/admin/exam/group/delete");
-            $("#inputForm").submit();
+            $("#deleteForm").submit();
             return;
         }
         var subjectCode = '${group.subjectCode}';
@@ -561,16 +561,11 @@
         }, function (initParams, deleteCode) {
             //这个回调方法里写进度小余10%的业务分支
             deleteDivHide();
-            $("#doubleRate").removeClass("required");
-            $('.arbitrateThreshold-input').each(function () {
-                $(this).removeClass("required");
-            });
             if (deleteCode != null && deleteCode != '') {
-                $("#inputForm").attr("action", "${ctx}/admin/exam/group/delete?deleteCode=" + deleteCode);
-                $("#inputForm").submit();
+                $("#deleteForm").attr("action", "${ctx}/admin/exam/group/delete?deleteCode=" + deleteCode);
+                $("#deleteForm").submit();
             } else {
-                $("#inputForm").attr("action", "${ctx}/admin/exam/group/delete");
-                $("#inputForm").submit();
+                $("#deleteForm").submit();
             }
         })
     });