From 8291680871a5665628b0b93552fd5bb835ef2142 Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: Wed, 4 Dec 2024 17:48:44 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=8A=84=E9=80=81=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/FlwTaskServiceImpl.java | 53 +++++++++---------- 1 file changed, 26 insertions(+), 27 deletions(-) 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 fb18b7ef9..cb36e81ed 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 @@ -210,38 +210,37 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService { * @param wfCopyList 抄送人 */ private void setCopy(FlowTask task, List wfCopyList) { + if (CollUtil.isEmpty(wfCopyList)) { + return; + } // 添加抄送人记录 - if (CollUtil.isNotEmpty(wfCopyList)) { - FlowHisTask flowHisTask = flowHisTaskMapper.selectOne(new LambdaQueryWrapper<>(FlowHisTask.class).eq(FlowHisTask::getTaskId, task.getId())); - FlowNode flowNode = new FlowNode(); - flowNode.setNodeCode(flowHisTask.getTargetNodeCode()); - flowNode.setNodeName(flowHisTask.getTargetNodeName()); - //生成新的任务id - long taskId = identifierGenerator.nextId(null).longValue(); - task.setId(taskId); - task.setNodeName("【抄送】" + task.getNodeName()); - Date updateTime = new Date(flowHisTask.getUpdateTime().getTime()-1000); - FlowParams flowParams = FlowParams.build(); - flowParams.skipType(SkipType.NONE.getKey()); - flowParams.hisStatus(TaskStatusEnum.COPY.getStatus()); - flowParams.message("【抄送给】" + StreamUtils.join(wfCopyList, WfCopy::getUserName)); - HisTask hisTask = hisTaskService.setSkipHisTask(task, flowNode, flowParams); - hisTask.setCreateTime(updateTime); - hisTask.setUpdateTime(updateTime); - hisTaskService.save(hisTask); - //保存抄送人员 - List userList = new ArrayList<>(); - for (WfCopy wfCopy : wfCopyList) { + FlowHisTask flowHisTask = flowHisTaskMapper.selectOne(new LambdaQueryWrapper<>(FlowHisTask.class).eq(FlowHisTask::getTaskId, task.getId())); + FlowNode flowNode = new FlowNode(); + flowNode.setNodeCode(flowHisTask.getTargetNodeCode()); + flowNode.setNodeName(flowHisTask.getTargetNodeName()); + //生成新的任务id + long taskId = identifierGenerator.nextId(null).longValue(); + task.setId(taskId); + task.setNodeName("【抄送】" + task.getNodeName()); + Date updateTime = new Date(flowHisTask.getUpdateTime().getTime() - 1000); + FlowParams flowParams = FlowParams.build(); + flowParams.skipType(SkipType.NONE.getKey()); + flowParams.hisStatus(TaskStatusEnum.COPY.getStatus()); + flowParams.message("【抄送给】" + StreamUtils.join(wfCopyList, WfCopy::getUserName)); + HisTask hisTask = hisTaskService.setSkipHisTask(task, flowNode, flowParams); + hisTask.setCreateTime(updateTime); + hisTask.setUpdateTime(updateTime); + hisTaskService.save(hisTask); + List userList = wfCopyList.stream() + .map(wfCopy -> { FlowUser flowUser = new FlowUser(); flowUser.setType(TaskAssigneeType.COPY.getCode()); flowUser.setProcessedBy(wfCopy.getUserId()); flowUser.setAssociated(taskId); - userList.add(flowUser); - } - if (CollUtil.isNotEmpty(userList)) { - userService.saveBatch(userList); - } - } + return flowUser; + }).collect(Collectors.toList()); + // 批量保存抄送人员 + userService.saveBatch(userList); } /**