From 91483086d9bc6ad175fc5e03d36db6b1504e38d1 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Thu, 14 Dec 2023 11:20:40 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E9=A1=B9=E7=9B=AE=E5=90=88=E8=A7=84?= =?UTF-8?q?=E8=AF=84=E4=BC=B0=E6=B5=81=E7=A8=8B-=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E4=B8=BA=E8=8D=89=E7=A8=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fb/service/IProcessHandleService.java | 2 +- .../impl/ProcessHandleServiceImpl.java | 37 ++++++++++++------- 2 files changed, 25 insertions(+), 14 deletions(-) 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 c468ad37..2ef3ee2d 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 @@ -88,7 +88,7 @@ public interface IProcessHandleService { * @Date: 2023/11/20 16:48 * @Description: 删除自己的草稿 **/ - void deleteMyDraft(String taskId, String businessId); + void deleteMyDraft(String taskId, String businessId, Integer processType); /** * @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 1f6d1440..7a37f1ba 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 @@ -63,14 +63,12 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { * @Description: 启动流程 **/ @Override - @Transactional public String startProcess(ProcessInfoVO processInfoVO) { - // 删除自己的草稿 - deleteMyDraft(processInfoVO.getBasicTaskInfoDTO().getTaskId(), processInfoVO.getBusinessId()); - BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO(); // 流程信息 Map userInfoMap = processInfoVO.getUserInfoMap(); // 用户变量map BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO(); // 流程审批信息 + // 删除自己的草稿 + deleteMyDraft(basicTaskInfoDTO.getTaskId(), processInfoVO.getBusinessId(), basicProcessInfoDTO.getProcessType()); String processDefinitionId = basicProcessInfoDTO.getProcessDefinitionId(); // 流程定义id // 根据流程定义id启动流程 @@ -122,11 +120,12 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { public void approveTask(ProcessInfoVO processInfoVO, boolean pass) { // 判断是否是自己的任务 BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO(); + BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO(); String taskId = basicTaskInfoDTO.getTaskId(); isMyTask(taskId); // 删除自己的草稿 - deleteMyDraft(taskId, processInfoVO.getBusinessId()); + deleteMyDraft(taskId, processInfoVO.getBusinessId(), basicProcessInfoDTO.getProcessType()); ProcessDTO processDTO = getProcessDTO(taskId); String processInstanceId = processDTO.getProcessInstanceId(); @@ -189,7 +188,7 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getToDoByTaskId(taskId); // 删除自己的草稿 - deleteMyDraft(taskId, processApprovalRecord.getProjectId()); + deleteMyDraft(taskId, processApprovalRecord.getProjectId(), null); processApprovalRecord.setTransferBy(CurrentUserUtil.getId()); // 转办人 processApprovalRecord.setUserId(toUserId); // 任务处理人 @@ -279,9 +278,17 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { public void saveToDraft(ProcessInfoVO processInfoVO) { 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(); + } // 删除自己的草稿 - deleteMyDraft(basicTaskInfoDTO.getTaskId(), processInfoVO.getBusinessId()); + deleteMyDraft(taskId, processInfoVO.getBusinessId(), basicProcessInfoDTO.getProcessType()); ProcessDraft processDraft = new ProcessDraft(); processDraft.setProjectId(processInfoVO.getBusinessId()); // 业务id @@ -290,9 +297,9 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { processDraft.setPrcType(basicProcessInfoDTO.getProcessType()); // 流程类型 processDraft.setProcessDueDate(basicProcessInfoDTO.getProcessDueDate()); // 流程信息-截止日期 processDraft.setProcessDescription(basicProcessInfoDTO.getProcessDescription()); // 流程信息-流程说明 - processDraft.setTaskId(basicTaskInfoDTO.getTaskId()); // 任务id - processDraft.setHandleText(basicTaskInfoDTO.getHandleText()); // 流程审批信息-备注 - processDraft.setHandleFile(basicTaskInfoDTO.getHandleFile()); // 流程审批信息-附件 + processDraft.setTaskId(taskId); // 任务id + processDraft.setHandleText(handleText); // 流程审批信息-备注 + processDraft.setHandleFile(handleFile); // 流程审批信息-附件 processDraft.setUserId(CurrentUserUtil.getId()); // 用户id processDraft.setInfoJsonStr(processInfoVO.getInfoJsonStr());//草稿信息json字符串 @@ -304,12 +311,16 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { * @Date: 2023/11/9 16:46 * @Description: 删除自己的草稿 **/ - @Transactional @Override - public void deleteMyDraft(String taskId, String businessId) { + public void deleteMyDraft(String taskId, String businessId, Integer processType) { LambdaQueryWrapper deleteWrapper = new LambdaQueryWrapper<>(); deleteWrapper.eq(ProcessDraft::getUserId, CurrentUserUtil.getId()); - deleteWrapper.eq(ProcessDraft::getProjectId, businessId); + if (processType != null) { + deleteWrapper.eq(ProcessDraft::getPrcType, processType); + } + if (StringUtils.isNotBlank(businessId)) { + deleteWrapper.eq(ProcessDraft::getProjectId, businessId); + } if (StringUtils.isNotBlank(taskId)) { deleteWrapper.eq(ProcessDraft::getTaskId, taskId); }