jbpm实现嵌套子流程
改进计划实施跟踪流程
jbpm 画的流程图 如下:
one:
two:
three:
采用三级流程嵌套的方式: one 下面的牵头部门节点 嵌套了two 子流程 ,two 下的牵头部门汇总 嵌套了three 子流程
流程对应的定义文件:
<?xml version="1.0" encoding="UTF-8"?> <process name="improveplanone" xmlns="http://jbpm.org/4.3/jpdl"> <start g="329,32,48,48" name="start1"> <transition g="5,-8" name="to 角色A" to="角色A"/> </start> <task g="307,93,92,52" name="角色A"> <description>2</description> <assignment-handler class="..app.jbpmcontrol.function.MyAssignmentHandler"/> <transition g="7,-9" name="to 角色B" to="角色B"/> </task> <task g="312,166,92,49" name="角色B"> <description>3</description> <assignment-handler class="..app.jbpmcontrol.function.MyAssignmentHandler"/> <transition g="-42,-26" name="to 牵头部门汇总" to="牵头部门汇总"/> </task> <custom class="..app.jbpmcontrol.function.JbpmIPlanOneFunction" g="121,165,153,52" name="牵头部门汇总"> <description>4</description> <on event="start"> <event-listener class="..app.jbpmcontrol.function.JbpmCustomEventListener"> </event-listener> </on> <transition g="197,248:4,-25" name="to fork1" to="fork1"/> </custom> <fork g="335,221,48,48" name="fork1"> <transition g="9,-12" name="to 风险管理员" to="风险管理员"/> <transition g="-88,-6" name="to 风险负责人" to="风险负责人"/> </fork> <task g="418,267,103,52" name="风险管理员"> <transition g="16,-5" name="to join2" to="join1"/> <description>5</description> <assignment-handler class="..app.jbpmcontrol.function.MyAssignmentRiskManagerBHandler"/> </task> <task g="222,271,97,52" name="风险负责人"> <transition g="-58,-8" name="to join1" to="join1"/> <description>6</description> <assignment-handler class="..app.jbpmcontrol.function.MyAssignmentRiskAdminHandler"/> </task> <end g="157,324,48,48" name="end1"/> <join g="334,323,48,48" multiplicity="2" name="join1"> <transition g="4,-6" name="to end1" to="end1"/> </join> </process>
<?xml version="1.0" encoding="UTF-8"?> <process name="improveplantwo" xmlns="http://jbpm.org/4.3/jpdl"> <start g="264,63,48,48" name="start1"> <transition g="8,-9" name="to 牵头部门汇总" to="牵头部门汇总"/> </start> <custom class="..app.jbpmcontrol.function.JbpmIPlanTwoFunction" g="241,136,92,52" name="牵头部门汇总"> <transition g="9,-9" name="to 牵头部门负责人" to="牵头部门负责人"/> </custom> <end g="266,302,48,48" name="end1"/> <task g="243,212,92,52" name="牵头部门负责人"> <description>11</description> <assignment-handler class="..app.jbpmcontrol.function.MyAssignmentHandler"/> <transition g="15,-10" name="to end1" to="end1"/> </task> </process>
<?xml version="1.0" encoding="UTF-8"?> <process name="improveplanthree" xmlns="http://jbpm.org/4.3/jpdl"> <start g="131,77,48,48" name="start1"> <transition g="6,-6" name="to 执行风险管理员" to="执行风险管理员"/> </start> <task g="112,147,98,52" name="执行风险管理员"> <description>21</description> <assignment-handler class="..app.jbpmcontrol.function.MyAssignmentHandler"/> <transition g="-13,-18" name="提交执行风险人负责审批" to="执行风险人负责审批"/> </task> <task g="209,213,124,52" name="执行风险人负责审批"> <description>22</description> <assignment-handler class="..app.jbpmcontrol.function.MyAssignmentHandler"/> <transition g="14,-8" name="提交给牵头风险管理员审批" to="牵头风险管理员审批"/> <transition name="退回执行风险管理员" to="执行风险管理员" g="271,170:14,-1"/> </task> <task g="286,279,139,52" name="牵头风险管理员审批"> <description>23</description> <assignment-handler class="..app.jbpmcontrol.function.MyAssignmentHandler"/> <transition g="162,306:-34,-26" name="to 执行风险管理员" to="执行风险管理员"/> <transition g="11,-2" name="to end1" to="end1"/> </task> <end g="332,347,48,48" name="end1"/> </process>