您的位置:首页 > 产品设计 > 产品经理

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版本。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Activiti BPM 流程引擎
相关文章推荐