流程图设计
agilebpm基于activiti5.22实现,所以流程图支持bpmn2.0标准,流程图的设计器是通过改造activiti原生设计器实现。这里做流程图设计上的规范指导。
流程图元素介绍
- 开始节点: 流程的发起节点,代表流程流转的开始
- 结束节点: 流程终止,执行至该节点,流程就会执行终止操作
- 用户任务: 普通任务
- 会签任务: 会签操作,多人任务
- 分支网关: 通过逻辑条件选择流转路径,需要有且仅有一条分支条件满足
- 条件并行网关: 满足条件的分支将并行流转
- 并行网关: 并行分发多条任务,不支持条件配置。
- 发起节点: 流程发起后,第一个任务,往往用于驳回发起人使用,所以第一个节点会默认跳过。
- 子流程: 发起一个子流程,子流程结束后会继续主流程流转。子流程共享相同业务对象数据。
分支网关
如图,配置网关条件,必须有且只有一个条件返回 true
。
条件为groovy
脚本,具体可用参数请参考流程groovy脚本使用介绍
并行网关
并行网关产生的后续任务会多实例并行执行。并行网关需要进行回收合并为一条实例。
所以并行网关常常会成对出现。
==并行网关回收多实例是通过前一并行网关分发数来决定!==
如图:并行网关1分发出三条实例,则并行网关2必须且一定会回收三条实例过后才会继续向下流转。
这个条件同样适用于条件并行网关。
其他说明
- 驳回推荐直接使用驳回功能,而不必画线条实现
- agilebpm在更多节点类型支持上做了弱化处理,而更多的通过插件来辅助实现,比如:消息任务、服务任务等取而代之的是,消息插件,节点前后置groovy脚本配置等
- 后面会支持动态事项任务,它是以任务为主要节点,动态生成或者回收事项的功能
- activiti异常边界补偿等监听事件的支持,这里暂不支持。可进行规避此类场景产生。或者自行脚本扩展实现。