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