Jbpm4或Activiti5的流程任务分发与汇总
应用场景:在企业或事业单位,经常需要把一个任务分派给多条线去处理,每条线可以由一个或多个步骤构成,多条线的任务完成后需要再汇总一起于某个任务上。如下例子为一个公文下发流程,这个流程就涉及到任务的两级分发。
?
图一 原流程定义图
?
图二 执行过程中流程图
以上黄色的代表任务分发,紫黄代表任务汇总。
解决方法一:
我们可以把多个任务线用子流程去实现也可以,这样在分发那里会产生多个子流程,子流程完成后,需要汇总。但若有多级分发与汇总,则需要子流程再嵌套子流程。
解决方法二:
??? 把分发的任务线当作普通的任务来实现,该产生多少个任务可由分发任务决定,这些任务的名称是一样的,但任务实例id不一样,执行人不一样。
在jbpm4或Activiti5上,动态创建子流程及对子流程的处理上,相对要完成的工作多一些,主要是activity或jbpm4上没有提供这块api。而动态创建任务在jbpm4或activiti5上也是没有提供的,只有activiti5上提供了一个taskService.newTask,而该方法产生的新任务则跟流程定义无关,则表示该任务完成后,不能产生后续的任务。在此,我们先提供activiti5的解决办法。Jbpm4的解决方法可以参照该方式实现,以下为解决方案的步骤:
1.??? 第二种解决方案的关键点在于如何动态创建任务,在这里,我们绕过activiti的API直接对activiti5表进行生成处理,让他生成我们需要流程数据。
如下所示:
所以在流程节点的设置上,我们提供了以下的配置实体。?
1 楼 peng_joy 2012-05-08 您好,请教一下,您的流程跟踪图是怎么生成的? 2 楼 man1900 2012-05-09 扩展他们本身的api实现的 3 楼 peng_joy 2012-05-09 man1900 写道扩展他们本身的api实现的
能说具体点吗?哪个API?具体怎么实现的,请不吝赐教,小弟感激了。