From 4fff54706286e113340b77d950fb723f0ec2f5cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=8F=8F=E8=BF=B0=E4=B8=8D=E7=AC=A6?= <826801306@qq.com> Date: Fri, 17 Jul 2026 03:56:40 +0000 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=B5=81=E7=A8=8B=E6=8A=84?= =?UTF-8?q?=E9=80=81=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 描述不符 <826801306@qq.com> --- .../service/impl/FlwInstanceServiceImpl.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java index 48147364a..52a4846a9 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java @@ -195,7 +195,13 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService { } // 发送事件 processDeleteHandler(flowInstances); - return insService.remove(StreamUtils.toList(flowInstances, FlowInstance::getId)); + // 删除抄送 + List instanceIds = StreamUtils.toList(flowInstances, FlowInstance::getId); + List flowHisTaskList = flowHisTaskMapper.selectList(new LambdaQueryWrapper<>(FlowHisTask.class).eq(FlowHisTask::getFlowStatus, TaskStatusEnum.COPY.getStatus()).in(FlowHisTask::getInstanceId, instanceIds)); + if (CollUtil.isNotEmpty(flowHisTaskList)) { + FlowEngine.userService().deleteByTaskIds(StreamUtils.toList(flowHisTaskList, FlowHisTask::getTaskId)); + } + return insService.remove(instanceIds); } /** @@ -214,6 +220,11 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService { } // 发送事件 processDeleteHandler(flowInstances); + // 删除抄送 + List flowHisTaskList = flowHisTaskMapper.selectList(new LambdaQueryWrapper<>(FlowHisTask.class).eq(FlowHisTask::getFlowStatus, TaskStatusEnum.COPY.getStatus()).in(FlowHisTask::getInstanceId, instanceIds)); + if (CollUtil.isNotEmpty(flowHisTaskList)) { + FlowEngine.userService().deleteByTaskIds(StreamUtils.toList(flowHisTaskList, FlowHisTask::getTaskId)); + } // 删除实例 return insService.remove(instanceIds); } @@ -234,9 +245,11 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService { } // 发送事件 processDeleteHandler(flowInstances); + List flowHisTaskList = flowHisTaskMapper.selectList(new LambdaQueryWrapper<>(FlowHisTask.class).eq(FlowHisTask::getFlowStatus, TaskStatusEnum.COPY.getStatus()).in(FlowHisTask::getInstanceId, instanceIds)); List flowTaskList = flwTaskService.selectByInstIds(instanceIds); - if (CollUtil.isNotEmpty(flowTaskList)) { - FlowEngine.userService().deleteByTaskIds(StreamUtils.toList(flowTaskList, FlowTask::getId)); + List taskIdList = CollUtil.unionAll(StreamUtils.toList(flowTaskList, FlowTask::getId), StreamUtils.toList(flowHisTaskList, FlowHisTask::getTaskId)); + if (CollUtil.isNotEmpty(taskIdList)) { + FlowEngine.userService().deleteByTaskIds(taskIdList); } FlowEngine.taskService().deleteByInsIds(instanceIds); FlowEngine.hisTaskService().deleteByInsIds(instanceIds);