1. 程式人生 > 實用技巧 >Activiti流程定義資訊查詢

Activiti流程定義資訊查詢

package com.itheima.day03.activiti;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.repository.ProcessDefinitionQuery;

import java.util.List;

/**
 * 查詢流程定義資訊
 */
public class QueryProcessDefinition {


    public static void main(String[] args) {
        //1.得到ProcessEngine物件
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

        //2.建立RepositoryService物件
        RepositoryService repositoryService = processEngine.getRepositoryService();

        //3.得到ProcessDefinitionQuery物件,可以認為它就是一個查詢器
        ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery();

        //4.設定條件,並查詢出當前的所有流程定義   查詢條件:流程定義的key=holiday
        //orderByProcessDefinitionVersion() 設定排序方式,根據流程定義的版本號進行排序
        List<ProcessDefinition> list = processDefinitionQuery.processDefinitionKey("holiday")
                .orderByProcessDefinitionVersion()
                .desc().list();

        //5.輸出流程定義資訊
        for(ProcessDefinition processDefinition :list){
            System.out.println("流程定義ID:"+processDefinition.getId());
            System.out.println("流程定義名稱:"+processDefinition.getName());
            System.out.println("流程定義的Key:"+processDefinition.getKey());
            System.out.println("流程定義的版本號:"+processDefinition.getVersion());
            System.out.println("流程部署的ID:"+processDefinition.getDeploymentId());

        }
    }
}