简单设置eworkflow条件的方式
在eworkflow自定义工作流产品中,设置条件节点,是在节点的后续连线上设置的。每一个处理节点(除结束节点外)都至少有一条连线连接到下一个节点,当有多条连线连接到其他节点的时候,就需要在多出的连线上设置条件了。多出的每条连线上,都可以设置一个条件,条件返回true或false,true代表条件成立,当流程流转到此时,条件返回true的,则会走此条连线到达下一个节点。条件设置可以是一个表达式,返回true或false, 也可以是一段自定义的函数,结尾返回true或false。
当流程流转时,所有条件都不成立,则会走没有设置条件的那条连线,即无条件结果连线,到达下一个节点。
当一个节点就一条连线连接到下一个节点,则为无条件结果,每次执行完节点的处理后,无条件流转到结果连线的下一个节点。
当一个节点有多条连线连接到多个后续节点,则就需要在多出的连线上设置条件,让其中一条连线不设置条件,代表无条件结果连线。当流程流转的时候,取条件连线上的条件判断,返回true,则流转到此连线的下一个节点。当所有条件都不满足了,则流转到没有设置条件的无条件结果连线下一个节点。
有条件结果连线上面的条件设置,可以是一个表达式,返回true或者false,也可以是一个自定义的函数,经过一序列的逻辑判断运算结果后,得出true或者false.
当条件为一个表达式时,经常需要取节点上操作的业务表单中的数据来做判断。
如费用报销单,需要取报销人填写的金额来做判断,报销金额大于3000元的,需要总经理审核,小于等于3000元的就部门经理审核。
取业务表单中,用户填写的关键信息,需要在提交时,将这关键信息传递到流程中,流程在执行条件判断的时候,就能取到这些值来做判断。
在eworkflow中,我们常用的方式是,在eform表单中,将需要送入流程中做条件判断的字段,选择为 流程用。

在eworkflow流程的节点中,设置节点办理的eform表单,并设置前置事件,"将数据集中的字段信息保存到流程变量中"。

这样在设置条件的时候,通过向导引入,就能取到这些用于流程中的关键信息了。
导入条件: eworkflow for java版本的,条件表达式用java的语法;
propertySet.getString("dept_audit").equals("0")
eworkflow for dotnet版本,条件表达式用c#的语法:
propertySet.getString("dept_audit").Equals("0")或者propertySet.getString("dept_audit")=="0"

