Sfoglia il codice sorgente

科目分值不等于0.25的倍数时提示异常

yin 7 mesi fa
parent
commit
cde4fb8b39

+ 10 - 3
stmms-web/src/main/java/cn/com/qmth/stmms/admin/report/ReportSubjectRangeController.java

@@ -103,7 +103,7 @@ public class ReportSubjectRangeController extends BaseExamController {
 
     @Logging(menu = "课程分段统计", type = LogType.QUERY)
     @RequestMapping
-    public String list(Model model, HttpServletRequest request, ReportSubjectQuery query) {
+    public String list(Model model, HttpServletRequest request, ReportSubjectQuery query,RedirectAttributes redirectAttributes) {
         WebUser wu = RequestUtils.getWebUser(request);
         int examId = getSessionExamId(request);
         List<ExamSubject> sList = getExamSubject(examId, wu);
@@ -111,8 +111,15 @@ public class ReportSubjectRangeController extends BaseExamController {
             ReportSubject subject = reportSubjectService.findOne(examId, query.getSubjectCode());
             if (subject != null && subject.getScoreRange() != null && subject.getTotalScore() != null
                     && subject.getRealityCount() != null) {
-                model.addAttribute("total", getScoreRange(subject.getScoreRange(), subject.getTotalScore(),
-                        subject.getRealityCount(), query.getRange()));
+                try{
+                    JSONArray total = getScoreRange(subject.getScoreRange(), subject.getTotalScore(),
+                            subject.getRealityCount(), query.getRange());
+                    model.addAttribute("total",total );
+                }catch (Exception e){
+                    e.printStackTrace();
+                    addMessage(redirectAttributes, "分析失败!请检查科目分值是否正确,并重新计算后查看");
+                    return "redirect:/admin/exam/reportSubjectRange";
+                }
             }
             model.addAttribute("locked",
                     lockService.isLocked(LockType.SCORE_CALCULATE, examId, query.getSubjectCode()));