activiti已经办理完成的流程实例显示历史运行轨迹
2017-04-06 00:00
465 查看
在activiti5.21.0当中是不支持使用diagram-viewer来显示已经完成的历史轨迹的,但是实际工作当中往往我们想看到已经完成的审批流程历史轨迹,比看历史审批意见来的更直观,那么就需要修改一下activiti绘制高亮路径的rest接口:
org.activiti.rest.diagram.services.ProcessInstanceHighlightsResource.getHighlighted;
原先的代码中有一行根据流程实例id或者流程实例对象的代码:
ProcessInstance processInstance
=runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
由于实例已经结束那么这个查询肯定会抛出异常,查询不到数据,修改为如下即可:
HistoricProcessInstance processInstance
=historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
activiti本身获取高亮路径线非常麻烦,是根据流程定义做的,但是中国式流程的审批又很复杂要突破本身的流程定义,完成回退、退回给流程发起人等破坏流程定义的流程走向,这就需要我们对引擎就行二次开发,在二次开发中保存实际的运行路径,根据实际的运行路径再来获取这个高亮线条的数据获取,就很简单,后面的博客会讲到如何在不需改activiti源码的基础上实现中国式审批及保存流程运行历史轨迹,不需改源码的好处是后面activiti升级了,我们的引擎可以很方便的升级到最新版本,我原先公司使用的是5.16的版本,使用这种方式直接将引擎升级到了5.21.0版本。
org.activiti.rest.diagram.services.ProcessInstanceHighlightsResource.getHighlighted;
原先的代码中有一行根据流程实例id或者流程实例对象的代码:
ProcessInstance processInstance
=runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
由于实例已经结束那么这个查询肯定会抛出异常,查询不到数据,修改为如下即可:
HistoricProcessInstance processInstance
=historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
activiti本身获取高亮路径线非常麻烦,是根据流程定义做的,但是中国式流程的审批又很复杂要突破本身的流程定义,完成回退、退回给流程发起人等破坏流程定义的流程走向,这就需要我们对引擎就行二次开发,在二次开发中保存实际的运行路径,根据实际的运行路径再来获取这个高亮线条的数据获取,就很简单,后面的博客会讲到如何在不需改activiti源码的基础上实现中国式审批及保存流程运行历史轨迹,不需改源码的好处是后面activiti升级了,我们的引擎可以很方便的升级到最新版本,我原先公司使用的是5.16的版本,使用这种方式直接将引擎升级到了5.21.0版本。
相关文章推荐
- [jbpm]jBPM(十二): 流程运行的历史和轨迹与ProcessLog
- 【入门篇】Activiti查询指定流程定义下指定流程实例下历史任务
- activiti自定义流程之Spring整合activiti-modeler5.16实例(八):完成个人任务
- activiti自定义流程之Spring整合activiti-modeler5.16实例(九):历史任务查询
- C#源码刷新网页 最小化托盘http get和post请求配置保存版权时间限制定时调用 单实例运行,如果已经运行则激活窗口到最前显示
- activiti自定义流程之Spring整合activiti-modeler实例(八):完成个人任务
- 流程实例运行轨迹的运用
- Activiti(Flowable)流程克隆(运行时实例克隆)解决方案 一种订单制造中分裂拆单与合并的核心技术实践
- activiti自定义流程之Spring整合activiti-modeler实例(九):历史任务查询
- Activiti基础教程--07流程执行历史记录(历史任务、历史流程实例、历史活动)
- activiti 启动流程实例 查询、和历史表信息
- Activiti(Flowable)流程克隆(运行时实例克隆)解决方案 一种订单制造中分裂与合并的核心技术实践
- activiti自定义流程之Spring整合activiti-modeler实例(九):历史任务查询
- c# 控制职能运行单一实例,再次运行显示已经运行的实例
- 【入门篇】Activiti查询指定流程定义下已完成的流程实例
- Activiti获取某个流程实例已经审批的节点记录
- Activiti基础教程--07流程执行历史记录(历史任务、历史流程实例、历史活动)
- activiti学习--05流程实例:查询流程状态+查询历史任务+查询历史流程实例
- activiti自定义流程之Spring整合activiti-modeler实例(八):完成个人任务
- activiti学习--05流程实例:部署流程定义+部署流程定义+查询当前人的个人任务+完成我的任务