Activiti工作流学习(六)

前言

Activity工作流提供了很多的关于历史记录的查询,今天讲讲常用的几个方法。

四个历史查询方法

1.查询历史的流程实例

@Test
public void queryHistoryProcessInstance(){
    List<HistoricProcessInstance> historicProcessInstanceList = historyService.createHistoricProcessInstanceQuery()
                .processDefinitionKey("activiti_leave")
                .orderByProcessInstanceEndTime()
                .desc()
                .list();

    for(HistoricProcessInstance historicProcessInstance : historicProcessInstanceList){
        System.out.println("历史流程实例ID:"+historicProcessInstance.getId());
        System.out.println("历史流程实例完成时间:"+historicProcessInstance.getEndTime());
    }
}

2.查询当前流程实例所经历的所有活动

@Test
public void queryHistoryActivityInstance(){
    List<HistoricActivityInstance> historicActivityInstanceList = historyService.createHistoricActivityInstanceQuery()
                .processInstanceId("3001")
                .list();

    for(HistoricActivityInstance historicActivityInstance : historicActivityInstanceList){
        System.out.println("历史活动ID:"+historicActivityInstance.getId());
        System.out.println("历史活动名称:"+historicActivityInstance.getActivityName());
        System.out.println("办理人:"+historicActivityInstance.getAssignee());
    }
}

3.查询某个办理人(结点)所经历的所有任务

@Test
public void queryHistoryTaskInstanceByAssignee(){
    List<HistoricTaskInstance> historicTaskInstanceList = historyService.createHistoricTaskInstanceQuery()
                .processDefinitionKey("activiti_leave")
                .taskAssignee("employnee")
                .list();

    for(HistoricTaskInstance historicTaskInstance : historicTaskInstanceList){
        System.out.println("历史任务ID:"+historicTaskInstance.getId());
        System.out.println("历史活动名称:"+historicTaskInstance.getName());
        System.out.println("结束时间:"+historicTaskInstance.getEndTime());
        System.out.println("办理人:"+historicTaskInstance.getAssignee());
        System.out.println("----------------------------------------------");
    }
}

4.根据流程实例的ID来查询历史流程变量

@Test
public void queryHistoryVariable(){
    List<HistoricVariableInstance> historicVariableInstanceList = historyService.createHistoricVariableInstanceQuery()
                .processInstanceId("1001")
                .list();

    for(HistoricVariableInstance historicVariableInstance : historicVariableInstanceList){
        System.out.println("流程变量ID:"+historicVariableInstance.getId());
        System.out.println("变量名:"+historicVariableInstance.getVariableName());
        System.out.println("变量值:"+historicVariableInstance.getValue());
        System.out.println("----------------------------------------------");
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章