activiti如何获取当前节点以及下一步路径或节点
来源:互联网 发布:服装商品数据分析 编辑:程序博客网 时间:2024/06/01 10:46
ACTIVITI相对于JBPM来说,比较年轻,用的人少,中文方面的资料更少,我根据网上到处找得资料以及看官方文档总结出来了代码,非常不容易啊。废话不多说,直接上代码吧:
首先是根据流程ID获取当前任务:
List<Task> tasks = taskService.createTaskQuery().processInstanceId(procInstanceId).list();
然后根据当前任务获取当前流程的流程定义,然后根据流程定义获得所有的节点:
ProcessDefinitionEntity def = (ProcessDefinitionEntity) ((RepositoryServiceImpl)rs).getDeployedProcessDefini
List<ActivityImpl> activitiList = def.getActivities();
根据任务获取当前流程执行ID,执行实例以及当前流程节点的ID:
String excId = task.getExecutionId();
ExecutionEntity execution = (ExecutionEntity) runtimeService.createExecutionQuery().executionId(excId).singleResult();
String activitiId = execution.getActivityId();
然后循环activitiList 并判断出当前流程所处节点,然后得到当前节点实例,根据节点实例获取所有从当前节点出发的路径,然后根据路径获得下一个节点实例:
for(ActivityImpl activityImpl:activitiList){
String id = activityImpl.getId();
if(activitiId.equals(id)){
System.out.println("当前任务:"+activityImpl.getProperty("name")); //输出某个节点的某种属性
List<PvmTransition> outTransitions = activityImpl.getOutgoingTransitions();//获取从某个节点出来的所有线路
for(PvmTransition tr:outTransitions){
PvmActivity ac = tr.getDestination(); //获取线路的终点节点
System.out.println("下一步任务任务:"+ac.getProperty("name"));
}
break;
}
}
这就是获取当前节点以及下一步路径或节点的整个过程了
- activiti如何获取当前节点以及下一步路径或节点
- activiti 如何获取下一步节点
- activiti 如何获取下一步节点
- activiti 如何获取下一步节点
- activiti根据当前节点获取下一步任务节点
- activiti学习资料(获取下一步节点)
- activiti根据当前节点获取下一个节点信息
- activiti根据当前节点获取下一个UseTask节点
- activiti---获取活动节点
- activiti高亮当前节点
- 递归获取当前节点以及所有子节点的unid
- XSL转换问题,如何获取当前节点的父节点是否是最后一个父节点
- 递归获取当前节点的父节点
- activiti中有任务id,获取当前流程节点的信息
- activiti学习资料(获取所有活动节点)
- activiti 配置节点 连线信息获取
- activiti&flowable获取下一个审批节点
- jquery获取当前的节点
- faster-rcnn 之 RPN网络的结构解析
- ffmpeg编译时的问题
- JSP 实用程序之简易页面编辑器
- 从0开始学习 GitHub 系列之「初识 GitHub」
- STM32F4 定义ucosii到CCM
- activiti如何获取当前节点以及下一步路径或节点
- angularjs JSONP服务
- 【Wireless】WEP和WPA的基本概念和实现方法
- IntelliJ IDE工具学习
- 如何杀掉指定进程的进程号
- KMP算法及java实现
- 15款最好用的思维导图(心智图 )工具
- xcode 光标变粗不能输入,纠结很久
- jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class