activiti如何获取下一步节点

ACTIVITI相对于JBPM来说,比较年轻,用的人少,中文方面的资料更少,我根据网上到处找得资料以及看官方文档总结出来了代码,非常不容易啊。废话不多说,直接上代码吧:

首先是根据流程ID获取当前任务:

Java代码 
  1. List<Task> tasks = taskService.createTaskQuery().processInstanceId(procInstanceId).list();

然后根据当前任务获取当前流程的流程定义,然后根据流程定义获得所有的节点:

Java代码 
  1. ProcessDefinitionEntity def = (ProcessDefinitionEntity) ((RepositoryServiceImpl)rs).getDeployedProcessDefinition(task.getProcessDefinitionId());
  2. List<ActivityImpl> activitiList = def.getActivities(); //rs是指RepositoryService的实例

根据任务获取当前流程执行ID,执行实例以及当前流程节点的ID:

Java代码 
  1. String excId = task.getExecutionId();
  2. ExecutionEntity execution = (ExecutionEntity) runtimeService.createExecutionQuery().executionId(excId).singleResult();
  3. String activitiId = execution.getActivityId();

然后循环activitiList 并判断出当前流程所处节点,然后得到当前节点实例,根据节点实例获取所有从当前节点出发的路径,然后根据路径获得下一个节点实例:

Java代码 
  1. for(ActivityImpl activityImpl:activitiList){
  2. String id = activityImpl.getId();
  3. if(activitiId.equals(id)){
  4. System.out.println("当前任务:"+activityImpl.getProperty("name")); //输出某个节点的某种属性
  5. List<PvmTransition> outTransitions = activityImpl.getOutgoingTransitions();//获取从某个节点出来的所有线路
  6. for(PvmTransition tr:outTransitions){
  7. PvmActivity ac = tr.getDestination(); //获取线路的终点节点
  8. System.out.println("下一步任务任务:"+ac.getProperty("name"));
  9. }
  10. break;
  11. }
  12. }

activiti 如何获取下一步节点相关推荐

  1. activit6.0 根据当前节点信息获取下一步的审批人信息

    背景:公司内部oa系统进行审批,需要集成极光推送,这样的话,需要在审批的时候,通过当前节点,查找出下一个需要审批人的信息,在网上查看了很多资料,大多都是activit版本对不上,还有就是提供的代码不完 ...

  2. Activiti获取流程节点、流程图,驳回,终止

    最近项目,用到流程.第一次用,就自己做了一下小结: 1. ===================================下面这段代码是获取流程线信息====================== ...

  3. 二叉树(C++):创建,前中后序遍历(递归+非递归),获取叶子节点个数,获取树的高度

    文章目录 前言 创建二叉树 先序遍历 中序遍历 后序遍历 获取叶子节点个数 获取树的高度 测试代码 前言 现有如下二叉树: 关于二叉树的相关操作,我们能够发现二叉树从根节点到子节点,以及每个中间节点基 ...

  4. 获取BT节点信息bittorrent-discovery

    2019独角兽企业重金招聘Python工程师标准>>> 获取BT节点信息bittorrent-discovery BT/磁力都是常见的P2P下载方式.用户作为一个节点node从其他用 ...

  5. 前端框架——Jquery——基础篇2__获取DOM节点的值

    对于获取DOM节点的内容,Jquery提供了四种方法,html,text,val,attr.下面来分别介绍这四种方法和它们的区别.下面以例子来说明 我写的JSP页面内容如下: 1 <div id ...

  6. JavaScript 技术篇-js只获取本节点text文本,不包含子节点

    innerText 和 textContent 都是获取所有节点的 firstChild.nodeValue 是获取本节点的text文本,不包含子节点的. 喜欢的点个赞❤吧!

  7. JavaScript 技术篇-js通过xpath获取dom节点,js校验xpath唯一性

    document.evaluate() 就是通过 xpath 获取 dom 节点. 返回的结果通过 .iterateNext() 可以获得 dom 对象,每次调用会少一个,当没有时就返回空. 返回匹配 ...

  8. layui如何获取父节点的父节点_jquery获取父元素或父节点的方法

    jquery获取父元素方法比较多,比如parent(),parents(),closest()这些都能帮你实现查找父元素或节点,下面我们来一一讲解: 先举个例子, jquery获取父节点 jquery ...

  9. Winform中双击DevExpress的TreeList的树形节点怎样获取当前节点

    场景 DevExpress的TreeList怎样设置数据源,从实例入手: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10254 ...

最新文章

  1. 关于MSSQL导入导出时主键与约束丢失的问题解决
  2. 斯坦福神经网络神经元对特征提取的影响JS演示
  3. css伪类元素及选择器
  4. intellij idea cpu占用率太大太满 运行速度太慢解决方案
  5. S - 母牛的故事(递推)
  6. boost::multiprecision::float128用法的测试程序
  7. Andrew NG 机器学习编程作业5 Octave
  8. python电脑截图文字识别软件_Python实现文字识别,来看看大牛怎么实现截图/
  9. php斯芬克斯,斯芬克斯之迷——ie私有属性haslayout的困扰
  10. 研究做得好,贡献也要大!腾讯AI Lab正式开源业内最大规模多标签图像数据集...
  11. php正则如何使用 1,PHP正则表达式使用详解(1)
  12. python是什么类型的编程语言-python是什么编程语言
  13. 服务器内的虚拟机无法上网,VMware虚拟机中无法上网如何解决
  14. 2021-09-10二叉树的层序遍历
  15. Nginx面试题及答案
  16. 一年月份大小月口诀_《认识年月日》大小月记忆法知识点教学设计
  17. seq2seq(序列到序列)模型
  18. Error: 1307. Verify that you have sufficient privileges to modify the security permissions for this
  19. 如何选购翻新iPad,需要注意哪些问题
  20. 2021年煤矿采煤机(掘进机)操作操作证考试及煤矿采煤机(掘进机)操作模拟考试题库

热门文章

  1. linux c计算两个int相除求百分比的实现
  2. 数据加密_2021年数据加密的六大趋势
  3. 数据结构之二叉树的物理结构(存储结构)
  4. 推动Windows的限制:USER和GDI对象 - 第1部分
  5. Java 文件操作一(写文件、按行读文件、删除文件、复制文件、追加数据、创建临时文件、修改最后修改日期、获取文件大小)
  6. Python3回调函数
  7. docker 搭建 ftp服务器
  8. Wycieczki 线性代数
  9. mapping数据列表
  10. Scala-Unit6-final/type关键字、样例类样例对象