[新手提问] 在osworkflow中能否实现一步多人同时评审?
ccchenzhong
2008-12-12
在osworkflow中能否实现一步多人(这里"多人"指同一用户组,但其数量不定性的)同时评审,即有由这些人都评完后,才根据评审的结果决定是否往下流转.采用split及join感觉都没法实现,没法实现动态的split,即根据人数自动生成多个split,然后join成一步!!哪位知道的能否给个思想指导,或者例子,谢谢!
|
|
xiaojunking
2008-12-14
有办法的,解决起来确实有点麻烦。其实就是通过当前的流程根据需要(多人)动态的创建后续流程(STEP_ID 相同)
我们当除修改了DTD,增加了 subflows ,这同时要修改源代码。你要DEBUG源代码,增加处理这个subflows 功能。 |
|
xiaojunking
2008-12-14
合并的时候使用join 即可。
|
|
ccchenzhong
2008-12-16
谢谢,xiaojunking,
你说的增加 subflows 是重构osworkflow吗,还是自己生成流程的时候作判断并修改,你有相关的例子吗,或者是重构类似的例子? |
|
fantasy
2009-01-05
在step里增加一个condition,用来判断这些人是否都审批了,如果审批了才流转到下一步。如果未全部审批,在当前步骤循环。
|
|
kjj
2009-01-19
楼上这位的思路很值得思考
|
|
wbchen1983
2009-02-25
ccchenzhong 写道 在osworkflow中能否实现一步多人(这里"多人"指同一用户组,但其数量不定性的)同时评审,即有由这些人都评完后,才根据评审的结果决定是否往下流转.采用split及join感觉都没法实现,没法实现动态的split,即根据人数自动生成多个split,然后join成一步!!哪位知道的能否给个思想指导,或者例子,谢谢!
我的想法: 在返回结果的时候,加一个条件判断是否用户组里面的人全部审核,你再定义下一步走到哪里。 ex: <result step="流转到你要的步骤"> <conditions type="AND"> <condition type=""> <arg name="">你的条件</arg> </condition> </conditions> <result> 这样你就可以写两个上面的返回结果,一个是在自己步骤上面循环(未全部审核),一个是全部审核后的步骤。 当然,这样做还是有点不够,就是那些已经执行的人也有可能还是在这个步骤上面,那就要修改这个action的条件了,查找审批表,找到当前流程这个步骤没有审批的用户。 呵呵,这样应该满足需求了! |
|
yuzhiwen
2009-07-23
wbchen1983 写道 ccchenzhong 写道 在osworkflow中能否实现一步多人(这里"多人"指同一用户组,但其数量不定性的)同时评审,即有由这些人都评完后,才根据评审的结果决定是否往下流转.采用split及join感觉都没法实现,没法实现动态的split,即根据人数自动生成多个split,然后join成一步!!哪位知道的能否给个思想指导,或者例子,谢谢!
我的想法: 在返回结果的时候,加一个条件判断是否用户组里面的人全部审核,你再定义下一步走到哪里。 ex: <result step="流转到你要的步骤"> <conditions type="AND"> <condition type=""> <arg name="">你的条件</arg> </condition> </conditions> <result> 这样你就可以写两个上面的返回结果,一个是在自己步骤上面循环(未全部审核),一个是全部审核后的步骤。 当然,这样做还是有点不够,就是那些已经执行的人也有可能还是在这个步骤上面,那就要修改这个action的条件了,查找审批表,找到当前流程这个步骤没有审批的用户。 呵呵,这样应该满足需求了! 请教一下: 1,这个流程在os_currentstep应该只有一套记录?不是给每个成员都创建一条当前步骤记录(os_currentstep表中)吧? 2,不同组内成员的状态信息一般从哪里取? |
|
fantasy
2009-09-11
yuzhiwen 写道 wbchen1983 写道 ccchenzhong 写道 在osworkflow中能否实现一步多人(这里"多人"指同一用户组,但其数量不定性的)同时评审,即有由这些人都评完后,才根据评审的结果决定是否往下流转.采用split及join感觉都没法实现,没法实现动态的split,即根据人数自动生成多个split,然后join成一步!!哪位知道的能否给个思想指导,或者例子,谢谢!
我的想法: 在返回结果的时候,加一个条件判断是否用户组里面的人全部审核,你再定义下一步走到哪里。 ex: <result step="流转到你要的步骤"> <conditions type="AND"> <condition type=""> <arg name="">你的条件</arg> </condition> </conditions> <result> 这样你就可以写两个上面的返回结果,一个是在自己步骤上面循环(未全部审核),一个是全部审核后的步骤。 当然,这样做还是有点不够,就是那些已经执行的人也有可能还是在这个步骤上面,那就要修改这个action的条件了,查找审批表,找到当前流程这个步骤没有审批的用户。 呵呵,这样应该满足需求了! 请教一下: 1,这个流程在os_currentstep应该只有一套记录?不是给每个成员都创建一条当前步骤记录(os_currentstep表中)吧? 2,不同组内成员的状态信息一般从哪里取? 1:对的,执行过的信息都放在os_historystep表里。 2:成员的状态是什么意思? |
|
andyyang007
2009-11-24
就是使用会签..
|