浏览代码

InspectdController.save

xiatian 1 年之前
父节点
当前提交
3d800586d1
共有 1 个文件被更改,包括 9 次插入4 次删除
  1. 9 4
      stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/InspectedController.java

+ 9 - 4
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/InspectedController.java

@@ -258,10 +258,15 @@ public class InspectedController extends BaseExamController {
         WebUser wu = RequestUtils.getWebUser(request);
         JSONObject obj = new JSONObject();
         ExamStudent student = studentService.findById(studentId);
+        if(student==null) {
+        	obj.accumulate("success", false);
+            obj.accumulate("message", "未找到考生信息");
+            return obj;
+        }
         try {
             lockService.watch(LockType.EXAM_SUBJECT, student.getExamId(), student.getSubjectCode());
             lockService.waitlock(LockType.STUDENT, studentId);
-            if (student != null && inspectedService.inspect(student, wu.getId())) {
+            if (inspectedService.inspect(student, wu.getId())) {
                 inspectedService.releaseByStudent(student);
                 obj.accumulate("success", true);
             } else {
@@ -304,7 +309,6 @@ public class InspectedController extends BaseExamController {
     public JSONObject cancel(HttpServletRequest request, @RequestParam Integer studentId) {
         JSONObject obj = new JSONObject();
         ExamStudent student = studentService.findById(studentId);
-        obj.accumulate("subjectCode", student.getSubjectCode());
         WebUser wu = RequestUtils.getWebUser(request);
         if (student != null && subjectCheck(student.getSubjectCode(), wu)) {
             try {
@@ -328,6 +332,7 @@ public class InspectedController extends BaseExamController {
             obj.accumulate("success", false);
             obj.accumulate("message", "没有操作该评卷任务的权限");
         }
+        obj.accumulate("subjectCode", student.getSubjectCode());
         return obj;
     }
 
@@ -363,10 +368,10 @@ public class InspectedController extends BaseExamController {
             obj.accumulate("message", "无法打回");
             return obj;
         }
-        if (student.getSubjectiveStatus().equals(SubjectiveStatus.MARKED) && subjectCheck(student.getSubjectCode(), wu)
-                && lockService.trylock(LockType.STUDENT, student.getId())) {
+        if (student.getSubjectiveStatus().equals(SubjectiveStatus.MARKED) && subjectCheck(student.getSubjectCode(), wu)) {
             try {
                 lockService.watch(LockType.EXAM_SUBJECT, student.getExamId(), student.getSubjectCode());
+                lockService.waitlock(LockType.STUDENT, student.getId());
                 if (markService.rejectedStudent(student, rejectResult.getQuestionList(), wu.getId(),
                         rejectResult.getReason())) {
                     inspectedService.releaseByStudent(student);