条件设置
条件说明
不管是Activiti/Camunda/Flowable/Zeebe之类的框架,大部分采用的基于JUEL实现的条件输入和计算。JUEL使用起来更加的偏向开发人员,类似${a>1}之类的语法,对于实施人员而言,不太友好。为此盘古BPM特意推出了面向业务人员的条件引擎。可以图形化方式进行配置,并最终生成一系列的表达式。
条件设置入口说明
条件一般在连线上进行配置,但是当一个活动的出线比较多时,一个个的设置,比较麻烦和繁琐,为此盘古BPM在元素上设置所有出线的条件表达式,这样即达到了统一化管理,也顺便解决了连线顺序计算的问题。达到图形化方式调整连线计算的优先级问题。
特别注意:在元素上设置所有出线的表达式,而不是点击连线设置条件。
条件设置入口
选中元素,打开“更多设置”->"分支条件设置"面板,如下图所示:
选中元素,当选中元素之后,分支条件设置面板会罗列当前元素的所有出线,格式为“目标节点:+连线的目标节点+(连线目标节点的id)”。当前的元素有多少个出线,就有多少条数据。
连线条件设置
点击“设置”按钮,如下图所示:
-
可以直接在上图中的文本框中手写条件表达式,需要符合JUEL语法
-
也可以通过点击“条件脚本”进行图形化方式进行条件的配置。
使用图形化方式配置表达式,则需要首先为当前的模型绑定在线表单,如果当前的模型没有绑定在线表单,则无法正常使用该功能,如下图所示:
关于在线表单的配置,可以参考表单设置相关使用文档。
连线条件手工设置
点击上图中的文本框区域,直接输入条件表达式即可,条件表达式的语法遵循JUEL即可。比如现在要写一个条件请假天数大于三天,形如:${day>3}。
连线条件图形化方式设置
点击上图中的“条件脚本”按钮,弹出框如下所示:
点击上图中的根节点,点击“添加条件”即可生成一系列的条件输入数据,开发或者实施人员直接按照需求选择生成即可。
-
或类似JUEL中的|| or关键字。
-
并且类似JUEL中的&& and关键字。
-
联合条件类似(),该功能是将所有的条件聚合到一起进行计算。
条件生成器需要配合在线表单一起使用,条件生成器会罗列表单的所有字段。
条件的清除
当条件设置完毕之后,再次打开“分支条件设置”面板,即可看到那些连线已经设置了条件。
上图的按钮按照从左到后的顺序展开说明。
-
设置:可以点击该按钮进行条件的设置。
-
清除:点击该按钮之后,当前连线的条件会被清空。
-
默认连线:假如当前的元素是排他网关,则可以通过该按钮设置默认的出线,也就是说当所有的出线均不满足要求的时候,走默认的连线。
-
上移:可以通过上移增加连线计算的优先级。比如一个元素有三个出线,当实例经过该元素的时候,就需要计算当前的元素需要途径的连线,这个时候就按照连线的顺序进行计算,因此连线的位置越靠前,则计算优先级越高。
-
下移:与上移功能刚好相反。