起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 525|回复: 4

[分享]流程揭密3-流程的批处理和合并处理

[复制链接]
发表于 2007-12-4 10:46:39 | 显示全部楼层 |阅读模式
如果流程的入口环节发起的流程实例,需要在某个环节上,在一个界面上看到多个流程实例的业务数据,这时候就可以用流程的批处理或者流程合并了。例如:各个部门提交本部门的用款申请,到总经理审批时候,需要把这些数据汇总,统一的看,而不是看单个用款申请。

流程批处理和流程合并的区别在于:
  批处理是在多个流程实例的基础上,增加了一个批任务,这些流程实例还是单独存在的,可以在需要的时候再分拆,例如批任务中某些流程实例回退,某些流程实例继续流转。
  流程合并是多个流程实例中止,重新生成一个新的流程实例,这个流程实例对应了多条业务数据,这些合并的流程实例无法再拆分了,而且回退最多回退到发生合并的这个环节上,不能回溯到以前的环节上。
回复

使用道具 举报

 楼主| 发表于 2008-1-3 10:25:15 | 显示全部楼层

任务批处理

任务批处理规则是定义在特定的活动环节上的。
任务批处理指的是同时处理多条相同的任务,避免相同的任务处理多次从而提高流程效率、优化资源。能够进行批处理的任务都是相同的任务,所谓相同的任务就需要具备几个共同点的任务:属于同一个过程模型、同一个环节、同一种任务类型。

任务分组处理以任务批处理为基础,如果在流转时是对多个参与批处理的任务操作则把相同流向、相同类型的后续环节任务分组,形成一新的任务即组任务,后续环节的执行者收到的也将是组任务而不是多条一般任务, 此过程即为任务分组处理。

分组处理就是在任务表中,增加一条任务数据,标志为组任务,然后把所有这个分组的任务的GroupGUID设置为这个组任务的GUID,有关流程控制数据,请参考 http://bbs.justep.com/forum.php?mod=viewthread&tid=19485
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-3 10:27:39 | 显示全部楼层
任务批处理规则中
  是否批处理是针对进入这个环节时候,是否把相同的任务放在一个界面上处理
  是否任务分组处理是针对从当前环节流出时候,是否产生一个组任务,让下一个环节的接受者只看到这个组任务。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-3 10:40:07 | 显示全部楼层
在流程事件中,有以下事件在流程环境中有多个流程实例的任务时候触发:
  OnGetFlowOutTasks      :发生在得到需要流转的任务时
  OnGetAbortTasks        :发生在得到需要中止的任务时
  OnGetFlowBackTasks     :发生在得到需要回退的任务时
  OnGetFlowNotifyTasks   :发生在得到需要通知的任务时
  OnGetFlowTransmitTasks :发生在得到需要转发的任务时
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-3 10:41:56 | 显示全部楼层

流程合并

流程合并规则是在流出这个环节时候合并的,因此他的前提是在当前环节上有多个流程实例的任务。要么定义了批处理规则,要么流入的直接是一个组任务,这样才能保证在当前环节上有多个流程实例,才能把这些流程实例合并成一个流程实例。
一旦流程合并以后,在后面的环节上就只有一个流程实例了,跟普通流程实例就没有区别了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-5 05:56 , Processed in 0.045618 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表