From e3902f9da44ee7c25e46bb5013c044a3e5cc1d3c Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Fri, 13 Sep 2024 19:12:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(REQ-2924)=20-=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E6=9C=AA=E6=9D=A5=E8=8A=82=E7=82=B9=E7=9A=84=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BpmnProcessInstanceServiceImpl.java | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessInstanceServiceImpl.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessInstanceServiceImpl.java index ba5fc3137..fb615d697 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessInstanceServiceImpl.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessInstanceServiceImpl.java @@ -1238,14 +1238,41 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic private static void getFutureTasks(List forecasting, List tasks) { ListUtils.emptyIfNull(forecasting).forEach(e -> { - tasks.add(BpmnTaskInstanceLogVO.builder() + BpmnTaskInstanceLogVO build = BpmnTaskInstanceLogVO.builder() .taskDefinitionKey(e.getId()) .name(e.getName()) .approvalMethod(e.getApprovalMethod()) .nodeType(e.getNodeType()) .nodeMode(e.getNodeMode()) .forecastAssignees(e.getForecastAssigners()) - .build()); + .build(); + if (Objects.nonNull(e.getApprovalMethod())) { + switch (e.getApprovalMethod()) { + case bizSpecify: + case nobody: + build.setOperationDesc("待处理"); + break; + case autoPassed: + case autoRejection: + break; + case human: + if (Objects.equals(e.getNodeMode(), EXCEPTIONAL)) { + build.setOperationDesc("节点异常"); + } else { + int countPerson = e.getForecastAssigners().size(); + if (Objects.equals(BpmnFlowNodeMode.AND, e.getNodeMode())) { + build.setOperationDesc(countPerson + "人会签,需要全部同意"); + } else if (Objects.equals(BpmnFlowNodeMode.OR, e.getNodeMode())) { + build.setOperationDesc(countPerson + "人或签,仅一人同意即可"); + } + } + break; + } + } + if (Objects.equals(e.getNodeType(), NODE_CARBON_COPY)) { + build.setOperationDesc("抄送" + e.getForecastAssigners().size() + "人"); + } + tasks.add(build); }); }