流程查询2

if(qr!= null )
            {
             while(qr.hasMoreElements())
             {
              WfProcessDefinition tempWf = (WfProcessDefinition)qr.nextElement();
              
              Enumeration enumeration = WfEngineHelper.service.getProcesses(tempWf.getProcessTemplate(), wfState);
              ArrayList wfProcessList = Collections.list(enumeration);
             
              for(int i=0; i< wfProcessList.size(); i++)
              {
               String[] data = new String[5];
                  WfProcess pro = (WfProcess)wfProcessList.get(i);
                 
                  String className = "wt.enterprise.URLProcessor";
                  String oid = new ReferenceFactory().getReferenceString((Persistable)pro);
                  Properties props = new Properties();
                  props.put("Action", "ProcessManager");
                  props.put("oid", oid);
                  URL url = wt.httpgw.GatewayURL.getAuthenticatedGateway(null).getURL(className,"URLTemplateAction",null,props);
                  
                 

您好!对于Flowable流程引擎,您可以通过以下方法来查询流程节点: 1. 使用RepositoryService的方法: ```java List<FlowElement> flowElements = repositoryService.getBpmnModel(processDefinitionId) .getMainProcess() .getFlowElements(); ``` 这将返回指定流程定义ID的BPMN模型的主流程中的所有流程元素(包括任务、网关、边界事件等),您可以根据需要筛选出节点。 2. 使用RuntimeService的方法: ```java List<Execution> executionList = runtimeService.createExecutionQuery() .processInstanceId(processInstanceId) .list(); for (Execution execution : executionList) { String activityId = execution.getActivityId(); FlowNode flowNode = (FlowNode) runtimeService.getBpmnModel(execution.getProcessDefinitionId()) .getFlowElement(activityId); // 处理流程节点 } ``` 首先,使用executionQuery过滤出指定流程实例ID的所有execution,然后通过获取活动ID,从BPMN模型中获取相应的流程节点。 3. 使用HistoryService的方法: ```java List<HistoricActivityInstance> activityInstances = historyService.createHistoricActivityInstanceQuery() .processInstanceId(processInstanceId) .orderByHistoricActivityInstanceStartTime() .asc() .list(); for (HistoricActivityInstance activityInstance : activityInstances) { String activityId = activityInstance.getActivityId(); FlowNode flowNode = (FlowNode) repositoryService.getBpmnModel(activityInstance.getProcessDefinitionId()) .getFlowElement(activityId); // 处理流程节点 } ``` 使用historicActivityInstanceQuery过滤出指定流程实例ID的所有历史活动实例,然后通过获取活动ID,从BPMN模型中获取相应的流程节点。 这些方法可以帮助您查询Flowable流程引擎中的流程节点。希望对您有所帮助!如有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值