驰骋工作流引擎如何实现发送阻塞模式?

1.1.1.1: 发送阻塞模式

定义:一个节点在向下运动时候,在特定的条件下需要阻塞向下运动,这些条件满足了要阻塞向下运动。

 

解释:比如一个节点启动了多个子流程,该节点需要所有的子流程都完成才能向下运动。这就符合发送阻塞模式的第二种,如下图。

驰骋工作流引擎如何实现发送阻塞模式?

规则说明:

不阻塞:就是没有条件,它是默认的规则。

当前节点的所有未完成的子流程:当该节点启动一个或者多个,一种或者多种子流程时,需要等到所有的子流程都完成才能向下移动。

实例:在B节点上,我启动了甲流程三个条,乙流程4条。该节点要向下运动,必须等到所有启动甲的流程与所有启动乙的子流程都完成了,才能向下运动。

按约定的格式阻塞未完成的子流程:当该节点向下运动时,要检查指定的历史节点曾经启动的指定的子流程全部完成,作为条件。

实例:在D节点上,要检查曾经在C节点上启动的甲子流程是否全部完成,如果完成就不阻塞。

配置格式:@指定的节点1=子流程编号[email protected]指定的节点n=子流程编号n。

按SQL阻塞:执行该SQL,返回大于0就阻塞,小于0不阻塞,在表达式里配置该sql,sql支持表达式。

配置格式: SELECT COUNT(*) FROM WF_XXXX WHERE [email protected]

按照表达式阻塞:在表达式框里填写一个表达式,如果表达式成立就阻塞,不成立不阻塞。

配置格式:@参数 空格 运算符 常量/变量值 , 比如: @JineE >= 1000 , @FaType = 1

相关属性:如下两个属性来与该模式一起工作,一下两个属性都支持cc的表达式。

阻塞表达式:根据选择的模式不同,设置该模式相关的表达式。

被阻塞时信息提示:如果被阻塞,需要提示什么样的友好信息給用户。

事例演示: \\流程树\\父子流程\\经典流程\\节点发送阻塞测试

驰骋工作流引擎如何实现发送阻塞模式?

在第2个节点上,启动子流程,但是子流程没有结束,直接发送就抛出如下错误。

驰骋工作流引擎如何实现发送阻塞模式?

以上讲解了如何使用阻塞规则,来友好的、可配置的实现用户的需求。

转载于:https://my.oschina.net/ccflow/blog/371461