ting.yin 4 年 前
コミット
3d4f40157c

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

@@ -486,7 +486,8 @@ public class MarkServiceImpl implements MarkService {
                 // 状态更新
                 Date now = new Date();
                 if (libraryDao.updateProblemResult(library.getId(), LibraryStatus.PROBLEM, marker.getId(), now,
-                        result.getSpent(), LibraryStatus.WAITING, LibraryStatus.MARKED, LibraryStatus.INSPECTED) != 0) {
+                        result.getSpent(), LibraryStatus.WAITING, LibraryStatus.MARKED, LibraryStatus.INSPECTED,
+                        LibraryStatus.REJECTED) != 0) {
                     saveProblemHistory(result, library);
                     updateMarkedCount(group);
                     return SubmitResult.success(library);

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

@@ -171,7 +171,8 @@ public class InspectedController extends BaseExamController {
         JSONObject obj = new JSONObject();
         try {
             if (lockService.trylock(LockType.STUDENT, student.getId())
-                    && inspectedService.hasApplied(student, wu.getId())) {
+                    && inspectedService.hasApplied(student, wu.getId())
+                    && SubjectiveStatus.MARKED.equals(student.getSubjectiveStatus())) {
                 studentService.updateSubjectiveStatusAndTimeAndInspectorId(studentId, SubjectiveStatus.INSPECTED,
                         new Date(), wu.getUser().getId());
                 inspectedService.releaseByStudent(student);

+ 6 - 7
stmms-web/src/main/java/cn/com/qmth/stmms/mark/MarkController.java

@@ -376,16 +376,10 @@ public class MarkController extends BaseController {
             // 需要判断评卷员是否绑定了班级
             Set<LibraryStatus> statusSet = new HashSet<>();
             statusSet.add(LibraryStatus.WAITING);
+            statusSet.add(LibraryStatus.REJECTED);
             long classCount = markerClassService.countByUserIdAndExamId(marker.getUserId(), marker.getExamId());
             list = libraryService.findUnMarked(marker.getExamId(), marker.getSubjectCode(), marker.getGroupNumber(),
                     marker.getId(), marker.getUserId(), classCount > 0, retry, 20, statusSet);
-            if (list.isEmpty()) {
-                // 正评任务无法获取后,获取打回的任务
-                statusSet.add(LibraryStatus.REJECTED);
-                list = libraryService.findUnMarked(marker.getExamId(), marker.getSubjectCode(),
-                        marker.getGroupNumber(), marker.getId(), marker.getUserId(), classCount > 0, retry, 20,
-                        statusSet);
-            }
             if (list.isEmpty()) {
                 break;
             }
@@ -565,6 +559,11 @@ public class MarkController extends BaseController {
         Marker old = user.getMarker();
         Marker marker = markerService.findById(markerId);
         JSONObject result = new JSONObject();
+        if (marker == null) {
+            result.accumulate("success", false);
+            result.accumulate("message", "评卷分组不存在");
+            return result;
+        }
         MarkGroup group = groupService.findOne(marker.getExamId(), marker.getSubjectCode(), marker.getGroupNumber());
         if (group == null) {
             result.accumulate("success", false);