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("----------------------------------------------");
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章