类 ModelHelper
java.lang.Object
net.sohelp.boot.engine.workflow.model.ModelHelper
流程模型辅助类
- 从以下版本开始:
- 1.0
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明static ProcessModelbuildProcessModel(String jsonModel) 构建流程模型static intcheckConditionNode(NodeModel nodeModel) 检查条件节点static booleancheckExistApprovalNode(NodeModel rootNodeModel) 检查是否存在审批节点static intcheckNodeModel(NodeModel rootNodeModel) 检查节点模型,检测节点模型需要构建父节点static NodeModelfindNextNode(NodeModel nodeModel, List<String> currentTask) 递归查找下一个执行节点static String生成节点KEY规则(flk + 时间戳)getAllNextConditionNodeKeys(NodeModel nodeModel) 获取所有下一个节点key,递归所有子节点getAllPreviousNodeKeys(NodeModel nodeModel) 获取所有上一个节点key,只包含发起节点和审批节点(非直接所在条件分支排除在外)getAllUsedNodeKeys(FlowContext flowLongContext, Execution execution, NodeModel rootNodeModel, String currentNodeKey) 获取当前已使用的节点key列表static voidgetChildAllUsedNodeKeys(List<String> currentUsedNodeKeys, FlowContext flowLongContext, Execution execution, NodeModel rootNodeModel, String currentNodeKey) 获取已使用所有的子节点key列表getNextChildNodes(FlowContext flowLongContext, Execution execution, NodeModel rootNodeModel, String currentNodeKey) 动态获取下一个节点static NodeModelgetNodeModel(String nodeKey, NodeModel rootNodeModel) 获取指定节点KEY模型信息getParentConditionNodeKeys(NodeModel nodeModel) 获取当前节点父条件节点所有子节点key列表getRootNodeAllChildNodes(NodeModel rootNodeModel) 获取根节点下的所有节点模型【 注意,只对根节点查找有效!】getUnsetAssigneeNodes(NodeModel rootNodeModel) 获取所有未设置处理人员节点【非发起人自己,只包含 1,审批 2,抄送 节点】static booleaninConditionNode(NodeModel nodeModel) 判断节点是否在条件节点中static voidreloadProcessModel(FlowContext flowLongContext, Long flwInstanceId, ProcessModel processModel) 重新加载流程模型static voidreloadProcessModel(ProcessModel processModel, Consumer<ProcessModel> consumer) 重新加载流程模型
-
构造器详细资料
-
ModelHelper
public ModelHelper()
-
-
方法详细资料
-
buildProcessModel
public static ProcessModel buildProcessModel(String jsonModel) throws com.fasterxml.jackson.core.JsonProcessingException 构建流程模型确保已经实现JSON解析处理器接口
- 参数:
jsonModel- 流程模型JSON格式- 返回:
- 流程模型
- 抛出:
com.fasterxml.jackson.core.JsonProcessingException
-
getNextChildNodes
public static List<NodeModel> getNextChildNodes(FlowContext flowLongContext, Execution execution, NodeModel rootNodeModel, String currentNodeKey) 动态获取下一个节点- 参数:
flowLongContext- 流程上下文FlowContextexecution- 流程执行对象ExecutionrootNodeModel- 根节点currentNodeKey- 当前节点- 返回:
- 下一个节点集合
-
findNextNode
递归查找下一个执行节点- 参数:
nodeModel- 当前节点currentTask- 当前任务列表- 返回:
- 流程节点模型
-
getAllPreviousNodeKeys
获取所有上一个节点key,只包含发起节点和审批节点(非直接所在条件分支排除在外)- 参数:
nodeModel- 当前节点- 返回:
- 所有节点key
-
getAllNextConditionNodeKeys
获取所有下一个节点key,递归所有子节点- 参数:
nodeModel- 当前节点模型- 返回:
- 所有节点key
-
getUnsetAssigneeNodes
获取所有未设置处理人员节点【非发起人自己,只包含 1,审批 2,抄送 节点】- 参数:
rootNodeModel- 根节点模型- 返回:
- 所有节点名称
-
getRootNodeAllChildNodes
获取根节点下的所有节点模型【 注意,只对根节点查找有效!】- 参数:
rootNodeModel- 根节点模型- 返回:
- 所有节点信息
-
checkNodeModel
检查节点模型,检测节点模型需要构建父节点- 参数:
rootNodeModel- 根节点模型- 返回:
- 0,正常 1,存在重复节点KEY 2,自动通过节点配置错误 3,自动拒绝节点配置错误 4,路由节点必须配置错误(未配置路由分支) 5,子流程节点配置错误(未选择子流程) 6,抄送节点配置错误(未配置处理人,且不允许抄送自选) 7,指定成员审批(未配置处理人员)
-
inConditionNode
判断节点是否在条件节点中- 参数:
nodeModel-NodeModel- 返回:
- true 是 false 否
-
checkConditionNode
检查条件节点- 参数:
nodeModel-NodeModel- 返回:
- 0,合法情况 1,存在多个条件表达式为空 2,存在多个条件子节点为空 3,存在条件节点KEY重复
-
checkExistApprovalNode
检查是否存在审批节点- 参数:
rootNodeModel- 根节点模型- 返回:
- true 存在 false 不存在
-
generateNodeKey
生成节点KEY规则(flk + 时间戳)- 返回:
- 节点KEY
-
getNodeModel
获取指定节点KEY模型信息- 参数:
nodeKey- 节点 KEYrootNodeModel- 根节点模型- 返回:
- JSON BPM 节点
-
reloadProcessModel
public static void reloadProcessModel(FlowContext flowLongContext, Long flwInstanceId, ProcessModel processModel) 重新加载流程模型- 参数:
flowLongContext- 流程上下文flwInstanceId- 流程实例IDprocessModel- 流程模型
-
reloadProcessModel
重新加载流程模型- 参数:
processModel- 流程模型consumer- 流程模型消费
-
getAllUsedNodeKeys
public static List<String> getAllUsedNodeKeys(FlowContext flowLongContext, Execution execution, NodeModel rootNodeModel, String currentNodeKey) 获取当前已使用的节点key列表- 参数:
flowLongContext- 流程上下文FlowContextexecution- 流程执行对象ExecutionrootNodeModel- 模型根节点NodeModelcurrentNodeKey- 当前所在节点- 返回:
- 当前已使用的节点key列表
-
getChildAllUsedNodeKeys
public static void getChildAllUsedNodeKeys(List<String> currentUsedNodeKeys, FlowContext flowLongContext, Execution execution, NodeModel rootNodeModel, String currentNodeKey) 获取已使用所有的子节点key列表 -
getParentConditionNodeKeys
获取当前节点父条件节点所有子节点key列表- 参数:
nodeModel- 当前节点- 返回:
- 并行节点所有子节点key列表
-