.net core 工作流WorkFlow流程(控制条件审批)

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

WikeFlow官网:www.wikesoft.com

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

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

WikeFlow2.0演示地址: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]'   )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值