feat(REQ-2924) - 移除引擎过时代码
This commit is contained in:
parent
4a48c9a5e2
commit
10701800b5
@ -1,93 +0,0 @@
|
|||||||
package cn.axzo.workflow.core.listener.impl;
|
|
||||||
|
|
||||||
import cn.axzo.workflow.common.enums.BpmnFlowNodeMode;
|
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
|
|
||||||
import cn.axzo.workflow.core.common.context.TaskOperationContext;
|
|
||||||
import cn.axzo.workflow.core.listener.AbstractBpmnEventListener;
|
|
||||||
import cn.axzo.workflow.core.listener.BpmnTaskEventListener;
|
|
||||||
import cn.axzo.workflow.core.service.ExtAxProcessLogService;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.flowable.bpmn.model.BpmnModel;
|
|
||||||
import org.flowable.bpmn.model.FlowElement;
|
|
||||||
import org.flowable.bpmn.model.UserTask;
|
|
||||||
import org.flowable.engine.RepositoryService;
|
|
||||||
import org.flowable.engine.RuntimeService;
|
|
||||||
import org.flowable.engine.impl.bpmn.behavior.MultiInstanceActivityBehavior;
|
|
||||||
import org.flowable.task.service.delegate.DelegateTask;
|
|
||||||
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import static cn.axzo.workflow.common.constant.BpmnConstants.AND_SIGN_EXPRESSION;
|
|
||||||
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_INITIATOR;
|
|
||||||
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_TASK_RELATION_ASSIGNEE_INFO;
|
|
||||||
import static cn.axzo.workflow.common.constant.BpmnConstants.OLD_INTERNAL_INITIATOR;
|
|
||||||
import static cn.axzo.workflow.common.enums.BpmnFlowNodeMode.AND;
|
|
||||||
import static cn.axzo.workflow.common.enums.BpmnFlowNodeMode.GENERAL;
|
|
||||||
import static cn.axzo.workflow.common.enums.BpmnFlowNodeMode.OR;
|
|
||||||
import static cn.axzo.workflow.common.enums.BpmnFlowNodeType.NODE_STARTER;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Core 包内置的,可共用与 Jar 包集成和微服务集成
|
|
||||||
* <p>
|
|
||||||
* 该类主要处理新版的日志表
|
|
||||||
*
|
|
||||||
* @author wangli
|
|
||||||
* @since 2023/12/9 22:56
|
|
||||||
*/
|
|
||||||
@Slf4j
|
|
||||||
//@Component
|
|
||||||
//@Scope("prototype")
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class InternalExtAxTaskInstEvent_lo_1_Listener extends AbstractBpmnEventListener<TaskOperationContext> implements BpmnTaskEventListener {
|
|
||||||
private final RuntimeService runtimeService;
|
|
||||||
private final RepositoryService repositoryService;
|
|
||||||
private final ExtAxProcessLogService processLogService;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getOrder() {
|
|
||||||
return Integer.MIN_VALUE + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Assigned 事件先于 Create 事件,所以在此事件中, 只要任务逻辑上应该有人,那么这里的数据就有人, 仅创建日志的初始状态
|
|
||||||
*
|
|
||||||
* @param delegateTask
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void onCreated(DelegateTask delegateTask) {
|
|
||||||
BpmnTaskDelegateAssigner assignee;
|
|
||||||
// 记录发起人
|
|
||||||
boolean isNodeStarter = Objects.equals(delegateTask.getTaskDefinitionKey(), NODE_STARTER.getType());
|
|
||||||
if (isNodeStarter) {
|
|
||||||
assignee = getContext().getInitiator(() ->
|
|
||||||
BpmnTaskDelegateAssigner.toObjectCompatible(runtimeService.getVariable(delegateTask.getProcessInstanceId(),
|
|
||||||
INTERNAL_INITIATOR)));
|
|
||||||
if (Objects.isNull(assignee)) {
|
|
||||||
// 兼容历史数据
|
|
||||||
assignee = getContext().getInitiator(() ->
|
|
||||||
BpmnTaskDelegateAssigner.toObjectCompatible(runtimeService.getVariable(delegateTask.getProcessInstanceId(), OLD_INTERNAL_INITIATOR)));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
assignee = BpmnTaskDelegateAssigner.toObjectCompatible(runtimeService.getVariable(delegateTask.getProcessInstanceId(), INTERNAL_TASK_RELATION_ASSIGNEE_INFO + delegateTask.getId()));
|
|
||||||
}
|
|
||||||
|
|
||||||
BpmnModel bpmnModel = repositoryService.getBpmnModel(delegateTask.getProcessDefinitionId());
|
|
||||||
FlowElement flowElement = bpmnModel.getFlowElement(delegateTask.getTaskDefinitionKey());
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private BpmnFlowNodeMode getNodeMode(FlowElement flowElement) {
|
|
||||||
BpmnFlowNodeMode node = GENERAL;
|
|
||||||
if (flowElement instanceof UserTask) {
|
|
||||||
UserTask userTask = (UserTask) flowElement;
|
|
||||||
if (userTask.getBehavior() instanceof MultiInstanceActivityBehavior) {
|
|
||||||
MultiInstanceActivityBehavior behavior =
|
|
||||||
(MultiInstanceActivityBehavior) userTask.getBehavior();
|
|
||||||
node = Objects.equals(AND_SIGN_EXPRESSION, behavior.getCompletionCondition()) ? AND : OR;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue
Block a user