简单设置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 ...
随机推荐
- hhvm之轻进程
本文为原创,转载请注明:http://www.cnblogs.com/gistao/ 背景 我们在aws上部署了hhvm,高峰段发现cpu idle降的比较低,只有10-20%,而使用php-fpm的 ...
- 写一些封装part1 (事件绑定移除,圆形矩形碰撞检测)
var EventHandle = { addEvent:function(ele,type,handle){ if (ele.addEventListener) { ele.addEventList ...
- 【转载】App.config/Web.config 中特殊字符的处理
写一个网站,遇到一个问题,发布以后,提示错误,但是即使打开错误提示(在web.config中打开),还是只提示错误,没提示什么地方错误,这让我知道了:是webconfig本身的错误,经过排除,是链接字 ...
- sae flask 微信公众平台开发
index.wsgi启动服务文件 import sae from evilxr import app application = sae.create_wsgi_app(app) evilxr.py ...
- Android 中 非对称(RSA)加密和对称(AES)加密
在非对称加密中使用的主要算法有:RSA.Elgamal.背包算法.Rabin.D-H.ECC(椭圆曲线加密算法)等. 优点: 非对称加密与对称加密相比,其安全性更好:对称加密的通信双方使用相同的秘钥, ...
- AndroidStudio Rename Package
AndroidStudio中重命名包名的方法和可能遇到的问题 在开发中,可能会遇到需要重命名和合并某个包的情况.如果进行如下操作可能会导致以下结果: 在一个空包下创建一个包,会出现两个包名合并的情况. ...
- fopen中r+和w+的区别
r+: Open for reading and writing. The stream is positioned at the beginning of the file. w+:Open ...
- python之购物车的编写(熬夜撸代码中。。。)
购物车的编写对于我这种不是很精通函数的小白来说,简直太难了.各种坑,各种无奈啊!不过总算也是写出来了! 不多说,直接上代码! #!/usr/bin/env python#用户名 sanjiang#密码 ...
- js中十进制数转换为16进制
使用 Number类的 toString()方法: var num = 255; console.log(num.toString(16));//输出FF
- grid安装
在cs6.5,cs7.2上安装grid11.2.0.1 和database11.2.0.1还是有问题 1.i386与i686的问题 2.cs7.2中的semmni内核参数问题 已经设置了kernel. ...