随笔分类 - Activiti5
摘要:一、需求分析 我们在实际业务开发过程中,某一个审批任务节点可以分配一个角色(或者叫做组),然后属于这个角色的任何一个用户都可以去完成这个任务节点的审批 二、案例 2.1 方式一:直接流程图配置中写死 如下图,此时有两个用户 如下图,此时有两个组(角色) 用户和组(角色)关联关系表 在流程图中配置 最
阅读全文
摘要:一、内置用户组(角色)设计表概念 用户和组(或者叫做角色),多对多关联,通过关联表实现 act_id_user 用户表; act_id_group 用户组表; act_id_membership 用户与组的关联表,用来实现多对多; act_id_info 用户信息表; 1. act_id_user
阅读全文
摘要:一、概念 我们在开发的时候,有一种情况是这样的, 我们有一个任务,可以让多个用户中的任何一个人办理即可,比如某个审批任务, 张三,李四,王五他们中的任何一人办理下都行,这时候,我们用到多用户任务分配。 我们在开发的时候,有一种情况是这样的, 我们有一个任务,可以让多个用户中的任何一个人办理即可,比如
阅读全文
摘要:一、个人任务分配 1.1 方式一:直接流程图配置中写死; 1.2 方式二:使用流程变量 我们在启动流程的时候设置流程变量即可 1.3 方式三:TaskListener 监听实现 编写TaskListener监听器 编写TaskListener监听器 在任务节点添加TaskListener监听器 在任
阅读全文
摘要:一、概念 所谓排他网关 顾名思义 执行到该网关,会有多条线路同时并行执行,当都执行完才继续执行后面的; 二、 案例 此时当“学生请假”任务节点完成之后,如下图此时有两个任务,必须等到两个任务都完成才会走到“班主任审批”任务节点 如下图 此时的执行对象是三个,当班长和副班长分支完成之后(整个流程还没结
阅读全文
摘要:一、概念 所谓排他网关 顾名思义 执行到该网关,根据条件只能走一条执行线 二、案例 当流程走到“学生请假”任务节点的时候, 结果如下图可知流程走到“校长审批”任务节点 “校长审批”任务节点完成之后,查看历史节点活动表
阅读全文
摘要:一、案例 1.1 需求 我们希望如果是重要情况才需要班主任审批,否则班长审批就行。 1.2 案例 当流程走到“班长审批”任务节点的时候,如果是一般情况,则如下: 这样,流程就不会经过“班长审批”节点,直接结束流程。查看历史活动节点如下图,可知流程并没有经过王五(班主任)。 当流程走到“班长审批”任务
阅读全文
摘要:一、启动流程的时候设置流程变量 1.1 案例 如上述例子流程启动之后,任何任务节点都可以通过excutionId获取到流程变量的值。 二、完成任务的时候设置流程变量 2.1 需求 在完成某个任务节点之后设置流程变量,接下来的任务节点都可以使用这个流程变量。 比如,当完成“学生请假”任务节点之后设置流
阅读全文
摘要:一、案例 用RuntimeService 设置/获取变量的方法跟(八)Activiti之流程变量和局部流程变量不同的是,流程变量绑定的是任务ID,如下图 而RuntimeService绑定的是act_ru_execution表的executionId。任务ID随着任务节点的变化而变化,而execut
阅读全文
摘要:一、流程变量 1.1 概念 如果,当流程走到"学生请假"这个任务节点的时候,此时可以用TaskService设置流程变量,变量值包含请假人、请假时间、请假理由等信息,这些信息存在表act_ru_variable中,当"学生请假"这个任务节点完成之后,“班长审批”这个任务节点可以看到"学生请假"任务节
阅读全文
摘要:一、历史活动查询 本章案例是基于上一章节案例的基础上,流程走完后进行测试的,也就是下图的流程从学生请假到班主任审批都已经完成,本章用来测试查询历史活动和历史任务的 activiti5的历史活动包括所有节点(上图的圆圈)和任务(上图的矩形),而历史任务只包含任务。所以一般开发中查询历史活动比较常用。
阅读全文
摘要:一、实现学生请假流程 1.1 用activiti插件生成bpmn和png文件 1.2 部署流程定义 结果: 更新流程部署表 更新流程定义表 更新资源文件表 更新系统配置表 1.2 启动流程实例 此时流程学生请假这个节点,等待张三完成任务。 结果 更新执行对象表 更新身份联系表, 更新 用户任务表,这
阅读全文
摘要:一、查看最新版本的流程定义 因为每个流程定义都可能会有好几个版本,所以有时候我们有这样的需求,查询出最新版本的流程定义的集合 结果:
阅读全文
摘要:一、获取流程定义图片 结果 实际开发的时候,我们把图片存到项目路径下,然后名字的话,可以根据当前日期年月日时分秒来命名,然后得到路径后,在新的页面,或者是模态窗口里显示图片; 二、流程定义删除 注意级联删除
阅读全文
摘要:一、流程定义部署之ZIP方式 上一章节我们使用classpath的方式加载流程定义文件,这里我们使用ZIP的方式。 1.1 用activiti插件生成bpmn和png图片之后,压缩到一个zip格式的压缩包中。 1.2 代码中加载 执行测试用例并查看结果 执行测试用例并查看结果 act_re_depl
阅读全文
摘要:一、案例 1.1 建立Activiti Diagram图 new -》 activiti -》Activiti Diagram,创建一个HelloWorld文件,后缀自动为bpmn,如下图定义好流程之后,保存该bpmn文件就会生成下图中的png图片 用xml打开该bmpn文件,有 1.2 部署流程定
阅读全文
摘要:一、案例 本章案例使用activiti 5.19.0.2版本 1.1 引入maven依赖 1.2 初始化 1.3 配置activiti.cfg.xml 1.4 执行以及结果 如图activiti 5.19.0.2版本的共生成了25张表,6.0.0好像会生成28张表。 上图中表的用途: ACT_RE_
阅读全文
摘要:一、概念 Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和云架构,提供技术实现。 创始人Tom Baeyens是JBoss jBPM的项目架构师,以及另一位架构师J
阅读全文