|
@@ -37,6 +37,8 @@ import com.qmth.teachcloud.mark.enums.LockType;
|
|
import com.qmth.teachcloud.mark.enums.OmrTaskStatus;
|
|
import com.qmth.teachcloud.mark.enums.OmrTaskStatus;
|
|
import com.qmth.teachcloud.mark.lock.LockService;
|
|
import com.qmth.teachcloud.mark.lock.LockService;
|
|
import com.qmth.teachcloud.mark.mapper.MarkStudentMapper;
|
|
import com.qmth.teachcloud.mark.mapper.MarkStudentMapper;
|
|
|
|
+import com.qmth.teachcloud.mark.params.MarkHeaderGroupResult;
|
|
|
|
+import com.qmth.teachcloud.mark.params.MarkHeaderResult;
|
|
import com.qmth.teachcloud.mark.params.MarkResult;
|
|
import com.qmth.teachcloud.mark.params.MarkResult;
|
|
import com.qmth.teachcloud.mark.service.*;
|
|
import com.qmth.teachcloud.mark.service.*;
|
|
import com.qmth.teachcloud.mark.utils.BatchGetDataUtil;
|
|
import com.qmth.teachcloud.mark.utils.BatchGetDataUtil;
|
|
@@ -693,22 +695,24 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public void saveSubjectiveInspectedTask(MarkResult markResult) {
|
|
|
|
- boolean success = false;
|
|
|
|
- MarkUserGroup markUserGroup = markUserGroupService.getById(markResult.getMarkUserGroupId());
|
|
|
|
- try {
|
|
|
|
- lockService.watch(LockType.EXAM_SUBJECT, markUserGroup.getExamId(), markUserGroup.getPaperNumber());
|
|
|
|
- lockService.watch(LockType.GROUP, markUserGroup.getExamId(), markUserGroup.getPaperNumber(), markUserGroup.getGroupNumber());
|
|
|
|
- lockService.watch(LockType.MARK_USER_GROUP, markUserGroup.getId());
|
|
|
|
- lockService.waitlock(LockType.STUDENT, markResult.getStudentId());
|
|
|
|
- markService.submitHeaderTask(markResult, markUserGroup);
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- log.error("save task error", e);
|
|
|
|
- } finally {
|
|
|
|
- lockService.unlock(LockType.STUDENT, markResult.getStudentId());
|
|
|
|
- lockService.unwatch(LockType.MARK_USER_GROUP, markUserGroup.getId());
|
|
|
|
- lockService.unwatch(LockType.GROUP, markUserGroup.getExamId(), markUserGroup.getPaperNumber(), markUserGroup.getGroupNumber());
|
|
|
|
- lockService.unwatch(LockType.EXAM_SUBJECT, markUserGroup.getExamId(), markUserGroup.getPaperNumber());
|
|
|
|
|
|
+ public void saveSubjectiveInspectedTask(MarkHeaderResult markResult) {
|
|
|
|
+ SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
|
+ for (MarkHeaderGroupResult groupResult : markResult.getGroups()) {
|
|
|
|
+ MarkUserGroup markUserGroup = markUserGroupService.getByExamIdAndPaperNumberAndGroupNumberAndUserId(markResult.getExamId(), markResult.getPaperNumber(), groupResult.getGroupNumber(), sysUser.getId());
|
|
|
|
+ try {
|
|
|
|
+ lockService.watch(LockType.EXAM_SUBJECT, markUserGroup.getExamId(), markUserGroup.getPaperNumber());
|
|
|
|
+ lockService.watch(LockType.GROUP, markUserGroup.getExamId(), markUserGroup.getPaperNumber(), markUserGroup.getGroupNumber());
|
|
|
|
+ lockService.watch(LockType.MARK_USER_GROUP, markUserGroup.getId());
|
|
|
|
+ lockService.waitlock(LockType.STUDENT, groupResult.getStudentId());
|
|
|
|
+ markService.submitHeaderTask(groupResult, markUserGroup);
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ log.error("save task error", e);
|
|
|
|
+ } finally {
|
|
|
|
+ lockService.unlock(LockType.STUDENT, groupResult.getStudentId());
|
|
|
|
+ lockService.unwatch(LockType.MARK_USER_GROUP, markUserGroup.getId());
|
|
|
|
+ lockService.unwatch(LockType.GROUP, markUserGroup.getExamId(), markUserGroup.getPaperNumber(), markUserGroup.getGroupNumber());
|
|
|
|
+ lockService.unwatch(LockType.EXAM_SUBJECT, markUserGroup.getExamId(), markUserGroup.getPaperNumber());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|