From 97e9c2d7d18c718cdc01e4aad70923ebeb07eaf4 Mon Sep 17 00:00:00 2001 From: gssong <1742057357@qq.com> Date: Wed, 4 Dec 2024 22:16:53 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=B0=83=E6=95=B4=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=8A=9E=E7=90=86=E4=BA=BA=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/WorkflowGlobalListener.java | 6 ++-- .../service/impl/FlwTaskServiceImpl.java | 28 +++++++++---------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java index 355bd2e67..458a95bcc 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java @@ -15,6 +15,7 @@ import org.dromara.warm.flow.core.listener.ListenerVariable; import org.dromara.warm.flow.orm.entity.FlowTask; import org.dromara.warm.flow.orm.mapper.FlowTaskMapper; import org.dromara.workflow.service.IFlwInstanceService; +import org.dromara.workflow.service.IFlwTaskService; import org.springframework.stereotype.Component; import java.util.List; @@ -29,7 +30,7 @@ import java.util.List; @RequiredArgsConstructor public class WorkflowGlobalListener implements GlobalListener { - private final FlowTaskMapper flowTaskMapper; + private final IFlwTaskService iFlwTaskService; private final IFlwInstanceService flwInstanceService; @Override @@ -42,8 +43,7 @@ public class WorkflowGlobalListener implements GlobalListener { publishProcessEvent(flowParams.getFlowStatus(), definition.getFlowCode(), instance.getBusinessId()); log.info("流程监听器流程状态:{}", flowParams.getFlowStatus()); } - List flowTasks = flowTaskMapper.selectList(new LambdaQueryWrapper<>(FlowTask.class) - .eq(FlowTask::getInstanceId, instance.getId())); + List flowTasks = iFlwTaskService.selectByInstId(instance.getId()); if (CollUtil.isEmpty(flowTasks)) { // 若流程已结束,更新状态为已完成并发送完成事件 flwInstanceService.updateStatus(instance.getId(), BusinessStatusEnum.FINISH.getStatus()); diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index a5fe14822..7b2a0d60d 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -23,7 +23,6 @@ import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.warm.flow.core.dto.FlowParams; import org.dromara.warm.flow.core.entity.*; -import org.dromara.warm.flow.core.enums.CooperateType; import org.dromara.warm.flow.core.enums.NodeType; import org.dromara.warm.flow.core.enums.SkipType; import org.dromara.warm.flow.core.enums.UserType; @@ -187,8 +186,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService { //添加抄送人 setCopy(task, wfCopyList); // 根据流程实例ID查询所有关联的任务 - List flowTasks = flowTaskMapper.selectList(new LambdaQueryWrapper<>(FlowTask.class) - .eq(FlowTask::getInstanceId, instance.getId())); + List flowTasks = selectByInstId(instance.getId()); List userList = new ArrayList<>(); // 遍历任务列表,处理每个任务的办理人 for (FlowTask flowTask : flowTasks) { @@ -568,18 +566,18 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService { // 批量删除现有任务的办理人记录 if (CollUtil.isNotEmpty(flowTasks)) { userService.deleteByTaskIds(StreamUtils.toList(flowTasks, FlowTask::getId)); - } - List userList = flowTasks.stream() - .map(flowTask -> { - FlowUser flowUser = new FlowUser(); - flowUser.setType(UserType.APPROVAL.getKey()); - flowUser.setProcessedBy(userId); - flowUser.setAssociated(flowTask.getId()); - return flowUser; - }) - .collect(Collectors.toList()); - if (CollUtil.isNotEmpty(userList)) { - userService.saveBatch(userList); + List userList = flowTasks.stream() + .map(flowTask -> { + FlowUser flowUser = new FlowUser(); + flowUser.setType(UserType.APPROVAL.getKey()); + flowUser.setProcessedBy(userId); + flowUser.setAssociated(flowTask.getId()); + return flowUser; + }) + .collect(Collectors.toList()); + if (CollUtil.isNotEmpty(userList)) { + userService.saveBatch(userList); + } } } catch (Exception e) { log.error(e.getMessage(), e);