From 51dcacfe9ef67f5c768b8cd3569afede3fbaf402 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Fri, 15 Dec 2023 20:38:04 +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=20=E9=83=A8=E5=88=86?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E5=A2=9E=E5=8A=A0createListener?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/common/api/vo/ResultCommon.java | 7 +- .../impl/ProcessHandleServiceImpl.java | 9 +++ .../ProcessProjectAssessCreateListener.java | 24 ++++++ .../service/ProcessProjectAssessService.java | 81 ++++++++++++++++++- .../service/ProcessApprovalRecordService.java | 12 +++ 5 files changed, 128 insertions(+), 5 deletions(-) create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/listener/ProcessProjectAssessCreateListener.java diff --git a/laws-base/laws-base-core/src/main/java/com/jero/common/api/vo/ResultCommon.java b/laws-base/laws-base-core/src/main/java/com/jero/common/api/vo/ResultCommon.java index 2b9b0b86..3766b11e 100644 --- a/laws-base/laws-base-core/src/main/java/com/jero/common/api/vo/ResultCommon.java +++ b/laws-base/laws-base-core/src/main/java/com/jero/common/api/vo/ResultCommon.java @@ -126,5 +126,10 @@ public class ResultCommon { */ public static final String EN_STANDARD_NUMBER_CONFLICT = "en.standard.number.conflict"; - +// ---------项目合规评估流程--------- + /** + * 模块负责人不能为空 + */ + public static final String ProjectAssess = "en.standard.number.conflict"; +// ---------项目合规评估流程--------- } 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 94835d2f..59ac7c49 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 @@ -1,5 +1,6 @@ package com.jero.modules.activiti.process.fb.service.impl; +import cn.hutool.core.collection.CollStreamUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jero.common.exception.JeroBootException; import com.jero.modules.activiti.entity.ProcessAll; @@ -10,6 +11,7 @@ import com.jero.modules.activiti.enums.CommitFlagEnum; import com.jero.modules.activiti.enums.FinishFlagEnum; import com.jero.modules.activiti.process.common.entity.ProcessDraft; import com.jero.modules.activiti.process.common.service.ProcessDraftService; +import com.jero.modules.activiti.process.fb.common.FbCommon; 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; @@ -22,12 +24,17 @@ import com.jero.common.api.vo.ResultCommon; import com.jero.modules.activiti.service.ProcessNodeService; import com.jero.modules.laws.common.util.CurrentUserUtil; import lombok.extern.slf4j.Slf4j; +import org.activiti.engine.HistoryService; import org.activiti.engine.RepositoryService; import org.activiti.engine.RuntimeService; import org.activiti.engine.TaskService; +import org.activiti.engine.history.HistoricTaskInstance; +import org.activiti.engine.history.HistoricTaskInstanceQuery; import org.activiti.engine.runtime.Execution; +import org.activiti.engine.runtime.ExecutionQuery; import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.task.Task; +import org.activiti.engine.task.TaskInfo; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -50,6 +57,8 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { @Resource private TaskService taskService; @Resource + private HistoryService historyService; + @Resource private RepositoryService repositoryService; @Resource private ProcessAllService processAllService; // 流程实例总表 diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/listener/ProcessProjectAssessCreateListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/listener/ProcessProjectAssessCreateListener.java new file mode 100644 index 00000000..5bb396c5 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/listener/ProcessProjectAssessCreateListener.java @@ -0,0 +1,24 @@ +package com.jero.modules.activiti.process.projectassess.listener; + +import com.jero.modules.activiti.entity.ProcessApprovalRecord; +import com.jero.modules.activiti.enums.FinishFlagEnum; +import com.jero.modules.activiti.process.projectassess.service.ProcessProjectAssessService; +import com.jero.modules.activiti.service.ProcessAllService; +import com.jero.modules.activiti.service.ProcessApprovalRecordService; +import com.jero.modules.activiti.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.Date; + +/** + * @author liJiaRao + * @date 2023-10-13 16:43 + */ +public class ProcessProjectAssessCreateListener implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + ProcessProjectAssessService processProjectAssessService = SpringContextUtil.getBean(ProcessProjectAssessService.class); + processProjectAssessService.createListener(delegateTask); + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/service/ProcessProjectAssessService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/service/ProcessProjectAssessService.java index 718bead4..bd549014 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/service/ProcessProjectAssessService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/service/ProcessProjectAssessService.java @@ -8,7 +8,6 @@ import com.jero.common.api.vo.ResultCommon; import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; -import com.jero.common.system.vo.ComboModel; import com.jero.common.system.vo.LoginUser; import com.jero.modules.activiti.entity.ProcessAll; import com.jero.modules.activiti.entity.ProcessApprovalRecord; @@ -26,8 +25,11 @@ import com.jero.modules.activiti.process.projectassess.entity.ProcessProjectAsse import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO; import com.jero.modules.activiti.process.projectassess.vo.ProcessProjectAssessVO; import com.jero.modules.activiti.service.ProcessAllService; +import com.jero.modules.activiti.service.ProcessApprovalRecordService; import com.jero.modules.laws.common.util.CurrentUserUtil; +import org.activiti.engine.RuntimeService; import org.activiti.engine.TaskService; +import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.runtime.Execution; import org.activiti.engine.task.Task; import org.apache.commons.lang3.StringUtils; @@ -56,8 +58,12 @@ public class ProcessProjectAssessService extends ServiceImpl processProjectAssessTermUserList = new ArrayList<>(); List processProjectAssessTermList = new ArrayList<>(); //获取所有用户信息 @@ -286,21 +294,42 @@ public class ProcessProjectAssessService extends ServiceImpl processInfoVO, ProcessDTO processDTO) { + String businessId = processInfoVO.getBusinessId(); + ProcessApprovalRecord processApprovalRecord = processDTO.getProcessApprovalRecord(); + String originUserId = processApprovalRecord.getOriginUserId(); + Task task = processDTO.getTask(); + String executionId = task.getExecutionId(); + // 删除原先存储的关联 + LambdaQueryWrapper removeWrapper = new LambdaQueryWrapper<>(); + removeWrapper.eq(ProcessProjectAssessTermUser::getAssessmentId, businessId); + removeWrapper.eq(ProcessProjectAssessTermUser::getResponsibleUnitLeader, originUserId); + processProjectAssessTermUserService.remove(removeWrapper); + } + private void gbmzgjldxfSubmit(ProcessInfoVO processInfoVO, ProcessDTO processDTO) { String businessId = processInfoVO.getBusinessId(); ProcessApprovalRecord processApprovalRecord = processDTO.getProcessApprovalRecord(); @@ -349,11 +378,15 @@ public class ProcessProjectAssessService extends ServiceImpl variables = new HashMap<>(); variables.put(ProcessProjectAssessCommon.MODULE_OWNER_LIST, moduleOwnerIds); + variables.put("flowIndex", executionId); taskService.complete(taskId,variables); } @@ -372,4 +405,44 @@ public class ProcessProjectAssessService extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ProcessApprovalRecord::getProcessInstanceId,processInstanceId); + wrapper.eq(ProcessApprovalRecord::getUserId, CurrentUserUtil.getId()); + wrapper.eq(ProcessApprovalRecord::getFinishFlag,FinishFlagEnum.COMPLETE.getValue()); + wrapper.orderByDesc(ProcessApprovalRecord::getEndTime); + wrapper.last("limit 1"); + ProcessApprovalRecord approvalRecord = this.getOne(wrapper); + return approvalRecord; + } }