简单设置eworkflow条件的方式
?
在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了。
?
用临时变量更方便,也不会将变量持久化到数据库表中。