feat: 封存流程保存到草稿接口

This commit is contained in:
2023-11-22 14:38:24 +08:00
parent d81b56d2fc
commit ef7709c004
@@ -128,47 +128,11 @@ public class ProcessEsArchiveServiceImpl extends ServiceImpl<ProcessEsArchiveMap
@Override
public void saveToDraft(ESArchiveDataVO archiveDataVO) {
CommonVO commonVO = archiveDataVO.getCommon();
String taskId = commonVO.getTaskId();
ProcessEsArchive esArchive = archiveDataVO.getData();
String projectId = esArchive.getId();
if (StrUtil.isBlank(projectId)) {
save(esArchive);
} else {
// 先删后增
LambdaUpdateWrapper<ProcessDraft> draftWrapper = new LambdaUpdateWrapper<>();
draftWrapper.eq(ProcessDraft::getPrcType, ProcessTypeEnum.ES_ARCHIVE.getValue());
draftWrapper.eq(ProcessDraft::getCreateBy, UserUtils.getUserId());
draftWrapper.eq(ProcessDraft::getProjectId, projectId);
processDraftService.remove(draftWrapper);
saveOrUpdate(esArchive);
}
if (StrUtil.isBlank(taskId)) {
// 第一个节点点击保存没有taskId
List<ProcessDraft> draftList = new ArrayList<>();
ProcessDraft draft = new ProcessDraft();
draft.setProjectId(esArchive.getId());
draft.setPrcType(ProcessTypeEnum.ES_ARCHIVE.getValue());
draft.setPrcName(commonVO.getPrcName());
draft.setHandleText(commonVO.getCommitText()); // 流程审批信息-备注
draft.setHandleFile(commonVO.getCommitFile()); // 流程审批信息-附件
draft.setUserId(CurrentUserUtil.getId()); // 用户id
draftList.add(draft);
processDraftService.saveBatch(draftList);
} else {
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
List<ProcessDraft> draftList = new ArrayList<>();
ProcessDraft draft = new ProcessDraft();
draft.setProjectId(esArchive.getId());
draft.setProcessInstanceId(processInstanceId);
draft.setPrcName(commonVO.getPrcName());
draft.setPrcType(ProcessTypeEnum.ES_ARCHIVE.getValue());
draft.setTaskId(taskId); // 任务id
draft.setHandleText(commonVO.getCommitText()); // 流程审批信息-备注
draft.setHandleFile(commonVO.getCommitFile()); // 流程审批信息-附件
draft.setUserId(CurrentUserUtil.getId()); // 用户id
draftList.add(draft);
processDraftService.saveBatch(draftList);
}
ProcessDraft existDraft = actFlowCommonService.getExistDraftAndRemove(commonVO, ProcessTypeEnum.ES_ARCHIVE);
if (existDraft != null) esArchive.setId(existDraft.getProjectId());
saveOrUpdate(esArchive);
actFlowCommonService.addDraft(commonVO, ProcessTypeEnum.ES_ARCHIVE, esArchive.getId());
}
public void startRunTask(ESArchiveDataVO archiveData) {