这样做的结果是,将这些业务处理表单中的关键信息,通过前置函数 "将数据集中的字段信息保存到流程变量中" 作为持久化变量保存到工作流系统中了。持久化变量只要存入了系统,就一直能取到结果,即使流程运行结束了,也会保存在系统中。
如果这些变量只需要一次使用,后续的节点不需要再获取使用的话,可以直接做临时变量,即不设置节点的前置函数 “将数据集中的字段信息保存到流程变量中 ”持久化这些变量,只将业务表单中的关键信息送到流程流转中,用于调节判断,判断完成后,流转结束了,变量的值也消失。即临时变量,仅存在于流程的这一次流转当中。
用临时变量做eworkflow条件节点的表达式判断 eworkflow for java版本,条件表达式用java语法: 字符型的 transientVars{"字段名"}.equals("值") 数字型的 Double.parseDouble(transientVars{"字段名"})>值
eworkflow for dotnet版本,条件表达式用c#语法: 字符型的 transientVars["字段名"].ToString()=="值" 或transientVars["字段名"].ToString().Equals("值") 数字型的 Double.Parse(transientVars["字段名"].ToString())>值
利用临时变量的方式,简单方便,不需要设置前置函数"将数据集中的字段信息保存到流程变量中" 注:前置函数“将数据集中的字段信息保存到流程变量中” 这个函数的作用 就是将表单中送入流程中做使用的变量持久化到数据库表中。
如果节点上不挂接eform自定义的表单,而是直接的jsp或aspx的话,则在准备送入流程中使用的关键变量时,就不用准备inputs中的 field_type的map了。
用临时变量更方便,也不会将变量持久化到数据库表中。
简单设置eworkflow条件的方式的更多相关文章
- 【配置】检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为【经典】模式)。
× 检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为[经典]模式). 我们将ASP.NET程序从IIS6移植到IIS7,可能运行提示以下错误: HTTP 错误 5 ...
- Android课程---Android Studio简单设置
Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面.Settings-->Appearance-->Theme, ...
- 自定义UICollectionViewController之后 如何设置UICollectionView的布局方式
我们很多时候使用UICollectionView 可能都是直接创建 UICollectionView 通过初始化的时候 传入一个布局对象的方式来使用UICollectionView 比如我们之前 ...
- Kali-linux安装之后的简单设置
1.更新软件源:修改sources.list文件:leafpad /etc/apt/sources.list然后选择添加以下适合自己较快的源(可自由选择,不一定要全部): #官方源deb http:/ ...
- 设置VMWARE通过桥接方式使用主机无线网卡上网
原文:http://www.cnblogs.com/liongis/p/3265458.html 环境:WIN7旗舰版,台式机,U盘无线上网卡. 虚拟软件:VMware9.0,虚拟系统:CentOS6 ...
- 设置VMWARE通过桥接方式使用主机无线网卡上网(zz)
环境:WIN7旗舰版,台式机,U盘无线上网卡. 虚拟软件:VMware9.0,虚拟系统:CentOS6.4 需要实现虚拟机以独立机形式工作和上网. 先介绍一下VMware网络设置的三种方式 1 Hos ...
- 【转】Android Studio简单设置
原文网址:http://ask.android-studio.org/?/article/14 Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以 ...
- 自定义UICollectionViewController之后 如何设置UICollectionView的布局方式--备用
我们很多时候使用UICollectionView 可能都是直接创建 UICollectionView 通过初始化的时候 传入一个布局对象的方式来使用UICollectionView 比如我们之前 ...
- Android Studio简单设置(转)
Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面.Settings --> Appearance --> Th ...
随机推荐
- js之路
开始记录js学习: udacity,edx上不去: 搞了一个html+css+JavaScript后开始看es6; 犀牛书,js启示录,你不知道的js上中: 第一个库jQuery及源码分析: --
- 新冲刺Sprint3(第五天)
一.Sprint介绍 实现商品.服务信息存入数据库,实现商品图片传输(服务器传输),点击商品.服务进入商品.商品详情.商品.服务按此标准建立数据库. 二.Sprint周期 看板: 燃尽图:
- 连接linux数据库Oracle时报错ORA-12541: TNS: 无监听程序
远程服务器的数据库服务未开启,以及监听未打开 连接oracle 启动服务,startup 切换到oracle /bin 目录,cd $ORACLE_HOME/bin 启动监听, lsnrctl sta ...
- python练手项目
文本操作 逆转字符串--输入一个字符串,将其逆转并输出. 拉丁猪文字游戏--这是一个英语语言游戏.基本规则是将一个英语单词的第一个辅音音素的字母移动到词尾并且加上后缀-ay(譬如"banan ...
- web安全之sql注入布尔注入
条件: 当一个页面,存在注入,没显示位,没有数据库出错信息,只能通过页面返回正常不正常进行判断进行sql注入. 了解的函数 exists() 用于检查 子查询是 ...
- iOS测试常见崩溃
什么是崩溃日志,从哪里能得它? iOS设备上的应用闪退时,操作系统会生成一个崩溃报告,也叫崩溃日志,保存在设备上.崩溃日志上有很多有用的信息,包括应用是什么情况下闪退的.通常,上面有每个正在执行线程的 ...
- js-PC版监听键盘大小写事件
//获取键盘按键事件,可以使用keyup. //问题:获取到键盘的按下Caps lock键时,不能知道当前状态是大写.还是小写状态. //解决: 设置一个全局判断大小写状态的 标志:isCapital ...
- 实现DevExpress GridControl 只有鼠标双击后才进行修改数据
1. 实现DevExpress GridControl 只有鼠标双击后才进行修改数据:修改GridView.OptionsBehavior.EditorShowMode属性为Click 2. 实现De ...
- CC2540中的电压检测
/** * Battery level conversion from ADC to a percentage: * * The maximum ADC value for the battery v ...
- 修复FreeBSD上的ufs文件系统
昨天在两台FreeBSD上配置好Heartbeat服务(两台机器是用网线连通的,做为Heartbeat的两个节点),启动服务时Heartbeat检测到crmd守护进程没起来,于是它就尝试重启两台机器以 ...