From 4935e3f8d28e5951a872fce03bf207d1ef3cf427 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Thu, 8 Aug 2024 16:50:13 +0800 Subject: [PATCH] =?UTF-8?q?fix=20-=20=E8=B0=83=E6=95=B4=E5=9B=A0=E4=B8=BA?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=87=AA=E5=8A=A8=E8=BF=87=E5=AE=A1=E5=8D=A1?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E5=AF=BC=E8=87=B4MQ=20=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E6=AD=A3=E7=A1=AE=E5=8F=91=E5=87=BA=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/engine/cmd/CustomApproveTaskCmd.java | 4 +++- .../listener/AutoPassTransactionListener.java | 18 +++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomApproveTaskCmd.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomApproveTaskCmd.java index eeae3326b..7f505f232 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomApproveTaskCmd.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomApproveTaskCmd.java @@ -110,7 +110,9 @@ public class CustomApproveTaskCmd extends AbstractCommand implements Seria List nodeTypes) { this.taskId = taskId; this.advice = advice; - this.operationDesc = operationDesc; + if (StringUtils.hasText(operationDesc)) { + this.operationDesc = operationDesc; + } this.attachmentList = attachmentList; this.approver = approver; this.nextApprover = nextApprover; diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/tx/listener/AutoPassTransactionListener.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/tx/listener/AutoPassTransactionListener.java index 03ff54278..19236cba3 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/tx/listener/AutoPassTransactionListener.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/tx/listener/AutoPassTransactionListener.java @@ -1,19 +1,17 @@ package cn.axzo.workflow.core.engine.tx.listener; +import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAuditDTO; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner; -import cn.axzo.workflow.core.engine.cmd.CustomApproveTaskCmd; +import cn.axzo.workflow.core.engine.cmd.CustomApproveTaskAsyncCmd; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.flowable.common.engine.impl.cfg.TransactionListener; -import org.flowable.common.engine.impl.interceptor.CommandConfig; import org.flowable.common.engine.impl.interceptor.CommandContext; import org.flowable.common.engine.impl.interceptor.CommandExecutor; import org.flowable.engine.ProcessEngineConfiguration; import org.flowable.engine.RuntimeService; import org.flowable.task.service.delegate.DelegateTask; -import java.util.Collections; - import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_TASK_RELATION_ASSIGNEE_INFO; /** @@ -47,9 +45,15 @@ public class AutoPassTransactionListener implements TransactionListener { BpmnTaskDelegateAssigner assigner = BpmnTaskDelegateAssigner.toObjectCompatible( runtimeService.getVariable(delegateTask.getProcessInstanceId(), INTERNAL_TASK_RELATION_ASSIGNEE_INFO + delegateTask.getId())); CommandExecutor commandExecutor = processEngineConfiguration.getCommandExecutor(); - CommandConfig commandConfig = new CommandConfig().transactionRequiresNew(); - commandExecutor.execute(commandConfig, new CustomApproveTaskCmd(delegateTask.getId(), advice, "自动通过", - Collections.emptyList(), assigner, null)); + + BpmnTaskAuditDTO pass = new BpmnTaskAuditDTO(); + pass.setTaskId(delegateTask.getId()); + pass.setAdvice(advice); + pass.setApprover(assigner); + commandExecutor.execute(new CustomApproveTaskAsyncCmd(pass)); + +// commandExecutor.execute(commandConfig, new CustomApproveTaskCmd(delegateTask.getId(), advice, "自动通过", +// Collections.emptyList(), assigner, null)); log.info("exec auto pass transaction listener end"); }