首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 其他服务器 >

关于jbpm审批流程的有关问题

2012-02-14 
关于jbpm审批流程的问题请问像我下面的问题用jbpm如何表述啊?谢谢4个领导A, B, C,D审批一个流程, A,B,C可

关于jbpm审批流程的问题
请问像我下面的问题用jbpm如何表述啊?谢谢 

4个领导A, B, C,D审批一个流程, A,B,C可同时开始,A,B随便一个审批则可,接着和C必须同时审批才能流转到D

如图所示

[解决办法]

探讨
可以把A、B作为一个actorPool放在一个节点里,随便哪个完成任务就到下一节点,把C作为下一节点的actor

[解决办法]
如如下jbpm4流程定义:就是这个的描述

<?xml version="1.0" encoding="UTF-8"?>

<process name="process" xmlns="http://jbpm.org/4.0/jpdl">

<start g="16,102,48,48">
<transition to="fork"/>
</start>
 
<fork g="96,102,48,48" name="fork">
<transition g="120,41:" to="A"/>
<transition to="B"/>
<transition g="120,213:" to="C"/>
</fork>
 
<state g="176,16,149,52" name="A">
<transition g="478,45:" to="final join"/>
</state>
 
<state g="176,100,149,52" name="B">
<transition g="377,126:" to="shipping join"/>
</state>
 
<state g="176,184,149,58" name="C">
<transition g="378,213:" to="shipping join"/>
</state>
 
<join g="353,145,48,48" name="shipping join">
<transition name="to final join" to="final join" g="480,169:-83,-17"/>
</join>
 
<join g="457,90,48,48" name="final join">
<transition name="to state1" to="D" g="-59,-17"/>
</join>
 
<end g="670,89,48,48" name="end"/>
<state name="D" g="547,86,92,52">
<transition name="to end" to="end" g="-41,-17"/>
</state>

</process>
[解决办法]
在a,b中加个参数,审批前查询参数来确定是否文档已经流转到D,如果流转到D则不用审批了
很简单的,在a,b下面都有一个判定节点,如果流程已经流转到D,则a 或者 b 都可以结束了
如果不判断,a 或者 b 可能死锁

热点排行