|
@@ -132,10 +132,11 @@ public class PaperLibraryServiceImpl extends ServiceImpl<PaperLibraryMapper, Pap
|
|
PaperScanTaskDetail oldPaperScanTaskDetail = paperScanTaskDetailService.getById(paperLibrary.getPaperScanTaskDetailId());
|
|
PaperScanTaskDetail oldPaperScanTaskDetail = paperScanTaskDetailService.getById(paperLibrary.getPaperScanTaskDetailId());
|
|
// 查询是否有绑定试卷
|
|
// 查询是否有绑定试卷
|
|
int count = this.baseMapper.countByPaperScanTaskDetailId(paperLibrary.getPaperScanTaskDetailId());
|
|
int count = this.baseMapper.countByPaperScanTaskDetailId(paperLibrary.getPaperScanTaskDetailId());
|
|
- oldPaperScanTaskDetail.setBind(count > 0);
|
|
|
|
|
|
+ oldPaperScanTaskDetail.setBindCount(count);
|
|
paperScanTaskDetailService.updateById(oldPaperScanTaskDetail);
|
|
paperScanTaskDetailService.updateById(oldPaperScanTaskDetail);
|
|
}
|
|
}
|
|
- paperScanTaskDetail.setBind(true);
|
|
|
|
|
|
+ int count = this.baseMapper.countByPaperScanTaskDetailId(paperScanTaskDetailId);
|
|
|
|
+ paperScanTaskDetail.setBindCount(count);
|
|
paperScanTaskDetailService.updateById(paperScanTaskDetail);
|
|
paperScanTaskDetailService.updateById(paperScanTaskDetail);
|
|
|
|
|
|
// 任务下所有任务绑定完,更新状态
|
|
// 任务下所有任务绑定完,更新状态
|
|
@@ -229,9 +230,9 @@ public class PaperLibraryServiceImpl extends ServiceImpl<PaperLibraryMapper, Pap
|
|
Long schoolId = SystemConstant.convertIdToLong(String.valueOf(ServletUtil.getRequestHeaderSchoolId()));
|
|
Long schoolId = SystemConstant.convertIdToLong(String.valueOf(ServletUtil.getRequestHeaderSchoolId()));
|
|
|
|
|
|
// 查询下一个待绑定任务
|
|
// 查询下一个待绑定任务
|
|
- List<PaperLibrary> waitPaperLibraryList = this.baseMapper.selectBatchData(schoolId, userId);
|
|
|
|
|
|
+ List<PaperLibrary> waitPaperLibraryList = this.baseMapper.selectBatchData(paperScanTaskId, userId);
|
|
if (waitPaperLibraryList.isEmpty()) {
|
|
if (waitPaperLibraryList.isEmpty()) {
|
|
- waitPaperLibraryList = createBindData(userId, schoolId, paperScanTaskId);
|
|
|
|
|
|
+ waitPaperLibraryList = createBindData(userId, paperScanTaskId);
|
|
}
|
|
}
|
|
|
|
|
|
List<PaperLibraryResult> paperLibraryResultList = new ArrayList<>();
|
|
List<PaperLibraryResult> paperLibraryResultList = new ArrayList<>();
|
|
@@ -424,11 +425,11 @@ public class PaperLibraryServiceImpl extends ServiceImpl<PaperLibraryMapper, Pap
|
|
return this.baseMapper.maxSequence(paperScanTaskId);
|
|
return this.baseMapper.maxSequence(paperScanTaskId);
|
|
}
|
|
}
|
|
|
|
|
|
- private List<PaperLibrary> createBindData(Long userId, Long schoolId, Long paperScanTaskId) {
|
|
|
|
|
|
+ private List<PaperLibrary> createBindData(Long userId, Long paperScanTaskId) {
|
|
try {
|
|
try {
|
|
- lockService.waitlock(LockType.BIND_PAPER_TASK, schoolId);
|
|
|
|
|
|
+ lockService.waitlock(LockType.BIND_PAPER_TASK, paperScanTaskId);
|
|
PaperScanTask paperScanTask = paperScanTaskService.getById(paperScanTaskId);
|
|
PaperScanTask paperScanTask = paperScanTaskService.getById(paperScanTaskId);
|
|
- if (paperScanTask.getCheckUserId() != null && userId != paperScanTask.getCheckUserId()) {
|
|
|
|
|
|
+ if (paperScanTask.getCheckUserId() != null && !userId.equals(paperScanTask.getCheckUserId())) {
|
|
throw ExceptionResultEnum.ERROR.exception("该任务已被其它人绑定,请刷新数据");
|
|
throw ExceptionResultEnum.ERROR.exception("该任务已被其它人绑定,请刷新数据");
|
|
}
|
|
}
|
|
|
|
|
|
@@ -439,14 +440,18 @@ public class PaperLibraryServiceImpl extends ServiceImpl<PaperLibraryMapper, Pap
|
|
|
|
|
|
List<PaperLibrary> paperLibraryList = this.baseMapper.listUnBindData(paperScanTaskId);
|
|
List<PaperLibrary> paperLibraryList = this.baseMapper.listUnBindData(paperScanTaskId);
|
|
if (!paperLibraryList.isEmpty()) {
|
|
if (!paperLibraryList.isEmpty()) {
|
|
- paperLibraryList.forEach(m -> m.setUserId(userId));
|
|
|
|
|
|
+ paperLibraryList.forEach(m -> {
|
|
|
|
+ if (m.getPaperScanTaskDetailId() == null) {
|
|
|
|
+ m.setUserId(userId);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
this.updateBatchById(paperLibraryList);
|
|
this.updateBatchById(paperLibraryList);
|
|
}
|
|
}
|
|
return paperLibraryList;
|
|
return paperLibraryList;
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
} finally {
|
|
} finally {
|
|
- lockService.unlock(LockType.BIND_PAPER_TASK, schoolId);
|
|
|
|
|
|
+ lockService.unlock(LockType.BIND_PAPER_TASK, paperScanTaskId);
|
|
}
|
|
}
|
|
return new ArrayList<>();
|
|
return new ArrayList<>();
|
|
}
|
|
}
|