From b95b4ce3cdfaf3dd2d9470bf09cd34c79ed93007 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Thu, 11 Jul 2024 10:39:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=BF=AB=E7=85=A7=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/service/ActFlowCommonService.java | 11 ----- .../fb/service/IProcessHandleService.java | 4 +- .../impl/ProcessHandleServiceImpl.java | 44 ++++++++++++++++--- .../ProcessNewStandardImportServiceImpl.java | 4 +- ...essStandardComplianceCheckServiceImpl.java | 4 +- 5 files changed, 45 insertions(+), 22 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/ActFlowCommonService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/ActFlowCommonService.java index 187b50c0..8f1b52c1 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/ActFlowCommonService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/ActFlowCommonService.java @@ -18,7 +18,6 @@ import com.jero.modules.activiti.process.common.entity.StandTypeVO; import com.jero.modules.activiti.process.common.enums.StandardStateEnum; import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO; import com.jero.modules.activiti.process.fb.dto.BasicTaskInfoDTO; -import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO; import com.jero.modules.activiti.service.ProcessAllService; import com.jero.modules.activiti.service.ProcessApprovalRecordService; import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan; @@ -407,16 +406,6 @@ public class ActFlowCommonService { return approvalRecord.getOriginUserId(); } - /** - * 强制撤回流程-保存草稿 - * - * @param processInfoVO - * @param userId - */ - public void saveFirstNodeDraft(ProcessInfoVO processInfoVO, String userId) { - - } - public void checkStandardState(String standardId) { LawsEnterpriseStandard es = esService.getById(standardId); if (es != null) { diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java index f553d076..1248a0e0 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java @@ -63,7 +63,9 @@ public interface IProcessHandleService { **/ void updateApprovalRecord(ProcessInfoVO processInfoVO); - void saveToDraft(ProcessInfoVO processInfoVO); + void saveToDraft(ProcessInfoVO processInfoVO, String userId); + + void saveToSnapshot(ProcessInfoVO processInfoVO, String userId); /** * @Author: liao diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java index 2884da1b..aa36b7f8 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java @@ -8,7 +8,9 @@ import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.enums.ProcessTypeEnum; import com.jero.modules.activiti.process.common.common.DraftCommon; import com.jero.modules.activiti.process.common.entity.ProcessDraft; +import com.jero.modules.activiti.process.common.entity.ProcessSnapshot; import com.jero.modules.activiti.process.common.service.ProcessDraftService; +import com.jero.modules.activiti.process.common.service.ProcessSnapshotService; import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO; import com.jero.modules.activiti.process.fb.dto.BasicTaskInfoDTO; import com.jero.modules.activiti.process.fb.dto.ProcessDTO; @@ -57,7 +59,8 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { private ProcessNodeLinkService processNodeLinkService; // 流程实例节点关联用户表 @Resource private ProcessDraftService processDraftService; // 流程草稿表 - + @Resource + private ProcessSnapshotService processSnapshotService; // 流程草稿表 /** * @Author: liao * @Date: 2023/11/2 17:04 @@ -301,11 +304,7 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { } @Override - public void saveToDraft(ProcessInfoVO processInfoVO) { - this.saveToDraft(processInfoVO, CurrentUserUtil.getId()); - } - - private void saveToDraft(ProcessInfoVO processInfoVO, String userId) { + public void saveToDraft(ProcessInfoVO processInfoVO, String userId) { BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO(); BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO(); String taskId = null; @@ -320,7 +319,6 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { } // 保存 - updateProcessAllCustomUserId(processInfoVO, userId); updateApprovalRecord(processInfoVO); // 删除自己的草稿 @@ -347,6 +345,38 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { processDraftService.saveOrUpdate(processDraft); } + @Override + public void saveToSnapshot(ProcessInfoVO processInfoVO, String userId) { + BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO(); + BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO(); + String taskId = null; + String handleText = null; + String handleFile = null; + if (basicTaskInfoDTO != null) { + taskId = basicTaskInfoDTO.getTaskId(); + handleText = basicTaskInfoDTO.getHandleText(); + handleFile = basicTaskInfoDTO.getHandleFile(); + } else { + processInfoVO.setBasicTaskInfoDTO(new BasicTaskInfoDTO()); + } + + ProcessSnapshot processSnapshot = new ProcessSnapshot(); + + // 根据是否有taskId区分保存来源(待办、草稿) + processSnapshot.setProjectId(processInfoVO.getBusinessId()); // 业务id + processSnapshot.setProcessInstanceId(basicProcessInfoDTO.getProcessInstanceId()); // 流程实例id + processSnapshot.setPrcName(basicProcessInfoDTO.getProcessName()); // 流程名称 + processSnapshot.setPrcType(basicProcessInfoDTO.getProcessType()); // 流程类型 + processSnapshot.setProcessDueDate(basicProcessInfoDTO.getProcessDueDate()); // 流程信息-截止日期 + processSnapshot.setProcessDescription(basicProcessInfoDTO.getProcessDescription()); // 流程信息-流程说明 + processSnapshot.setTaskId(taskId); // 任务id + processSnapshot.setHandleText(handleText); // 流程审批信息-备注 + processSnapshot.setHandleFile(handleFile); // 流程审批信息-附件 + processSnapshot.setUserId(userId); // 用户id + processSnapshot.setInfoJsonStr(processInfoVO.getInfoJsonStr());//草稿信息json字符串 + processSnapshotService.save(processSnapshot); + } + @Override public void updateProcessAllCustomUserId(ProcessInfoVO processInfoVO, String userId) { BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO(); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/ni/service/impl/ProcessNewStandardImportServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/ni/service/impl/ProcessNewStandardImportServiceImpl.java index dfd55eb1..d24e7ecc 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/ni/service/impl/ProcessNewStandardImportServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/ni/service/impl/ProcessNewStandardImportServiceImpl.java @@ -100,7 +100,7 @@ public class ProcessNewStandardImportServiceImpl extends ServiceImpl