在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条件的方式的更多相关文章

  1. 【配置】检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为【经典】模式)。

      ×   检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为[经典]模式). 我们将ASP.NET程序从IIS6移植到IIS7,可能运行提示以下错误: HTTP 错误 5 ...

  2. Android课程---Android Studio简单设置

    Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面.Settings-->Appearance-->Theme, ...

  3. 自定义UICollectionViewController之后 如何设置UICollectionView的布局方式

    我们很多时候使用UICollectionView 可能都是直接创建 UICollectionView   通过初始化的时候  传入一个布局对象的方式来使用UICollectionView 比如我们之前 ...

  4. Kali-linux安装之后的简单设置

    1.更新软件源:修改sources.list文件:leafpad /etc/apt/sources.list然后选择添加以下适合自己较快的源(可自由选择,不一定要全部): #官方源deb http:/ ...

  5. 设置VMWARE通过桥接方式使用主机无线网卡上网

    原文:http://www.cnblogs.com/liongis/p/3265458.html 环境:WIN7旗舰版,台式机,U盘无线上网卡. 虚拟软件:VMware9.0,虚拟系统:CentOS6 ...

  6. 设置VMWARE通过桥接方式使用主机无线网卡上网(zz)

    环境:WIN7旗舰版,台式机,U盘无线上网卡. 虚拟软件:VMware9.0,虚拟系统:CentOS6.4 需要实现虚拟机以独立机形式工作和上网. 先介绍一下VMware网络设置的三种方式 1 Hos ...

  7. 【转】Android Studio简单设置

    原文网址:http://ask.android-studio.org/?/article/14 Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以 ...

  8. 自定义UICollectionViewController之后 如何设置UICollectionView的布局方式--备用

    我们很多时候使用UICollectionView 可能都是直接创建 UICollectionView   通过初始化的时候  传入一个布局对象的方式来使用UICollectionView 比如我们之前 ...

  9. Android Studio简单设置(转)

    Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面.Settings --> Appearance --> Th ...

随机推荐

  1. 第五章——搭建S3C6410开发板的测试环境

    搭建S3C6410开发板的测试环境 通过本章的学习学会了如何在开发板上安装Android.开发板是学习和开发嵌入式技术的主要硬件设备,想要顺利的通过linux驱动访问硬件,是不能在PC板上模拟的,需要 ...

  2. 点击每个li节点,都弹出其文本值及修改

    点击每个li节点,都弹出其文本值 1,获取所有的li节点 var liNodes=document.GetElementsByTagName("li"); 2,使用for循环进行遍 ...

  3. Python检测IP合法 是否为公网IP

    判断IP 格式是否正确 def check_value(self, ipaddr): '''检查IP是否合法 :param ipaddr: string :return True ''' addr=i ...

  4. Django中Form的Textarea字段

    开始以为是这个样子: class BlogForm(forms.Form): title    = forms.CharField(required = True) content  = forms. ...

  5. Python之路,day10-Python基础

    一.进程进程:一个程序要运行时所需的所有资源的集合 进程是资源的集合,相当于一个车间 一个进程至少需要一个线程,这个线程为主线程 一个进程里可以有多个线程 cpu cores越多,代表着你可以真正并发 ...

  6. SSL/TLS算法流程解析

    SSL/TLS 早已不是陌生的词汇,然而其原理及细则却不是太容易记住.本文将试图通过一些简单图示呈现其流程原理,希望读者有所收获. 一.相关版本 Version Source Description ...

  7. pm2使用

    简单教程 首先需要安装pm2: npm install -g pm2 运行: pm2 start app.js 初次安装并运行,会有一个高大上的界面: 高大上的界面 直接我们介绍过forever,那么 ...

  8. backbone学习总结(一)

    入职第三天,新公司项目用到backbone+underscore+require等框架,前两天把项目的开发环境都配置好啦,项目也能跑起来,现在准备好好学习公司自己的框架以及用到的框架,有点想吐槽,开发 ...

  9. mfc打开程序

    void CMy3MFCDlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 HINSTANCE hRslt = ShellExecute(NULL, ...

  10. 应用C#和SQLCLR编写SQL Server用户定义函数

    摘要: 文档阐述使用C#和SQLCLR为SQL Server编写用户定义函数,并演示用户定义函数在T-SQL中的应用.文档中实现的 Base64 编码解码函数和正则表达式函数属于标量值函数,字符串分割 ...