From 3e44e16857acd95dd565640e15213fd8d01c7a38 Mon Sep 17 00:00:00 2001 From: songgaoshuai <1742057357@qq.com> Date: Thu, 18 Jan 2024 13:28:40 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ActProcessInstanceServiceImpl.java | 39 ++++++++++--------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java index 829dd9589..358a3566f 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java @@ -55,6 +55,7 @@ import java.util.List; import java.util.*; import java.util.stream.Collectors; + /** * 流程实例 服务层实现 * @@ -286,30 +287,32 @@ public class ActProcessInstanceServiceImpl implements IActProcessInstanceService BpmnModel bpmnModel = repositoryService.getBpmnModel(list.get(0).getProcessDefinitionId()); List graphicInfoVos = new ArrayList<>(); Collection flowElements = bpmnModel.getMainProcess().getFlowElements(); + //节点图形信息 + buildGraphicInfo(flowElements, graphicInfoVos, bpmnModel); + map.put("graphicInfoVos", graphicInfoVos); + return map; + } + + /** + * 构建节点图形信息 + * + * @param flowElements 节点 + */ + private static void buildGraphicInfo(Collection flowElements, List graphicInfoVos, BpmnModel bpmnModel) { for (FlowElement flowElement : flowElements) { - if (flowElement instanceof UserTask) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowElement.getId()); - GraphicInfoVo graphicInfoVo = BeanUtil.toBean(graphicInfo, GraphicInfoVo.class); - graphicInfoVo.setNodeId(flowElement.getId()); - graphicInfoVo.setNodeName(flowElement.getName()); - graphicInfoVos.add(graphicInfoVo); - } if (flowElement instanceof SubProcess) { Collection subFlowElements = ((SubProcess) flowElement).getFlowElements(); - for (FlowElement element : subFlowElements) { - if (element instanceof UserTask) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(element.getId()); - GraphicInfoVo graphicInfoVo = BeanUtil.toBean(graphicInfo, GraphicInfoVo.class); - graphicInfoVo.setNodeId(element.getId()); - graphicInfoVo.setNodeName(element.getName()); - graphicInfoVos.add(graphicInfoVo); - } + buildGraphicInfo(subFlowElements, graphicInfoVos, bpmnModel); + } else { + if (flowElement instanceof UserTask) { + GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowElement.getId()); + GraphicInfoVo graphicInfoVo = BeanUtil.toBean(graphicInfo, GraphicInfoVo.class); + graphicInfoVo.setNodeId(flowElement.getId()); + graphicInfoVo.setNodeName(flowElement.getName()); + graphicInfoVos.add(graphicInfoVo); } } } - //节点图形信息 - map.put("graphicInfoVos", graphicInfoVos); - return map; } /**