update - 业务节点创建时,添加默认的 ext_taskInst 数据,保障日志中该节点的状态是进行中
This commit is contained in:
parent
ca9547ae49
commit
ee5da87fdc
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user