Flex開發的JBPM流程展現器
---JBPM流程定義XML----
<?xml version="1.0" encoding="UTF-8"?>
<process name="IncidentProcess">
<start g="276,12,136,52" description="事件申報">
<transition to="evaluatePosition" />
</start>
<decision g="276,84,48,48" name="evaluatePosition" >
<transition g="-76,-22" name="toLeaderFirstApprove" to="leaderFirstApprove" description="職位<正科">
<condition expr="#{ownerDutyId>3}"/>
</transition>
<transition g="-88,-22" name="toTechAccept" to="techAccept" description="職位>=正科"/>
</decision>
<task assignee="#{leader}" g="462,135,86,52" name="leaderFirstApprove" description="科長審批">
<transition g="-88,-22" name="toTechAccept" to="techAccept" description="同意"/>
<transition g="-78,-22" name="toEndReject" to="endReject" description="退回"/>
</task>
<task candidate-groups="tech-dept" g="47,180,95,52" name="techAccept" description="技術科受理">
<transition g="-117,-22" name="toEvaluateExpense" to="evaluateExpense" description="費用預算"/>
</task>
<decision g="279,305,136,52" name="evaluateExpense">
<transition g="-76,-22" name="toLeaderSecondApprove" to="leaderSecondApprove" description="費用>0且職位<正科">
<condition expr="#{expense>0 && ownerDutyId>3}"/>
</transition>
<transition g="-93,-22" name="toTechLeaderApprove" to="techLeaderApprove" description="費用>0且職位>=正科">
<condition expr="#{expense>0 && ownerDutyId<3}"/>
</transition>
<transition g="-81,-22" name="toTechHandle" to="techHandle" description="費用=0"/>
</decision>
<task assignee="#{leader}" g="465,261,86,52" name="leaderSecondApprove" description="科長審批">
<transition g="88,22" name="toTechLeaderApprove" to="techLeaderApprove" description="同意"/>
<transition g="-78,-22" name="toEndReject" to="endReject" description="退回"/>
</task>
<task assignee="#{techLeader}" g="462,365,98,52" name="techLeaderApprove" description="技術科長審批">
<transition g="-93,-22" name="toFinanceLeaderApprove" to="financeLeaderApprove" description="同意"/>
<transition g="-78,-22" name="toEndReject" to="endReject" description="退回"/>
</task>
<task assignee="#{financeLeader}" g="465,485,98,52" name="financeLeaderApprove" description="計財科長審批">
<transition g="-142,-52" name="toEvaluateExpensive" to="evaluateExpensive" description="同意"/>
<transition g="-78,-22" name="toEndReject" to="endReject" description="退回"/>
</task>
<decision g="289,477,136,52" name="evaluateExpensive">
<transition g="-81,-22" name="toPresidentApprove" to="presidentApprove" description="費用>=500">
<condition expr="#{expense>=500}"/>
</transition>
<transition g="-81,-22" name="toTechHandle" to="techHandle" description="費用<500"/>
</decision>
<task assignee="#{president}" g="473,641,91,52" name="presidentApprove" description="檢察長審批">
<transition g="-81,-22" name="toTechHandle" to="techHandle" description="同意"/>
<transition g="-78,-22" name="toEndReject" to="endReject" description="退回"/>
</task>
<task candidate-groups="tech-dept" g="42,480,101,52" name="techHandle" description="技術科處理">
<transition g="-81,-22" name="toApplyerConfirm" to="applyerConfirm" />
</task>
<task assignee="#{ownerUserid}" g="41,603,104,52" name="applyerConfirm" description="申請人確認" >
<transition g="-61,-22" name="toEndOK" to="endOK" description="結束"/>
</task>
<end g="70,718,136,52" name="endOK" description="結束(完成)"/>
<end g="680,320,136,52" name="endReject" description="結束(退回)"/>
</process>
---根據JBPM流程定義XML以及流程數據生成另一個XML----
<?xml version="1.0" encoding="utf-8"?>
<BusinessView>
<Nodes>
<Node id="start" name="事件申報" message="任務名稱:事件申報<br>處理人:鐘佩玲<br>處理時間:2011-05-28 16:33:20.0" type="start" image="/nms4/resource/image/config/start_event_empty.png" x="276" y="12" />
<Node id="evaluatePosition" type="decision" image="/nms4/resource/image/config/gateway_exclusive.png" x="276" y="84" />
<Node id="leaderFirstApprove" name="科長審批" message="任務名稱:科長審批<br>處理人:吳敏華<br>處理時間:2011-05-28 16:35:19.0<br>處理結果:同意<br>處理意見:同意維修。" type="task" image="/nms4/resource/image/config/task_empty.png" x="462" y="135" />
<Node id="techAccept" name="技術科受理" message="任務名稱:技術科受理<br>處理人:服務器管理員<br>處理時間:2011-05-28 16:46:06.0<br>處理結果:受理<br>處理意見:需要更換顯示器。" type="task" image="/nms4/resource/image/config/task_empty.png" x="47" y="180" />
<Node id="evaluateExpense" type="decision" image="/nms4/resource/image/config/gateway_exclusive.png" x="279" y="305" />
<Node id="leaderSecondApprove" name="科長審批" message="任務名稱:科長審批" type="task" image="/nms4/resource/image/config/task_active.gif" x="465" y="261" />
<Node id="techLeaderApprove" name="技術科長審批" message="任務名稱:技術科長審批" type="task" image="/nms4/resource/image/config/task_empty.png" x="462" y="365" />
<Node id="financeLeaderApprove" name="計財科長審批" message="任務名稱:計財科長審批" type="task" image="/nms4/resource/image/config/task_empty.png" x="465" y="485" />
<Node id="evaluateExpensive" type="decision" image="/nms4/resource/image/config/gateway_exclusive.png" x="289" y="477" />
<Node id="presidentApprove" name="檢察長審批" message="任務名稱:檢察長審批" type="task" image="/nms4/resource/image/config/task_empty.png" x="473" y="641" />
<Node id="techHandle" name="技術科處理" message="任務名稱:技術科處理" type="task" image="/nms4/resource/image/config/task_empty.png" x="42" y="480" />
<Node id="applyerConfirm" name="申請人確認" message="任務名稱:申請人確認" type="task" image="/nms4/resource/image/config/task_empty.png" x="41" y="603" />
<Node id="endOK" name="結束(完成)" message="任務名稱:結束(完成)" type="end" image="/nms4/resource/image/config/end_event_terminate.png" x="70" y="718" />
<Node id="endReject" name="結束(退回)" message="任務名稱:結束(退回)" type="end" image="/nms4/resource/image/config/end_event_terminate.png" x="680" y="320" />
</Nodes>
<Lines>
<Line start="start" end="evaluatePosition" color="0xFF0000" />
<Line message="職位<正科" start="evaluatePosition" end="leaderFirstApprove" color="0xFF0000" />
<Line message="職位>=正科" start="evaluatePosition" end="techAccept" color="0x0000FF" />
<Line message="同意" start="leaderFirstApprove" end="techAccept" color="0xFF0000" />
<Line message="退回" start="leaderFirstApprove" end="endReject" color="0x0000FF" />
<Line message="費用預算" start="techAccept" end="evaluateExpense" color="0xFF0000" />
<Line message="費用>0且職位<正科" start="evaluateExpense" end="leaderSecondApprove" color="0xFF0000" />
<Line message="費用>0且職位>=正科" start="evaluateExpense" end="techLeaderApprove" color="0x0000FF" />
<Line message="費用=0" start="evaluateExpense" end="techHandle" color="0x0000FF" />
<Line message="同意" start="leaderSecondApprove" end="techLeaderApprove" color="0x0000FF" />
<Line message="退回" start="leaderSecondApprove" end="endReject" color="0x0000FF" />
<Line message="同意" start="techLeaderApprove" end="financeLeaderApprove" color="0x0000FF" />
<Line message="退回" start="techLeaderApprove" end="endReject" color="0x0000FF" />
<Line message="同意" start="financeLeaderApprove" end="evaluateExpensive" color="0x0000FF" />
<Line message="退回" start="financeLeaderApprove" end="endReject" color="0x0000FF" />
<Line message="費用>=500" start="evaluateExpensive" end="presidentApprove" color="0x0000FF" />
<Line message="費用<500" start="evaluateExpensive" end="techHandle" color="0x0000FF" />
<Line message="同意" start="presidentApprove" end="techHandle" color="0x0000FF" />
<Line message="退回" start="presidentApprove" end="endReject" color="0x0000FF" />
<Line start="techHandle" end="applyerConfirm" color="0x0000FF" />
<Line message="結束" start="applyerConfirm" end="endOK" color="0x0000FF" />
</Lines>
<Logs>
<Log taskId="start" taskName="事件申報" processor="鐘佩玲" result="" opinion="顯示器壞了" logTime="2011-05-28 16:33:20.0" />
<Log taskId="leaderFirstApprove" taskName="科長審批" processor="吳敏華" result="同意" opinion="同意維修。" logTime="2011-05-28 16:35:19.0" />
<Log taskId="techAccept" taskName="技術科受理" processor="服務器管理員" result="受理" opinion="需要更換顯示器。" logTime="2011-05-28 16:46:06.0" />
</Logs>
<Tree name="resourceTree" root="true" icon="/nms4/resource/image/config/root.gif">
<node name="任務" root="true" icon="/nms4/resource/image/config/root.gif">
<node id="start" name="事件申報" icon="/nms4/resource/image/config/node.gif" />
<node id="leaderFirstApprove" name="科長審批" icon="/nms4/resource/image/config/node.gif" />
<node id="techAccept" name="技術科受理" icon="/nms4/resource/image/config/node.gif" />
<node id="leaderSecondApprove" name="科長審批" icon="/nms4/resource/image/config/node.gif" />
<node id="techLeaderApprove" name="技術科長審批" icon="/nms4/resource/image/config/node.gif" />
<node id="financeLeaderApprove" name="計財科長審批" icon="/nms4/resource/image/config/node.gif" />
<node id="presidentApprove" name="檢察長審批" icon="/nms4/resource/image/config/node.gif" />
<node id="techHandle" name="技術科處理" icon="/nms4/resource/image/config/node.gif" />
<node id="applyerConfirm" name="申請人確認" icon="/nms4/resource/image/config/node.gif" />
<node id="endOK" name="結束(完成)" icon="/nms4/resource/image/config/node.gif" />
<node id="endReject" name="結束(退回)" icon="/nms4/resource/image/config/node.gif" />
</node>
</Tree>
</BusinessView>
Flex讀這個XML生成流程圖:
