ting.yin 4 years ago
parent
commit
63a8b63d17

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

@@ -305,7 +305,7 @@ public class MarkServiceImpl implements MarkService {
     @Override
     public boolean applyLibrary(TrialLibrary library, Marker marker) {
         TaskLock taskLock = TaskLockUtil.getTrialTask(getGroupKey(marker));
-        return taskLock.add(getApplyTaskId(library, marker), 1, marker.getId());
+        return taskLock.add(library.getStudentId(), 1, marker.getId());
     }
 
     /**
@@ -335,7 +335,7 @@ public class MarkServiceImpl implements MarkService {
     @Override
     public boolean hasApplied(TrialLibrary library, Marker marker) {
         TaskLock taskLock = TaskLockUtil.getTrialTask(getGroupKey(marker));
-        return taskLock.exist(getApplyTaskId(library, marker), 1, marker.getId());
+        return taskLock.exist(library.getStudentId(), 1, marker.getId());
     }
 
     /**
@@ -355,7 +355,7 @@ public class MarkServiceImpl implements MarkService {
             taskLock.refresh(marker.getId());
         } else if (result.getTrialLibrary() != null) {
             TaskLock taskLock = TaskLockUtil.getTrialTask(getGroupKey(marker));
-            taskLock.remove(getApplyTaskId(result.getTrialLibrary(), marker), 1, marker.getId());
+            taskLock.remove(result.getTrialLibrary().getStudentId(), 1, marker.getId());
         }
     }
 
@@ -369,6 +369,8 @@ public class MarkServiceImpl implements MarkService {
     public void releaseByMarker(Marker marker) {
         TaskLock taskLock = TaskLockUtil.getFormalTask(getGroupKey(marker));
         taskLock.clear(marker.getId());
+        TaskLock lock = TaskLockUtil.getTrialTask(getGroupKey(marker));
+        lock.clear(marker.getId());
     }
 
     /**
@@ -1098,16 +1100,6 @@ public class MarkServiceImpl implements MarkService {
         }
     }
 
-    /**
-     * 领取试评评卷任务时,用来区分的唯一标识
-     *
-     * @param library
-     *            - 试评任务
-     */
-    private String getApplyTaskId(TrialLibrary library, Marker marker) {
-        return library.getId() + "_" + marker.getId();
-    }
-
     private String getGroupKey(MarkGroup group) {
         return group.getExamId() + "_" + group.getSubjectCode() + "_" + group.getNumber();
     }

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

@@ -326,8 +326,12 @@ public class MarkController extends BaseController {
             group.setQuestionList(questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(group.getExamId(),
                     group.getSubjectCode(), false, group.getNumber()));
             json.accumulate("title", group.getTitle());
-            json.accumulate("markedCount", group.getMarkedCount());
             json.accumulate("totalCount", group.getLibraryCount());
+            if (group.getStatus() == MarkStatus.TRIAL) {
+                json.accumulate("markedCount", trialService.countMarkerHistory(m.getId()));
+            } else {
+                json.accumulate("markedCount", group.getMarkedCount());
+            }
             array.add(json);
         }
         return array;