activiti根据流程id判断任务是否结束

部署流程=====》启动流程实例=======》查询 SELECT * FROM `act_ru_task`(任务表) 

            SELECT * FROM `act_ru_execution`   #正在执行的对象表 拿到正在执行对象id对应的任务id

 

package cn.et.db;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.runtime.ProcessInstanceQuery;
import org.junit.Test;

public class Isend {
	ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
	/**
	 * 根据正在执行id查询正在执行的对象表   有数据表示没有执行完毕 没有数据表示执行完毕
	 *      不一定要查询正在执行的对象表 
	 */
	@Test
	public void isEnd(){
		RuntimeService runtimeService = processEngine.getRuntimeService();
		ProcessInstanceQuery createProcessInstanceQuery = runtimeService.createProcessInstanceQuery();
		ProcessInstanceQuery processInstanceId = createProcessInstanceQuery.processInstanceId("1111");
		ProcessInstance singleResult = processInstanceId.singleResult();
		if(singleResult==null){
			System.out.println("执行完毕");
		}else{
			System.out.println("正在执行");
		}
	}
	
}

 

SELECT * FROM `act_ru_execution`   #正在执行的对象表

SELECT * FROM `act_hi_procinst`   #流程实例历史表

SELECT * FROM `act_ru_task`   #正在执行的任务表(只有节点是UserTask的时候,该表中存在数据)

SELECT * FROM `act_hi_taskinst`  #任务历史表

SELECT * FROM `act_hi_actinst`    #所有活动节点的历史表

 

你可能感兴趣的:(activiti)