您现在的位置是:首页 > 文章详情

.NET Core 工作流 WorkFlow 流程控制条件审批(执行动作)

日期:2025-06-25点击:9

控制条件审批(执行动作)

WikeFlow官网:http://www.wikesoft.com

WikeFlow学习版演示地址:http://workflow.wikesoft.com

WikeFlow学习版源代码下载:https://gitee.com/wikesoft/WorkFlow

WikeFlow2.0演示地址:http://workflow2.wikesoft.com

WikeFlow2.0-Vue3演示地址:http://workflow2-vue3.wikesoft.com:8080/

WikeFlow2.0帮助文档:http://wikeflowhelp.wikesoft.com/

明:

1、执行动作=流程设计设置的连接线。

2、该文档讲解某一流程节点的执行动作的显示和隐藏。

3、应用场景:如不同的条件进入不同的审批流程,如

   3.1、如果员工提交的费用报销单超过5000,则要求部门经理提交给副总。

   3.2、如果员工提交的费用报销单没有超过5000,则直接提交给财务人员。

 


 

  条件表达式

当一个节点上有多条线路可以选择时,流程引擎会将未设置条件表达式和满足条件表达式的连接线显示出来。

规则:条件表达式里设置Key值,通过设置Key和Key对应的SQL语句。最后再通过SQL查询的结果替换条件表达式里的Key。

实际应用:

1、如果员工提交的费用报销单超过5000,则要求部门经理提交给副总。

2、如果员工提交的费用报销单没有超过5000,则直接提交给财务人员。

 

1、【提交副总(>5000)】设置

条件表达式

[SumAmmount]>5000

SQL Key

SumAmmount

SQL语句

SELECT SUM(AMOUNT) FROM  COST_DETAIL WHERE COST_ID IN (SELECT ID FROM COST WHERE INSTANCEID= '[instanceId]')


2、【提交财务审核(不超过5000)】设置

条件表达式

[SumAmmount]<=5000

SQL Key

SumAmmount

SQL语句

SELECT SUM(AMOUNT) FROM  COST_DETAIL WHERE COST_ID IN (SELECT ID FROM COST WHERE INSTANCEID= '[instanceId]')



假如一部员工提交的费用报销单总额是6000元,在部门主管处理节点。

【提交副总(>5000)】的条件表达式最后会转换成6000>5000。

【提交财务审核(不超过5000)】的条件表达式最后会转换成6000<=5000。

最后【提交财务审核(不超过5000)】这条线则不会显示,【提交提交副总(>5000)】这条线会显示出来。

条件表达式可以设置多个SQL KEY ,条件表达式支持.net if判断的所有写法,并且要求所有的逻辑判断跟.net的if判断写法一样。

特别提示:判断相等是要写“==”而不是“=”,判断不相等要用“!=”,而不是"<>"。

SQL 可以传参数[instanceId]和[userId],流程引擎会自动替换[instanceId]和[userId]。

[instanceId]和[userId]两个参数不是必须,如果你的SQL语句中带有[instanceId]、[userId]会自动替换实际的值。

特别提示:SqlServer的SQL语句,有同学习惯“[字段名]”的写法,当你的字段名是instanceid时,如果你用[字段名]的写法,SQL语句在替换参数的时候出问题,SQL执行的时候会报错,下面的SQL写法黄色部分是有问题的。

错误示例:

SELECT SUM(AMOUNT) FROM  COST_DETAIL WHERE COST_ID IN (SELECT ID FROM COST WHERE    [INSTANCEID]= '[instanceId]'   )

原文链接:https://www.oschina.net/news/357244
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章