• activiti


    https://www.jianshu.com/p/aadbfd0e37b0

    https://blog.csdn.net/whatlookingfor/article/details/52958668

    https://www.jianshu.com/p/8f8b4de761ab?appinstall=0

    英文文档

    https://www.activiti.org/javadocs/index.html

    插件

    actibpm 

    用于绘制工作流文件bpmn

    idea自带的Diagram

    需要开启UML,    JBOSSJBPM      

    并且将bpmn文件改为xml 形成png图片,然后改回至bpmn

    插件乱码file encodings全部改为utf8

    vmoptions文件最后加上

    -Dfile.encoding=UTF-8

    ---------------------------------------------------------------------------------------------------------------------------------

    总流程

    概念,流程,流程实例,任务

    流程也就是bpmn模板,一个流程对应多个流程实例,流程实例也就是流程以参数形式存放打数据库,一种直观数据体现形式,任务是流程实例启动后的状态,有开始,正在进行,结束,正在进行分为多个步骤

    repositoryService.createDeployment() 

     部署,分三步

    act_ge_bytearray  流程文件bpmn,png以二进制形式存储   与act_re_deployment  通过DEPLOYMENT_ID_关联

    act_re_deployment 流程名称信息

    act_re_procdef   流程实例  复合型id,名字为流程图设定的name  key为流程图写的id,用于标识不同的记录  RESOURCE_NAME_存放bpmn文件的目录和名字
    DGRM_RESOURCE_NAME_用于存放png文件的目录和名字   与act_re_deployment  通过DEPLOYMENT_ID_关联

    runtimeService.startProcessInstanceById(actBusiness.getProcDefId(), actBusiness.getId(), actBusiness.getParams())

    启动流程,启动后会产生3种id  流程定义id 流程实例id  当前活动id,流程启动后参与者可以查看自己所在多个任务中的代办任务

    TaskQuery query = taskService.createTaskQuery().taskCandidateOrAssigned(userId);

    查询任务中的代办任务

    act_ru_task  任务表    act_ru_task.PROC_DEF_ID_与act_re_procdef.id关联

    taskService.complete(id);

    审批通过

    过程:
    act_hi_taskinst  历史存储开始任务,通过任务,结束任务
    act_hi_actinst   历史存储开始任务,通过任务,结束任务与流程实例挂钩
    act_hi_identitylink  历史任务的参与者 与任务和与流程实例挂钩
    act_ru_task  当前正在执行的任务,如果已结束,从这张表删除
    act_ru_identitylink  正在执行的任务参与者

    ---------------------------------------------------------------------------------------------------------------------------------

     部署模板的时候可以打包成zip而不用原生的bpmn或者png,因为多的时候一个一个传太慢了
    打包的zip在部署的时候,activiti会自动对zip文件进行解压,分别存储为bpmn和png存到act_ge_bytearray源文件,act_re_deployment流程名称,

    act_re_procdef流程实例


    查询流程的定义List<ProcessDefinition> list = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).list();

     当前流程未完成,如果想删除得要级联删除
     repositoryService.deleteDeployment(actProcess.getDeploymentId(), true);
     actProcessService.delete(id);
    查询历史
    historyService.createHistoricTaskInstanceQuery().or().taskCandidateUser(userId).

    BusinessKey业务关联id 在创建流程实例的时候将BusinessKey放到流程实例表里面 存放到act_ru_execution这张表里面

    分配任务负责人分为固定分配,表达式分配${},监听器分配

    如果采用UEL表达式就会将审批人存储到act_ru_variable的name和text中

    流程变量,用于控制流程分支走向  taskService.setVariable

    组任务,设定多个负责人  candidate-users  任务候选人要拾取任务变为自己的任务  归还任务就是把任务负责人设置为null


    排他网关也可以确定流程分支走向,它与连线的区别是,如果不满足条件,连线会直接结束,而排他网关会抛出异常,异常结束,从而知道这个位置

    有问题,如果几个节点都满足条件,走id最小的那个节点

    并行网关不会解析条件,如果有条件会忽略,直接走连线的所有节点,并行网关需要所有节点全部完成了才会继续往下走

    包含网关是排他和并行网关的结合体

  • 相关阅读:
    postgreSQL中的case用法说明
    UOJ#749[UNR #6]稳健型选手【贪心,分治,主席树】
    CF1286EFedya the Potter Strikes Back【KMP,RMQ】
    AT2366[AGC012F]Prefix Median【dp】
    P8352[SDOI/SXOI2022]小N的独立集【dp套dp】
    uoj#750[UNR #6]小火车【二分,折半,鸽笼原理】
    AT2382[AGC015D]A or...or B Problem
    UOJ#748[UNR #6]机器人表演【dp】
    CF1427FBoring Card Game【贪心】
    CF1534F2Falling Sand (Hard Version)
  • 原文地址:https://www.cnblogs.com/yeg0zj/p/14612623.html
Copyright © 2020-2023  润新知