java1234开源博客系统
博客信息

Activiti历史活动查询

发布时间:『 2016-06-30 10:36』  博客类别:activiti  阅读(6851) 评论(5)

在流程系统开发中,我们有这样一种需求,

当流程实例完成后,我们要查下流程活动具体的执行情况,比如这个流程实例什么时候开始的,什么时候结束的,

以及中间具体的执行步骤,这时候,我们需要查询历史流程活动执行表,act_hi_actinst


QQ鎴浘20160630103307.jpg


比如上面这个流程;


Activiti提供了丰富的接口让我们查询历史活动,上代码:

/**
	 * 历史活动查询
	 */
	@Test
	public void historyActInstanceList(){
		List<HistoricActivityInstance> list=processEngine.getHistoryService() // 历史任务Service
				.createHistoricActivityInstanceQuery() // 创建历史活动实例查询
				.processInstanceId("27501") // 指定流程实例id
				.finished() // 查询已经完成的任务  
				.list();
		for(HistoricActivityInstance hai:list){
			System.out.println("任务ID:"+hai.getId());
	        System.out.println("流程实例ID:"+hai.getProcessInstanceId());
	        System.out.println("活动名称:"+hai.getActivityName());
	        System.out.println("办理人:"+hai.getAssignee());
	        System.out.println("开始时间:"+hai.getStartTime());
	        System.out.println("结束时间:"+hai.getEndTime());
	        System.out.println("===========================");
		}
	}


执行结果:

任务ID:27502

流程实例ID:27501

活动名称:Start

办理人:null

开始时间:Thu Jun 30 10:13:20 CST 2016

结束时间:Thu Jun 30 10:13:20 CST 2016

===========================

任务ID:27503

流程实例ID:27501

活动名称:学生请假申请

办理人:张三

开始时间:Thu Jun 30 10:13:20 CST 2016

结束时间:Thu Jun 30 10:16:13 CST 2016

===========================

任务ID:30001

流程实例ID:27501

活动名称:班长审批

办理人:李四

开始时间:Thu Jun 30 10:16:13 CST 2016

结束时间:Thu Jun 30 10:16:36 CST 2016

===========================

任务ID:32501

流程实例ID:27501

活动名称:班主任审批

办理人:王五

开始时间:Thu Jun 30 10:16:36 CST 2016

结束时间:Thu Jun 30 10:16:57 CST 2016

===========================

任务ID:35001

流程实例ID:27501

活动名称:End

办理人:null

开始时间:Thu Jun 30 10:16:57 CST 2016

结束时间:Thu Jun 30 10:16:57 CST 2016

===========================


完整代码:http://pan.baidu.com/s/1kVdbynH


关键字:   activiti  
关注Java1234微信公众号
博主信息
Java1234_小锋
(知识改变命运,技术改变世界)
Powered by Java1234 V3.0 Copyright © 2012-2016 Java知识分享网 版权所有