update - 处理业务节点一种特殊模式的配置信息记录

This commit is contained in:
wangli 2024-02-04 16:47:17 +08:00
parent 2ab15f75f1
commit 03a058d36c

View File

@ -1,6 +1,9 @@
package cn.axzo.workflow.core.converter.json;
import cn.axzo.workflow.common.model.request.bpmn.BpmnJsonNode;
import cn.axzo.workflow.common.model.request.bpmn.BpmnJsonNodeProperty;
import org.flowable.bpmn.model.ExtensionAttribute;
import org.flowable.bpmn.model.ExtensionElement;
import org.flowable.bpmn.model.FlowableListener;
import org.flowable.bpmn.model.Process;
import org.flowable.bpmn.model.ReceiveTask;
@ -8,7 +11,11 @@ import org.flowable.engine.delegate.BaseExecutionListener;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import static cn.axzo.workflow.common.constant.BpmnConstants.CONFIG_APPROVAL_METHOD;
import static cn.axzo.workflow.common.constant.BpmnConstants.ELEMENT_ATTRIBUTE_DESC;
import static cn.axzo.workflow.common.constant.BpmnConstants.ELEMENT_ATTRIBUTE_VALUE;
import static org.flowable.bpmn.model.ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION;
/**
@ -26,6 +33,8 @@ public class ReceiveTaskJsonConverter extends AbstractBpmnJsonConverter<ReceiveT
receiveTask.setId(node.getId());
receiveTask.setName(node.getName());
// "设置审批人"
setApprovalExtensionElement(node, receiveTask);
setExecutionListeners(receiveTask);
return receiveTask;
}
@ -60,4 +69,26 @@ public class ReceiveTaskJsonConverter extends AbstractBpmnJsonConverter<ReceiveT
receiveTask.setExecutionListeners(executionListeners);
}
private static void setApprovalExtensionElement(BpmnJsonNode node, ReceiveTask receiveTask) {
BpmnJsonNodeProperty property = node.getProperty();
if (Objects.isNull(property)) {
return;
}
// 审批方式
ExtensionElement approvalMethodElement = new ExtensionElement();
approvalMethodElement.setName(CONFIG_APPROVAL_METHOD);
ExtensionAttribute approvalMethodValueAttribute = new ExtensionAttribute();
approvalMethodValueAttribute.setName(ELEMENT_ATTRIBUTE_VALUE);
approvalMethodValueAttribute.setValue(property.getApprovalMethod().getType());
approvalMethodElement.addAttribute(approvalMethodValueAttribute);
ExtensionAttribute approvalMethodDescAttribute = new ExtensionAttribute();
approvalMethodDescAttribute.setName(ELEMENT_ATTRIBUTE_DESC);
approvalMethodDescAttribute.setValue("审批方式");
approvalMethodElement.addAttribute(approvalMethodDescAttribute);
receiveTask.addExtensionElement(approvalMethodElement);
}
}