Browse Source

修改MarkController提交任务前的校验规则,增加评卷员操作权限校验

luoshi 6 năm trước cách đây
mục cha
commit
d79c11676c

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

@@ -277,7 +277,7 @@ public class MarkController extends BaseController {
         try {
             task.setSpent((new Date().getTime() - task.getSpent()) / 1000);
             MarkLibrary library = libraryService.findById(task.getLibraryId());
-            if (library != null && library.getStatus() != LibraryStatus.ARBITRATED && library.getStatus() != LibraryStatus.WAIT_ARBITRATE) {
+            if (checkLibrary(library, marker)) {
                 library.setMarkerId(marker.getId());
                 library.setMarkerTime(new Date());
                 library.setMarkerScore(task.getTotalScore());
@@ -353,4 +353,23 @@ public class MarkController extends BaseController {
         return array;
     }
 
+    private boolean checkLibrary(MarkLibrary library, Marker marker) {
+        if (library == null) {
+            return false;
+        }
+        if (!library.getExamId().equals(marker.getExamId())) {
+            return false;
+        }
+        if (!library.getSubjectCode().equals(marker.getSubjectCode())) {
+            return false;
+        }
+        if (!library.getGroupNumber().equals(marker.getGroupNumber())) {
+            return false;
+        }
+        if (library.getStatus() != LibraryStatus.WAITING && library.getStatus() != LibraryStatus.MARKED) {
+            return false;
+        }
+        return true;
+    }
+
 }