zoukankan      html  css  js  c++  java
  • 05流程图和流程定义的操作

    一、流程定义的删除(根据部署ID删除)

    1、RepositoryService.deleteDeployment(部署ID)

    使用此方法时,当此流程没有流程实例时,会将三个表中的信息都删除。
    当有流程实例时,则删除不成功。

    2、RepositoryService.deleteDeployment(部署ID,cascade)

    中间方法,cascade的值为布尔类型的值。
    当cascade的值为true时,无论有没有流程实例在引用此流程定义,都会将三个表中的信息都删除。
    当cascade的值为false时,有流程实例在引用此流程定义,则删除不成功。

    3、RepositoryService.deleteDeploymentCascade(部署ID)

    无论有没有流程实例在引用此流程定义,都会将三个表中的信息都删除。
    三张表分别是:
     

    二、流程定义的修改

    Activiti没有提供修改流程定义信息的接口,在修改原有的流程图之后,需要重新部署,只要key不变,此流程图的版本号会+1。
    也就是说,在修改了流程图之后,只有重新部署,修改的流程才会生效。

    三、查询最新版本的流程定义(用于流程发起) 黎美顺我爱你ლ(′◉❥◉`ლ)

    1、首先将当前key的所有流程按照版本号进行升序查询。
    2、将查询得出的list进行遍历保存到map集合当中(特点是map的键唯一),遍历结束,map保存的就是最新版本的流程定义
    3、将map进行遍历
        public void findNewProDef() {
            //将流程定义按照版本号升序查询
            RepositoryService repositoryService = processEngine.getRepositoryService();
            List<ProcessDefinition> processDefinitions = repositoryService
                    .createProcessDefinitionQuery().orderByProcessDefinitionVersion().asc().list();
            HashMap<String,ProcessDefinition> map = new HashMap<String,ProcessDefinition>();
            //将流程定义保存到map当中
            for(ProcessDefinition pd:processDefinitions) {
                map.put(pd.getKey(), pd);
            }
            //遍历map则可以得到所有最新的流程定义
            Collection<ProcessDefinition> newpd = map.values();
            for(ProcessDefinition pd:newpd) {
                System.out.println(pd.getId());
            }
        }

    四、查询流程图(根据流程定义的ID去查)

     
     
     



  • 相关阅读:
    <爬虫实例> 8684公交网-太原公交线路信息
    <爬虫> requests模块
    爬虫四 selenium + phantomjs & Headless Chrome
    爬虫三 bs4&xpath&jsonpath
    爬虫二 cookie&正则
    爬虫一 发请求&定制请求&异常处理&配置代理
    抽屉页面设计
    HTML标签及其属性
    Python之路 day3 高阶函数
    Python之路 day3 递归函数
  • 原文地址:https://www.cnblogs.com/Guorisy/p/12099241.html
Copyright © 2011-2022 走看看