【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”
1、Activiti怎么判断当前节点的下一个节点是 网关节点?
2、怎么拿取 这个网关节点的 节点ID?
请大神帮忙解答
获取到activiti当前节点的节点对象
BpmProcessDef pd = pdManager.getProcessDef(processDefinitionId); // 取得流程定义 ProcessDefinitionEntity processDefinition = getProcessDefinitionEntity(pd.getActProcDefId()); // 根据节点ID,获取对应的活动节点 ActivityImpl activityImpl = ((ProcessDefinitionImpl) processDefinition) .findActivity(activityId);
List<PvmTransition> pvmTransitions = activityImpl.getOutgoingTransitions();// 取出节点的所有出去的线
for (PvmTransition pvmTransition : pvmTransitions) { ActivityImpl pvmActivityImpl = (ActivityImpl) pvmTransition.getDestination();// 取出线的目标节点 pvmActivityImpl.getId();//获取节点ID再通过节点ID获取节点对象 }
ActivityImpl nextActivity=processDefinition.findActivity(activityId) 试试
String type = Objects.toString(nextActivity.getProperty("type"));
if ("endEvent".equals(type)) {
} else if ("exclusiveGateway".equals(type)) {
} else if ("userTask".equals(type)) {
}
希望对你有帮助!
获取到activiti当前节点的节点对象
ActivityImpl nextActivity=processDefinition.findActivity(activityId) 试试
String type = Objects.toString(nextActivity.getProperty("type"));
if ("endEvent".equals(type)) {
} else if ("exclusiveGateway".equals(type)) {
} else if ("userTask".equals(type)) {
}
希望对你有帮助!