activiti学习--05流程实例:查询流程状态+查询历史任务+查询历史流程实例

查询流程状态

    /**查询流程状态(判断流程正在执行,还是结束)*/
    @Test
    public void isProcessEnd(){
        String processInstanceId = "1401";
        //去正在执行的任务表查询
        ProcessInstance pi = processEngine.getRuntimeService()//表示正在执行的流程实例和执行对象
                        .createProcessInstanceQuery()//创建流程实例查询
                        .processInstanceId(processInstanceId)//使用流程实例ID查询
                        .singleResult();
        if(pi==null){
            System.out.println("该流程实例走完");
        }
        else{
            System.out.println("该流程实例还没走完");
        }
//      输出:
//      该流程实例还没走完
    }

查询历史任务

/**查询历史任务*/
    @Test
    public void findHistoryTask(){
        String taskAssignee = "小黄";
        List<HistoricTaskInstance> list = processEngine.getHistoryService()//与历史数据(历史表)相关的Service
                        .createHistoricTaskInstanceQuery()//创建历史任务实例查询
                        .taskAssignee(taskAssignee)//指定历史任务的办理人
                        .list();
        if(list!=null && list.size()>0){
            for(HistoricTaskInstance pi:list){
                   System.out.println("流程实例ID:"+pi.getId());//流程实例ID   
                   System.out.println("流程定义ID:"+pi.getProcessDefinitionId());//流程定义ID 
                   System.out.println("流程名称:"+pi.getName());
                   System.out.println("代理人:"+pi.getAssignee());
            }
        }
    }
输出:
流程实例ID:1404
流程定义ID:askForLeave:8:1304
流程名称:请假申请
代理人:小黄
流程实例ID:304
流程定义ID:askForLeave:2:204
流程名称:请假申请
代理人:小黄

查询历史流程实例

    /**查询历史流程实例*/
    @Test
    public void findHistoryProcessInstance(){
        String processInstanceId = "1401";
        HistoricProcessInstance pi = processEngine.getHistoryService()//与历史数据(历史表)相关的Service
                        .createHistoricProcessInstanceQuery()//创建历史流程实例查询
                        .processInstanceId(processInstanceId)//使用流程实例ID查询
                        .singleResult();
           System.out.println("流程实例ID:"+pi.getId());//流程实例ID   
           System.out.println("流程定义ID:"+pi.getProcessDefinitionId());//流程定义ID 
           System.out.println("流程开始时间:"+pi.getStartTime());
           System.out.println("流程结束时间:"+pi.getEndTime());
    }
输出:
流程实例ID:1401
流程定义ID:askForLeave:8:1304
流程开始时间:Tue Sep 05 22:09:10 CST 2017
流程结束时间:null
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值