您的位置:首页 > 其它

activiti 查询流程定义启动流程

2017-03-25 20:00 316 查看

查询流程定义

要启动流程就必须要知道有哪些流程,可能会涉及到权限的问题,所以启动流程前先查询流程定义的信息(流程定义的信息放在act_re_procdef的表中)所以用RepositoryService中的方法查询,可以根据act_re_procdef表的索引去查询
流程定义信息查询
    RepositoryServicerepositoryService=   processEngine().getRepositoryService();
        List<ProcessDefinition>processDefinition=repositoryService.createProcessDefinitionQuery()
        .orderByProcessDefinitionVersion().desc().list();
 
List<ProcessDefinition> processDefinitionLast=
repositoryService.createProcessDefinitionQuery()
                .orderByProcessDefinitionVersion().desc()//查询所有的数据
                .latestVersion().list();//查询所有流程的最新版本
        for(ProcessDefinitionpd :processDefinition){
           
            System.out.println("----------------------------------------------");
            System.out.println("流程定义名:"+pd.getName());
            System.out.println("流程定义版本:"+pd.getVersion());
            System.out.println("流程定义KEY:"+pd.getKey());
            System.out.println("流程部署Deploymentid:"+pd.getDeploymentId());
            System.out.println("流程定义id:"+pd.getId());
            }
 

启动流程

可以根据流程定义ID(startProcessInstanceById)或者KEY(startProcessInstanceByKey)启动。注意:根据流程定义KEY:deploy_classpath,会以最新版本的流程定义启动。在启动流程时可以设置流程的启动人以及流程变量
   //启动流程
    @Test
    public
void
test_startProcess(){
        RepositoryServicerepositoryService =   processEngine().getRepositoryService();
        RuntimeServiceruntimeService =processEngine().getRuntimeService();
        IdentityServiceidentityService =processEngine().getIdentityService();
        //设置流程启动人(开始节点的执行人)
        identityService.setAuthenticatedUserId("zzz");
        //根据流程定义ID
         runtimeService.startProcessInstanceById("deploy_classpath:2:2504");
        }

    //设置流程启动人(开始节点的执行人)
              identityService.setAuthenticatedUserId("by_key");
       //根据流程定义KEY:deploy_classpath
,会以最新版本的流程定义启动
        runtimeService.startProcessInstanceByKey("deploy_classpath");

ID流程启动后各表的变化









KEY流程启动后各表的变化



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: