EMSFLOW流程管理平台特点3-工作流的任务分配与完成策略


特点1业务表单数据与工作流系统数据分离,大大提供了工作流数据处理的灵活性(传统的工作流都把业务表单数据定义在工作流的相关数据中,使用很不方便,查询和维护都很复杂,适用性不高)。

无论是使用EMSFLOW的自定义表单还是使用自己开发的的表单功能,业务数据都是单独保存,但EMSFLOW工作流访问业务数据的时候可以象访问工作流系统数据一样访问,方便灵活,简单易用,大大提高了业务数据的实用性与可管理性。

特点2可以直接在见Studio中定义对本流程和所有子流程的业务数据与工作流系统数据进行访问

我们将结合例子来介绍工作流中的数据问,这里介绍的是在流程定义工具中直接访问业务数据与系统数据,在程序中访问可以直接参考API文档

特点3工作流流程向子流程传递数据的灵活性

EMSFLOW工作流向子流程传递参数采用比较灵活的方式,不进行强制约束,提高工作流的易用性,可以在父流程中任意设置传递到子流程的数据,传递的数据可以是常量,也可以是工作流系统数据和表单数据。

场景1:自动活动中对系统数据的访问

如图:是一个包含子流程和一个邮件发送自动活动的流程,在编辑邮件发送内容和发送对象的时候,都可以直接访问流程和子流程中的

图:对系统数据访问流程

 

图:对系统数据和业务表单数据访问的编辑页面

如图,流程下拉列表可以选择本流程和所有的子流程

数据类型中可以选择需要访问的数据类型:

表单数据为业务表单数据,选择后,数据名称中将列出业务表单中所有字段

 

流程数据为流程相关的数据,这里可以访问的包括实例代码,状态等

 

活动数据可以选择不同的活动中的数据

 

流程启动者启动流程的人员,可以选择人员的ID、名称、EMAIL

活动参与者,活动执行者界面基本一致,区别在于活动参与者是所有被分配了任务的人,不一定执行了任务,执行者是所有活动执行人员

如果有多个活动执行者,返回者将以 ‘;’进行分隔如? ‘admin;user1;user2’

 

子流程数据访问-选择子流程后,界面操作都一样,数据名称中的数据项都换成了子流程的内容

下面我们以这个邮件发送的实际的例子来演示对系统和业务数据的访问

如上图,是一个设置好的EMAIL发送的内容,流程实际运行后,都换成了系统数据

图:发送到的目的地也是访问的工作流系统数据

 

图:流程执行后,实际收到的邮件内容

从上面可以看到,EMSFLOW工作流可以非常灵活的访问系统和业务数据,而且在界面上通过简单的设置就可以完成,不需要编写任何JAVA代码?

场景2:活动流转中通过的系统和业务数据访问来判断一下步的走向

活动的下一步走向分2种,缺省是人工活动,在界面上直接选择下一步,还有一种就是根据条件进行判断,如果连接线中的条件满足,则走本条,否则走缺省的分支。

图:根据条件判断来决定下一步的走向

图:文档评审子流程

如上图,我们可以看到对系统数据访问的界面与自动活动中一致,我们不再介绍,这里的表达式中的条件执行如果为true,则走本分支,如上图,表达式的意思是

如果文档审批子流程审批通过(状态=5 表示完成),并且请假表单中天数>3 则走人工活动3

不满足,走人工活动4.

场景3:执行者设置中的流程启动者和活动执行者

与场景12基本一致,这里就不过多介绍

场景4:流程向子流程传递数据

EMSFLOW工作流向子流程传递参数采用比较灵活的方式,不进行强制约束,提高工作流的易用性,可以在父流程中任意设置传递到子流程的数据,传递的数据可以是常量,也可以是工作流系统数据和表单数据

如下图,Demo_Subflow流程向子流程Demo_Doc传递名称为serialid主流程表单主键DemoContract表单的serialID主键值,传递的参数将写到子流程Demo_Doc的相关数据中,在子流程中可以通过API任意访问该数据。