|
@@ -113,9 +113,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
@Resource
|
|
|
TBTaskService tbTaskService;
|
|
|
|
|
|
- @Resource
|
|
|
- AsyncCreatePdfTempleteService asyncCreatePdfTempleteService;
|
|
|
-
|
|
|
@Autowired
|
|
|
private ExamTaskPaperLogService examTaskPaperLogService;
|
|
|
|
|
@@ -149,6 +146,12 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
@Resource
|
|
|
RedisUtil redisUtil;
|
|
|
|
|
|
+ @Resource
|
|
|
+ TFFlowApproveLogService tfFlowApproveLogService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ TFFlowLogService tfFlowLogService;
|
|
|
+
|
|
|
@Resource
|
|
|
SysOrgService sysOrgService;
|
|
|
|
|
@@ -319,7 +322,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
|
|
|
ExamTask task = this.getById(examTask.getId());
|
|
|
if (Objects.nonNull(task.getFlowId())) {
|
|
|
- TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(task.getFlowId());
|
|
|
+ TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(task.getFlowId(), task.getSchoolId());
|
|
|
if (tfFlowApprove.getStatus().equals(FlowStatusEnum.FINISH) ||
|
|
|
tfFlowApprove.getStatus().equals(FlowStatusEnum.END)) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("流程状态为已结束或已终止,不能启用/禁用操作");
|
|
@@ -962,15 +965,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
|
|
|
// 更新examTask状态status
|
|
|
ExamTask examTask = this.getById(examTaskDetail.getExamTaskId());
|
|
|
- UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
|
|
|
- updateWrapper.lambda()
|
|
|
- .set(ExamTask::getStatus, examTaskDetail.getOperateType())
|
|
|
- .set(ExamTask::getUpdateId, sysUser.getId())
|
|
|
- .set(ExamTask::getUpdateTime, System.currentTimeMillis())
|
|
|
- .set(ExamTask::getReviewStatus, null)
|
|
|
- .set(ExamTask::getFlowId, examTask.getFlowId())
|
|
|
- .eq(ExamTask::getId, examTask.getId());
|
|
|
- this.update(updateWrapper);
|
|
|
|
|
|
if (Objects.nonNull(examTask.getFlowId()) && ExamStatusEnum.SUBMIT.name().equals(examTaskDetail.getOperateType())) {
|
|
|
//TODO 加入从前端获取userId
|
|
@@ -983,8 +977,42 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
map1.computeIfAbsent(SystemConstant.PAPAER_ATTACHMENT_IDS, v -> examTaskDetail.getPaperAttachmentIds());
|
|
|
activitiService.taskApprove(map1);
|
|
|
}
|
|
|
+ } else {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.computeIfAbsent(SystemConstant.APPROVE_ID, v -> String.valueOf(examTask.getUserId()));
|
|
|
+ map.computeIfAbsent(SystemConstant.TEACHING_ROOM_ID, v -> examTask.getTeachingRoomId());
|
|
|
+ ProcessInstance processInstance = activitiService.flowStart(map);
|
|
|
+ examTask.setFlowId(SystemConstant.convertIdToLong(processInstance.getId()));
|
|
|
+
|
|
|
+ List<TExamTaskFlow> tExamTaskFlowList = tExamTaskFlowService.findByExamTaskId(examTask.getId());
|
|
|
+ tExamTaskFlowService.removeByIds(tExamTaskFlowList.stream().map(s -> s.getId()).collect(Collectors.toList()));
|
|
|
+
|
|
|
+ Map<String, Object> map2 = new HashMap<>();
|
|
|
+ map2.computeIfAbsent(SystemConstant.EXAM_TASK_ID, v -> examTask.getId());
|
|
|
+ map2.computeIfAbsent(SystemConstant.FLOW_ID, v -> examTask.getFlowId());
|
|
|
+ tExamTaskFlowService.saveOrUpdate(map2);
|
|
|
+
|
|
|
+ //TODO 撤销问题
|
|
|
+// Task task = taskService.createTaskQuery().processInstanceId(String.valueOf(examTask.getFlowId())).singleResult();
|
|
|
+// if (Objects.nonNull(task)) {
|
|
|
+// Map<String, Object> map1 = new HashMap<>();
|
|
|
+// map1.computeIfAbsent(SystemConstant.FLOW_TASK_ID, v -> task.getId());
|
|
|
+// map1.computeIfAbsent(SystemConstant.APPROVE_USER_IDS, v -> examTaskDetail.getApproveUserIds());
|
|
|
+// map1.computeIfAbsent(SystemConstant.PAPAER_ATTACHMENT_IDS, v -> examTaskDetail.getPaperAttachmentIds());
|
|
|
+// activitiService.taskApprove(map1);
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
+ UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
|
|
|
+ updateWrapper.lambda()
|
|
|
+ .set(ExamTask::getStatus, examTaskDetail.getOperateType())
|
|
|
+ .set(ExamTask::getUpdateId, sysUser.getId())
|
|
|
+ .set(ExamTask::getUpdateTime, System.currentTimeMillis())
|
|
|
+ .set(ExamTask::getReviewStatus, null)
|
|
|
+ .set(ExamTask::getFlowId, examTask.getFlowId())
|
|
|
+ .eq(ExamTask::getId, examTask.getId());
|
|
|
+ this.update(updateWrapper);
|
|
|
+
|
|
|
QueryWrapper<ExamTaskDetail> queryWrapper = new QueryWrapper<>();
|
|
|
queryWrapper.lambda().eq(ExamTaskDetail::getExamTaskId, examTaskDetail.getExamTaskId());
|
|
|
ExamTaskDetail detail = examTaskDetailService.getOne(queryWrapper);
|
|
@@ -1015,6 +1043,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public boolean status(ExamTask examTask) {
|
|
|
if (examTask.getId() == null) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("参数有误");
|
|
@@ -1027,7 +1056,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
throw ExceptionResultEnum.ERROR.exception("审核流程有误,不能撤回");
|
|
|
}
|
|
|
|
|
|
- TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(task.getFlowId());
|
|
|
+ TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(task.getFlowId(), task.getSchoolId());
|
|
|
if (Objects.isNull(tfFlowApprove)) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("审核流程进度丢失,不能撤回");
|
|
|
}
|
|
@@ -1036,21 +1065,39 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
throw ExceptionResultEnum.ERROR.exception("当前审核节点不能撤回");
|
|
|
}
|
|
|
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.computeIfAbsent(SystemConstant.APPROVE_ID, v -> String.valueOf(task.getUserId()));
|
|
|
- map.computeIfAbsent(SystemConstant.TEACHING_ROOM_ID, v -> task.getTeachingRoomId());
|
|
|
- ProcessInstance processInstance = activitiService.flowStart(map);
|
|
|
+// Map<String, Object> map = new HashMap<>();
|
|
|
+// map.computeIfAbsent(SystemConstant.APPROVE_ID, v -> String.valueOf(task.getUserId()));
|
|
|
+// map.computeIfAbsent(SystemConstant.TEACHING_ROOM_ID, v -> task.getTeachingRoomId());
|
|
|
+// ProcessInstance processInstance = activitiService.flowStart(map);
|
|
|
|
|
|
- Map<String, Object> map2 = new HashMap<>();
|
|
|
- map2.computeIfAbsent(SystemConstant.EXAM_TASK_ID, v -> examTask.getId());
|
|
|
- map2.computeIfAbsent(SystemConstant.FLOW_ID, v -> Long.parseLong(processInstance.getId()));
|
|
|
- tExamTaskFlowService.saveOrUpdate(map2);
|
|
|
+// tfFlowApproveService.removeById(tfFlowApprove);
|
|
|
+//
|
|
|
+// TFFlowApproveLog tfFlowApproveLog = tfFlowApproveLogService.findByFlowId(task.getFlowId());
|
|
|
+// if (Objects.nonNull(tfFlowApproveLog)) {
|
|
|
+// tfFlowApproveLogService.removeById(tfFlowApproveLog);
|
|
|
+// }
|
|
|
+//
|
|
|
+// List<TFFlowLog> tfFlowLogList = tfFlowLogService.findByFlowId(task.getFlowId());
|
|
|
+// if (Objects.nonNull(tfFlowLogList) && tfFlowLogList.size() > 0) {
|
|
|
+// tfFlowLogService.removeByIds(tfFlowLogList.stream().map(s -> s.getId()).collect(Collectors.toList()));
|
|
|
+// }
|
|
|
+//
|
|
|
+// TExamTaskFlow tExamTaskFlow = tExamTaskFlowService.findByFlowLevel(task.getId());
|
|
|
+// tExamTaskFlowService.removeById(tExamTaskFlow);
|
|
|
|
|
|
- UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
|
|
|
- updateWrapper.lambda().set(ExamTask::getStatus, ExamStatusEnum.STAGE)
|
|
|
- .set(ExamTask::getFlowId, Long.parseLong(processInstance.getId()))
|
|
|
- .eq(ExamTask::getId, examTask.getId());
|
|
|
- return this.update(updateWrapper);
|
|
|
+// UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
|
|
|
+// updateWrapper.lambda().set(ExamTask::getStatus, ExamStatusEnum.STAGE)
|
|
|
+// .set(ExamTask::getFlowId, null)
|
|
|
+// .eq(ExamTask::getId, examTask.getId());
|
|
|
+// this.update(updateWrapper);
|
|
|
+
|
|
|
+ activitiService.flowEnd(String.valueOf(task.getFlowId()));
|
|
|
+
|
|
|
+// Map<String, Object> map2 = new HashMap<>();
|
|
|
+// map2.computeIfAbsent(SystemConstant.EXAM_TASK_ID, v -> examTask.getId());
|
|
|
+// map2.computeIfAbsent(SystemConstant.FLOW_ID, v -> Long.parseLong(processInstance.getId()));
|
|
|
+// tExamTaskFlowService.saveOrUpdate(map2);
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
@Override
|