流程图设计

agilebpm基于activiti5.22实现,所以流程图支持bpmn2.0标准,流程图的设计器是通过改造activiti原生设计器实现。这里做流程图设计上的规范指导。

流程图元素介绍

  • 开始节点: 流程的发起节点,代表流程流转的开始
  • 结束节点: 流程终止,执行至该节点,流程就会执行终止操作
  • 用户任务: 普通任务
  • 会签任务: 会签操作,多人任务
  • 分支网关: 通过逻辑条件选择流转路径,需要有且仅有一条分支条件满足
  • 条件并行网关: 满足条件的分支将并行流转
  • 并行网关: 并行分发多条任务,不支持条件配置。
  • 发起节点: 流程发起后,第一个任务,往往用于驳回发起人使用,所以第一个节点会默认跳过。
  • 子流程: 发起一个子流程,子流程结束后会继续主流程流转。子流程共享相同业务对象数据。

分支网关

如图,配置网关条件,必须有且只有一个条件返回 true
条件为groovy脚本,具体可用参数请参考流程groovy脚本使用介绍

并行网关

并行网关产生的后续任务会多实例并行执行。并行网关需要进行回收合并为一条实例。

所以并行网关常常会成对出现。

==并行网关回收多实例是通过前一并行网关分发数来决定!==

如图:并行网关1分发出三条实例,则并行网关2必须且一定会回收三条实例过后才会继续向下流转。
这个条件同样适用于条件并行网关。

其他说明

  • 驳回推荐直接使用驳回功能,而不必画线条实现
  • agilebpm在更多节点类型支持上做了弱化处理,而更多的通过插件来辅助实现,比如:消息任务、服务任务等取而代之的是,消息插件,节点前后置groovy脚本配置等
  • 后面会支持动态事项任务,它是以任务为主要节点,动态生成或者回收事项的功能
  • activiti异常边界补偿等监听事件的支持,这里暂不支持。可进行规避此类场景产生。或者自行脚本扩展实现。