From ee5da87fdcf2355d1566e0f8fa7b1a35bdb24629 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Tue, 5 Mar 2024 09:31:36 +0800 Subject: [PATCH] =?UTF-8?q?update=20-=20=E4=B8=9A=E5=8A=A1=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E5=88=9B=E5=BB=BA=E6=97=B6,=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E7=9A=84=20ext=5FtaskInst=20=E6=95=B0?= =?UTF-8?q?=E6=8D=AE,=E4=BF=9D=E9=9A=9C=E6=97=A5=E5=BF=97=E4=B8=AD?= =?UTF-8?q?=E8=AF=A5=E8=8A=82=E7=82=B9=E7=9A=84=E7=8A=B6=E6=80=81=E6=98=AF?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/core/conf/FlowableConfiguration.java | 7 +++++-- .../behavior/CustomActivityBehaviorFactory.java | 8 +++++++- .../CustomReceiveTaskActivityBehavior.java | 14 +++++++++++++- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/FlowableConfiguration.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/FlowableConfiguration.java index 7d407a1c8..053e2a28d 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/FlowableConfiguration.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/FlowableConfiguration.java @@ -2,6 +2,7 @@ package cn.axzo.workflow.core.conf; import cn.axzo.workflow.core.engine.behavior.CustomActivityBehaviorFactory; import cn.axzo.workflow.core.engine.id.DistributedTimeBasedIdGenerator; +import cn.axzo.workflow.core.service.ExtAxHiTaskInstService; import com.google.common.collect.Lists; import org.flowable.common.engine.api.delegate.event.FlowableEventListener; import org.flowable.common.engine.impl.history.HistoryLevel; @@ -48,7 +49,9 @@ public class FlowableConfiguration { } @Bean - public CustomActivityBehaviorFactory customActivityBehaviorFactory() { - return new CustomActivityBehaviorFactory(); + public CustomActivityBehaviorFactory customActivityBehaviorFactory(ExtAxHiTaskInstService hiTaskInstService) { + CustomActivityBehaviorFactory customActivityBehaviorFactory = new CustomActivityBehaviorFactory(); + customActivityBehaviorFactory.setHiTaskInstService(hiTaskInstService); + return customActivityBehaviorFactory; } } diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/behavior/CustomActivityBehaviorFactory.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/behavior/CustomActivityBehaviorFactory.java index 8df70b5fe..b67e22c9a 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/behavior/CustomActivityBehaviorFactory.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/behavior/CustomActivityBehaviorFactory.java @@ -1,5 +1,6 @@ package cn.axzo.workflow.core.engine.behavior; +import cn.axzo.workflow.core.service.ExtAxHiTaskInstService; import org.flowable.bpmn.model.Activity; import org.flowable.bpmn.model.ReceiveTask; import org.flowable.bpmn.model.UserTask; @@ -19,6 +20,7 @@ import org.flowable.engine.impl.bpmn.parser.factory.DefaultActivityBehaviorFacto * @since 2023/7/29 00:34 */ public class CustomActivityBehaviorFactory extends DefaultActivityBehaviorFactory { + private ExtAxHiTaskInstService hiTaskInstService; @Override public ParallelMultiInstanceBehavior createParallelMultiInstanceBehavior(Activity activity, AbstractBpmnActivityBehavior innerActivityBehavior) { @@ -38,6 +40,10 @@ public class CustomActivityBehaviorFactory extends DefaultActivityBehaviorFactor @Override public ReceiveTaskActivityBehavior createReceiveTaskActivityBehavior(ReceiveTask receiveTask) { - return new CustomReceiveTaskActivityBehavior(receiveTask); + return new CustomReceiveTaskActivityBehavior(receiveTask, hiTaskInstService); + } + + public void setHiTaskInstService(ExtAxHiTaskInstService hiTaskInstService) { + this.hiTaskInstService = hiTaskInstService; } } diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/behavior/CustomReceiveTaskActivityBehavior.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/behavior/CustomReceiveTaskActivityBehavior.java index 370b62234..8e9a5dc15 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/behavior/CustomReceiveTaskActivityBehavior.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/behavior/CustomReceiveTaskActivityBehavior.java @@ -2,6 +2,8 @@ package cn.axzo.workflow.core.engine.behavior; import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum; import cn.axzo.workflow.core.engine.event.ReceiveTaskExtInstCreateEventImpl; +import cn.axzo.workflow.core.repository.entity.ExtAxHiTaskInst; +import cn.axzo.workflow.core.service.ExtAxHiTaskInstService; import lombok.extern.slf4j.Slf4j; import org.flowable.bpmn.model.ReceiveTask; import org.flowable.common.engine.api.delegate.event.FlowableEventDispatcher; @@ -27,9 +29,11 @@ import java.util.Objects; @Slf4j public class CustomReceiveTaskActivityBehavior extends ReceiveTaskActivityBehavior { protected ReceiveTask receiveTask; + protected ExtAxHiTaskInstService hiTaskInstService; - public CustomReceiveTaskActivityBehavior(ReceiveTask receiveTask) { + public CustomReceiveTaskActivityBehavior(ReceiveTask receiveTask, ExtAxHiTaskInstService hiTaskInstService) { this.receiveTask = receiveTask; + this.hiTaskInstService = hiTaskInstService; } @Override @@ -46,6 +50,14 @@ public class CustomReceiveTaskActivityBehavior extends ReceiveTaskActivityBehavi task.setPropagatedStageInstanceId(execution.getPropagatedStageInstanceId()); task.setName(receiveTask.getName()); TaskHelper.insertTask(task, (ExecutionEntity) execution, false, false); + + // 添加 taskInst 扩展表数据 + ExtAxHiTaskInst entity = new ExtAxHiTaskInst(); + entity.setProcInstId(execution.getProcessInstanceId()); + entity.setTaskDefinitionKey(execution.getCurrentActivityId()); + entity.setTaskId(task.getId()); + entity.setStatus(BpmnProcessInstanceResultEnum.PROCESSING.getStatus()); + hiTaskInstService.save(entity); } @Override