Browse Source

关闭分组选做题异常提示

yin 9 months ago
parent
commit
886711a457

+ 6 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkController.java

@@ -238,6 +238,7 @@ public class MarkController extends BaseExamController {
     public String finish(HttpServletRequest request, Model model, RedirectAttributes redirectAttributes,
             @RequestParam String[] codes) {
         int examId = getSessionExamId(request);
+        String messages ="";
         for (String code : codes) {
             MarkLibrarySearchQuery mQuery = new MarkLibrarySearchQuery();
             mQuery.setExamId(examId);
@@ -260,12 +261,17 @@ public class MarkController extends BaseExamController {
                     if (group.getStatus() == MarkStatus.FORMAL && group.getLeftCount() == 0) {
                         groupService.updateStatus(examId, code, group.getNumber(), MarkStatus.FINISH,
                                 group.getStatus());
+                    }else{
+                        messages = " "+code ;
                     }
                 } finally {
                     lockService.unlock(LockType.GROUP, group.getExamId(), group.getSubjectCode(), group.getNumber());
                 }
             }
         }
+        if(StringUtils.isNotBlank(messages)){
+            addMessage(redirectAttributes, messages+" 评卷未完成或选做题异常,无法关闭分组");
+        }
         return "redirect:/admin/exam/mark";
     }
 

+ 6 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkGroupController.java

@@ -835,6 +835,7 @@ public class MarkGroupController extends BaseExamController {
     public String finish(HttpServletRequest request, Model model, RedirectAttributes redirectAttributes,
             @RequestParam String subjectCode, @RequestParam Integer[] groupNumbers) {
         int examId = getSessionExamId(request);
+        String messages ="";
         for (Integer number : groupNumbers) {
             MarkGroup group = groupService.findOne(examId, subjectCode, number);
             if (group == null) {
@@ -846,11 +847,16 @@ public class MarkGroupController extends BaseExamController {
                         && selectiveStudentDao.countByExamIdAndSubjectCodeAndLessSelectiveOrNotSelective(
                                 group.getExamId(), group.getSubjectCode(), true, true) == 0) {
                     groupService.updateStatus(examId, subjectCode, number, MarkStatus.FINISH, group.getStatus());
+                }else{
+                    messages = "评卷未完成或选做题异常,无法关闭分组";
                 }
             } finally {
                 lockService.unlock(LockType.GROUP, group.getExamId(), group.getSubjectCode(), group.getNumber());
             }
         }
+        if(StringUtils.isNotBlank(messages)){
+            addMessage(redirectAttributes, messages);
+        }
         redirectAttributes.addAttribute("subjectCode", subjectCode);
         return "redirect:/admin/exam/group";
     }