Browse Source

新增一些校验

yin 8 tháng trước cách đây
mục cha
commit
da7e8d0ce7

+ 4 - 0
src/main/java/cn/com/qmth/scancentral/controller/admin/CheckAbsentController.java

@@ -14,6 +14,7 @@ import javax.servlet.http.HttpServletResponse;
 
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.task.AsyncTaskExecutor;
 import org.springframework.validation.annotation.Validated;
@@ -215,6 +216,9 @@ public class CheckAbsentController extends BaseController {
     @RequestMapping(value = "exam-status/list", method = RequestMethod.POST)
     public PageResult<AnswerQueryVo> examStatusList(@Validated AnswerQueryParam query) {
         query.setWithOmrDetail(true);
+        if (StringUtils.isBlank(query.getSubjectCode())) {
+            throw new ParameterException("科目代码不能为空");
+        }
         return studentService.query(query);
     }
 

+ 13 - 7
src/main/java/cn/com/qmth/scancentral/service/impl/ExamServiceImpl.java

@@ -203,17 +203,23 @@ public class ExamServiceImpl extends ServiceImpl<ExamDao, ExamEntity> implements
         vo.getScan().setImageCheckCount(imageCheckCount);
         vo.getScan().setImageCheckTodoCount(imageCheckTodoCount);
 
-        int auditorTodoCount = studentService.getCountByExamAndAssignedCheckCount(examId, null, 0, OP.EQ);
-        int auditorFinishCount = studentService.getCountByExamAndAssignedCheckCount(examId, null, 0, OP.GT);
+        if (exam.getEnableSyncVerify()){
+            int auditorTodoCount = studentService.getCountByExamAndAssignedCheckCount(examId, null, 0, OP.EQ);
+            int auditorFinishCount = studentService.getCountByExamAndAssignedCheckCount(examId, null, 0, OP.GT);
+            int auditorTotalCount = auditorTodoCount + auditorFinishCount;
+            double auditorFinishRate = MathUtil.percentage(auditorFinishCount, auditorTotalCount);
+            vo.getAssignedCheck().setAuditorTodoCount(auditorTodoCount);
+            vo.getAssignedCheck().setAuditorFinishCount(auditorFinishCount);
+            vo.getAssignedCheck().setAuditorFinishRate(auditorFinishRate);
+        }else{
+            vo.getAssignedCheck().setAuditorTodoCount(0);
+            vo.getAssignedCheck().setAuditorFinishCount(0);
+            vo.getAssignedCheck().setAuditorFinishRate(0);
+        }
         int adminTodoCount = studentService.getCountByExamAndAssignedCheckCount(examId, null, 1, OP.EQ);
         int adminFinishCount = studentService.getCountByExamAndAssignedCheckCount(examId, null, 2, OP.GE);
-        int auditorTotalCount = auditorTodoCount + auditorFinishCount;
-        double auditorFinishRate = MathUtil.percentage(auditorFinishCount, auditorTotalCount);
         int adminTotalCount = adminTodoCount + adminFinishCount;
         double adminFinishRate = MathUtil.percentage(adminFinishCount, adminTotalCount);
-        vo.getAssignedCheck().setAuditorTodoCount(auditorTodoCount);
-        vo.getAssignedCheck().setAuditorFinishCount(auditorFinishCount);
-        vo.getAssignedCheck().setAuditorFinishRate(auditorFinishRate);
         vo.getAssignedCheck().setAdminTodoCount(adminTodoCount);
         vo.getAssignedCheck().setAdminFinishCount(adminFinishCount);
         vo.getAssignedCheck().setAdminFinishRate(adminFinishRate);