ting.yin %!s(int64=4) %!d(string=hai) anos
pai
achega
efc3c6b0e6

+ 7 - 5
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkServiceImpl.java

@@ -571,7 +571,8 @@ public class MarkServiceImpl implements MarkService {
      */
     private boolean submitLibrary(MarkLibrary library, Marker marker, MarkGroup group, MarkResult result) {
         // 非本人领取的待评任务
-        if (library.getStatus() == LibraryStatus.WAITING && !hasApplied(library, marker)) {
+        if ((library.getStatus() == LibraryStatus.WAITING || library.getStatus() == LibraryStatus.REJECTED)
+                && !hasApplied(library, marker)) {
             return false;
         }
         // 非本人的回评任务
@@ -588,7 +589,7 @@ public class MarkServiceImpl implements MarkService {
         Date now = new Date();
         if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.MARKED, marker.getId(),
                 result.getMarkerScore(), result.getScoreList(), now, result.getSpent(), LibraryStatus.WAITING,
-                LibraryStatus.MARKED, LibraryStatus.INSPECTED) == 0) {
+                LibraryStatus.MARKED, LibraryStatus.INSPECTED, LibraryStatus.REJECTED) == 0) {
             // 条件不符更新失败,直接返回
             return false;
         }
@@ -1413,9 +1414,10 @@ public class MarkServiceImpl implements MarkService {
                             markerScoreList.append(",");
                         }
                     }
-                    libraryDao.updateMarkerResult(library.getId(), LibraryStatus.REJECTED, null, null,
-                            markerScoreList.toString(), null, null, LibraryStatus.MARKED);
-                    count++;
+                    if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.REJECTED, null, null,
+                            markerScoreList.toString(), null, null, LibraryStatus.MARKED) == 1) {
+                        count++;
+                    }
                 }
             }
             if (count > 0) {

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

@@ -252,7 +252,9 @@ public class InspectedController extends BaseExamController {
         JSONObject obj = new JSONObject();
         ExamStudent student = studentService.findById(rejectResult.getStudentId());
         WebUser wu = RequestUtils.getWebUser(request);
-        if (student != null && student.getSubjectiveStatus().equals(SubjectiveStatus.MARKED)) {
+        if (student != null
+                && (student.getSubjectiveStatus().equals(SubjectiveStatus.MARKED) || student.getSubjectiveStatus()
+                        .equals(SubjectiveStatus.INSPECTED))) {
             if (subjectCheck(student.getSubjectCode(), wu) && lockService.trylock(LockType.STUDENT, student.getId())) {
                 try {
                     lockService.watch(LockType.EXAM_SUBJECT, student.getExamId(), student.getSubjectCode());
@@ -276,7 +278,7 @@ public class InspectedController extends BaseExamController {
             }
         } else {
             obj.accumulate("success", false);
-            obj.accumulate("message", "无法取消复核");
+            obj.accumulate("message", "无法打回");
         }
         return obj;
     }

+ 4 - 1
stmms-web/src/main/java/cn/com/qmth/stmms/mark/MarkController.java

@@ -183,6 +183,10 @@ public class MarkController extends BaseController {
         modelAndView.addObject("examList", examList);
 
         Marker marker = markerService.findById(markerId);
+        if (marker == null) {
+            modelAndView.addObject("message", "user.login.error.group");
+            return modelAndView;
+        }
         Exam exam = examService.findById(marker.getExamId());
         modelAndView.addObject("exam", exam);
         MarkGroup group = groupService.findOne(marker.getExamId(), marker.getSubjectCode(), marker.getGroupNumber());
@@ -194,7 +198,6 @@ public class MarkController extends BaseController {
             modelAndView.addObject("message", "user.login.error.finish");
             return modelAndView;
         }
-
         user.setMarkerId(marker.getId());
         StmmsSession session = RequestUtils.getSession(request);
         session.saveWebUser(user);