From 575164d7385b4e2306ec29e071fc75f1b6b1a51e Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Thu, 7 Dec 2023 18:57:16 +0800 Subject: [PATCH] =?UTF-8?q?update=20-=20=E4=BB=BB=E5=8A=A1=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E4=B8=AD=E6=B7=BB=E5=8A=A0=E4=BB=BB=E5=8A=A1=E7=9A=84?= =?UTF-8?q?=E5=A4=84=E7=90=86=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/service/impl/BpmnProcessTaskServiceImpl.java | 2 +- .../listener/task/RocketMqBpmnTaskEventListener.java | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessTaskServiceImpl.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessTaskServiceImpl.java index 5f27f6bea..b7b50c19f 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessTaskServiceImpl.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessTaskServiceImpl.java @@ -316,12 +316,12 @@ public class BpmnProcessTaskServiceImpl implements BpmnProcessTaskService { Authentication.setAuthenticatedUserId(null); } if (Objects.nonNull(dto.getNextApprover())) { + // 主动设置下级审批人 runtimeService.setVariable(task.getProcessInstanceId(), INTERNAL_SPECIFY_NEXT_APPROVER, dto.getNextApprover()); } saveAttachment(dto.getAttachmentList(), instance.getId(), task.getId()); - // 主动设置下级审批人 // 完成任务,审批通过 if (StringUtil.isNotEmpty(task.getExecutionId())) { taskService.complete(task.getId(), runtimeService.getVariables(task.getExecutionId())); diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/task/RocketMqBpmnTaskEventListener.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/task/RocketMqBpmnTaskEventListener.java index 93eb0dda1..355024250 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/task/RocketMqBpmnTaskEventListener.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/task/RocketMqBpmnTaskEventListener.java @@ -2,6 +2,7 @@ package cn.axzo.workflow.server.controller.listener.task; import cn.axzo.framework.rocketmq.Event; import cn.axzo.framework.rocketmq.EventProducer; +import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum; import cn.axzo.workflow.common.enums.ProcessTaskEventEnum; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner; import cn.axzo.workflow.common.model.response.mq.ProcessTaskDTO; @@ -19,9 +20,12 @@ import org.springframework.core.Ordered; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.util.Objects; import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_INITIATOR; import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_TASK_RELATION_ASSIGNEE_INFO_SNAPSHOT; +import static cn.axzo.workflow.common.constant.BpmnConstants.TASK_COMPLETE_OPERATION_TYPE; +import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.APPROVED; import static cn.axzo.workflow.common.enums.ProcessTaskEventEnum.PROCESS_TASK_ASSIGNED; import static cn.axzo.workflow.common.enums.ProcessTaskEventEnum.PROCESS_TASK_COMPLETED; import static cn.axzo.workflow.common.enums.ProcessTaskEventEnum.PROCESS_TASK_CREATED; @@ -121,6 +125,9 @@ public class RocketMqBpmnTaskEventListener implements BpmnTaskEventListener, Ord .setStartTime(delegateTask.getCreateTime()) .setTenantId(delegateTask.getTenantId()); BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf); + BpmnProcessInstanceResultEnum resultEnum = runtimeService.getVariable(delegateTask.getExecutionId(), + TASK_COMPLETE_OPERATION_TYPE + delegateTask.getId(), BpmnProcessInstanceResultEnum.class); + dto.setTaskResult(Objects.nonNull(resultEnum) ? resultEnum : APPROVED); return dto; }