From 81fad651275aa07cfd801e39ae18db0842188a0a Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Tue, 16 Apr 2024 15:22:52 +0800 Subject: [PATCH] =?UTF-8?q?update=20-=20=E5=88=9B=E5=BB=BA=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E5=AE=9E=E4=BE=8B=E6=97=B6,=E5=8F=AF=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E8=AE=BE=E7=BD=AE=E6=98=AF=E5=90=A6=E5=BC=82=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BpmnProcessInstanceServiceImpl.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 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 65ef2adf9..b2b27f4c0 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 @@ -68,6 +68,7 @@ import org.flowable.engine.repository.ProcessDefinition; import org.flowable.engine.runtime.ActivityInstance; import org.flowable.engine.runtime.NativeActivityInstanceQuery; import org.flowable.engine.runtime.ProcessInstance; +import org.flowable.engine.runtime.ProcessInstanceBuilder; import org.flowable.engine.runtime.ProcessInstanceQuery; import org.flowable.form.api.FormInfo; import org.flowable.spring.SpringProcessEngineConfiguration; @@ -303,16 +304,20 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic : Objects.isNull(definition) ? "" : definition.getName(); // 设置流程名字 - ProcessInstance instance = runtimeService.createProcessInstanceBuilder() + ProcessInstanceBuilder instanceBuilder = runtimeService.createProcessInstanceBuilder() .processDefinitionId(Objects.isNull(definition) ? dto.getProcessDefinitionId() : definition.getId()) .businessKey(dto.getBusinessKey()) .variables(dto.getVariables()) .name(name) - .overrideProcessDefinitionTenantId(dto.getTenantId()) - // 异步开始 - .startAsync(); - // 同步开始 -// .start(); + .overrideProcessDefinitionTenantId(dto.getTenantId()); + ProcessInstance instance; + if (dto.getAsync()) { + // 异步开始 + instance = instanceBuilder.startAsync(); + } else { + // 同步开始 + instance = instanceBuilder.start(); + } Authentication.setAuthenticatedUserId(null); return instance.getProcessInstanceId(); }