feat: 制修订流程主起草人分发

This commit is contained in:
2023-12-27 12:02:12 +08:00
parent ccd17b056f
commit 0493b9f694
2 changed files with 22 additions and 15 deletions
@@ -21,14 +21,12 @@ public class OtherDrafterUploadCreateListener implements ExecutionListener {
@Override @Override
public void notify(DelegateExecution delegateExecution) { public void notify(DelegateExecution delegateExecution) {
log.info("企标制修订流程 其他起草人上传节点 创建监听执行器开始执行"); log.info("企标制修订流程 其他起草人上传节点 创建监听执行器开始执行");
// 获取流程实例ID
String processInstanceId = delegateExecution.getProcessInstanceId();
// 获取执行人 // 获取执行人
String otherDraftUser = (String) delegateExecution.getVariable("otherDraftUser"); String otherDraftUser = (String) delegateExecution.getVariable("otherDraftUser");
// 获取对应的结束时间 // 获取对应的结束时间
String deadline = (String) delegateExecution.getVariable(otherDraftUser + "-deadline"); String deadline = (String) delegateExecution.getVariable(otherDraftUser + "-deadline");
// 设置流程变量 // 设置流程变量
delegateExecution.setVariableLocal("deadline", deadline); delegateExecution.setVariable("deadline", deadline);
log.info("企标制修订流程 其他起草人上传节点 创建监听执行器开始执行"); log.info("企标制修订流程 其他起草人上传节点 创建监听执行器开始执行");
} }
} }
@@ -132,6 +132,13 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
actVariables.put("distribute", true); actVariables.put("distribute", true);
actVariables.put("otherDraftUserList", otherDraftUserVOS.stream().map(OtherDraftUserVO::getUser) actVariables.put("otherDraftUserList", otherDraftUserVOS.stream().map(OtherDraftUserVO::getUser)
.collect(Collectors.toList())); .collect(Collectors.toList()));
// 遍历其他起草人列表,将截止时间放置到流程变量中
Map<String, Object> deadlineMap = new HashMap<>();
otherDraftUserVOS.forEach(otherDraftUserVO -> deadlineMap
.put(otherDraftUserVO.getUser() + "-deadline", otherDraftUserVO.getISODeadlineTime()));
actVariables.putAll(deadlineMap);
data.setOtherDraftUserVOS(otherDraftUserVOS);
data.setOtherDrafterUploadFileJson(otherDraftUserVOS);
} }
// 获取分发人 // 获取分发人
return actVariables; return actVariables;
@@ -413,18 +420,20 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
break; break;
case CONTACT_USER_LEADER_APPROVAL: case CONTACT_USER_LEADER_APPROVAL:
// 保存流程数据 // 保存流程数据
data = revisionData.getData(); if (pass) {
saveOrUpdate(data); data = revisionData.getData();
// 保存征求意见记录 先删后增 saveOrUpdate(data);
adviceService.remove(new LambdaQueryWrapper<EsRevisionAdvice>() // 保存征求意见记录 先删后增
.eq(EsRevisionAdvice::getProcessInstanceId, processInstanceId) adviceService.remove(new LambdaQueryWrapper<EsRevisionAdvice>()
.eq(EsRevisionAdvice::getExecutionId, executionId)); .eq(EsRevisionAdvice::getProcessInstanceId, processInstanceId)
advices = data.getAdvices(); .eq(EsRevisionAdvice::getExecutionId, executionId));
adviceWrapper.eq(EsRevisionAdvice::getExecutionId, executionId); advices = data.getAdvices();
adviceService.remove(adviceWrapper); adviceWrapper.eq(EsRevisionAdvice::getExecutionId, executionId);
advices.forEach(advice -> advice.setProcessInstanceId(processInstanceId)); adviceService.remove(adviceWrapper);
advices.forEach(advice -> advice.setExecutionId(executionId)); advices.forEach(advice -> advice.setProcessInstanceId(processInstanceId));
adviceService.saveBatch(advices); advices.forEach(advice -> advice.setExecutionId(executionId));
adviceService.saveBatch(advices);
}
break; break;
case MAIN_DRAFT_USER_COLLECT_SECOND: case MAIN_DRAFT_USER_COLLECT_SECOND:
// 保存流程数据 // 保存流程数据