在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工作流"中,一个流程可能包括多个步骤,如审批、提交、转发等,每个步骤都可以...
节点可以是任务,例如审批、录入数据等,也可以是决策,如根据特定条件分支流程。自定义节点属性允许设置如执行者(哪个角色或用户处理)、优先级、超时规则等。 3. **工作流引擎**:是实现自定义流程实例的核心...
Java系统开发框架是软件开发中常用的...对于复杂的应用场景,例如集成报表工具(如e表)和工作流系统(如Eworkflow),这样的框架能够提供灵活的扩展性,支持图形化的业务流程设计和跟踪,从而更好地满足实际项目需求。
基于springboot大学生就业信息管理系统源码数据库文档.zip
基于java的驾校收支管理可视化平台的开题报告
时间序列 原木 间隔5秒钟 20241120
毕业设计&课设_基于 Vue 的电影在线预订与管理系统:后台 Java(SSM)代码,为毕业设计项目.zip
基于springboot课件通中小学教学课件共享平台源码数据库文档.zip
基于java的网上购物商城的开题报告
Delphi人脸检测与识别Demo1fdef-main.zip
基于java的咖啡在线销售系统的开题报告
基于java的自助医疗服务系统的开题报告.docx
内容概要:本文档全面介绍了Visual Basic(VB)编程语言的基础知识和高级应用。首先概述了VB的基本特性和开发环境,随后详细讲述了VB的数据类型、变量、运算符、控制结构、数组、过程与函数、变量作用域等内容。接着介绍了窗体设计、控件使用、菜单与工具栏的设计,文件操作、数据库访问等关键知识点。最后讨论了VB的学习方法、发展历史及其在桌面应用、Web应用、数据库应用、游戏开发和自动化脚本编写等领域的广泛应用前景。 适合人群:初学者和中级程序员,尤其是希望快速掌握Windows桌面应用开发的人群。 使用场景及目标:①掌握VB的基础语法和开发环境;②学会使用VB创建复杂的用户界面和功能完整的应用程序;③理解数据库操作、文件管理和网络编程等高级主题。 其他说明:Visual Basic是一种简单易学且功能强大的编程语言,尤其适合用于开发Windows桌面应用。文中不仅覆盖了基础知识,还包括了大量的实用案例和技术细节,帮助读者快速提升编程技能。
基于java的疫情期间高校防控系统开题报告.docx
基于springboot+vue社区老年人帮扶系统源码数据库文档.zip
基于java的超市商品管理系统的开题报告.docx
基于SpringBoot房屋买卖平台源码数据库文档.zip
xdu限通院23微处理器系统与应用大作业(两只老虎),适应于汇编语言keil软件,
<项目介绍> - 新闻类网站系统,基于SSM(Spring、Spring MVC、MyBatis)+MySQL开发,高分成品毕业设计,附带往届论文 - 不懂运行,下载完可以私聊问,可远程教学 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------