紺轟緥錛?br />鍦ㄦ煇涓鍏徃涓紝閮ㄩ棬鍛樺伐瑕佷紤鍋囩殑璇濋渶瑕侀儴闂ㄤ富綆$殑鎵瑰噯銆傚鏋滀紤鍋囧ぉ鏁板ぇ浜?0澶╃殑璇濓紝鍦ㄩ儴闂ㄤ富綆$殑鍚屾剰鍚庯紝榪樺繀欏諱笂綰т富綆℃壒鍑嗐傚鏋滄槸閮ㄩ棬涓葷瑕佷紤鍋囧彧瑕佷笂綰т富綆℃壒鍑嗗嵆鍙傚湪浼戝亣琚壒鍑嗕箣鍓嶏紝鐢寵浜哄彲浠ユ挙閿浼戝亣鐢寵銆?br />姣忎釜鍛樺伐榪樻湁澶氬皯澶╀紤鍋囧繀欏葷鐞嗚搗鏉ワ紝鍦ㄥ憳宸ユ彁浜や紤鍋囩敵璇鋒椂瑕佹鏌ョ敵璇峰ぉ鏁版槸鍚﹁秴榪囧彲鐢ㄥぉ鏁般傜敵璇鋒壒鍑嗗悗錛岃鍦ㄥ彲鐢ㄥぉ鏁伴噷鍑忓幓鐢寵澶╂暟銆傛瘡嬈′紤鍋囩敵璇風粨鏉熶箣鍚庯紝涓嶇閫氳繃鏈氳繃鎴栨槸鍚﹀彇娑堬紝閮藉繀欏昏褰曚笅鏉ャ備富綆″湪鎵瑰鐢寵涔嬪悗錛岀郴緇熻灝嗘壒澶嶇粨鏋淓mail緇欑敵璇蜂漢銆傚浜庡ぇ浜?0澶╃殑鐢寵錛屽鏋滈儴闂ㄤ富綆″凡鎵瑰噯鍚屾剰鑰屼笂綰т富綆¤繕鏈壒鍑嗭紝榪欐椂鐢寵浜烘挙閿鐢寵鍚庯紝緋葷粺搴斿彂Email閫氱煡閮ㄩ棬涓葷鐢寵宸叉挙閿銆偮?br />聽聽processdefinition.xml濡備笅錛?br />
<?xml聽version="1.0"聽encoding="UTF-8"?>
<!--聽edited聽with聽XMLSPY聽v2004聽rel.聽3聽U聽(http://www.xmlspy.com)聽by聽keller聽(zju)聽-->
<!DOCTYPE聽process-definition聽PUBLIC
聽聽聽聽
"-//jBpm/jBpm聽Mapping聽DTD聽2.0//EN"
聽聽聽聽
"http://jbpm.org/dtd/processdefinition-2.0.dtd">
<process-definition聽聽name="RequestLeave">
<swimlane聽name="requester">
聽聽
<description>鐢寵鑰?/span></description>
</swimlane>
<swimlane聽name="chief">
聽聽
<description>閮ㄩ棬涓葷</description>
聽聽
<delegation聽class="kellerdu.jbpm.delegation.ChiefSwimlane"/>
</swimlane>
<swimlane聽name="boss">
聽聽
<description>涓婄駭涓葷</description>
聽聽
<delegation聽class="kellerdu.jbpm.delegation.BossSwimlane"/>
</swimlane>
<start-state聽name="request"聽swimlane="requester">
聽聽
<transition聽to="BeginRequest"/>
</start-state>
<fork聽name="BeginRequest">
聽聽
<transition聽to="RequesterCancel"/>
聽聽
<transition聽to="IsChief"/>
</fork>
<decision聽name="IsChief">
聽聽
<delegation聽class="kellerdu.jbpm.delegation.ChiefDecision"/>
聽聽
<transition聽name="BossApprove"聽聽to="BossApprove"/>
聽聽
<transition聽name="ChiefApprove"聽聽to="ChiefApprove"/>
</decision>
<state聽name="RequesterCancel">
聽聽
<assignment聽swimlane="requester"/>
聽聽
<transition聽name="cancel"聽to="Decided">
聽聽聽
<action>
聽聽聽聽
<!--聽灝嗚鍋囩殑鐘舵佹敼鍙樹負鈥滃彇娑堚?/span>-->
聽聽聽聽
<delegation聽class="kellerdu.jbpm.action.RequestCancel"/>
聽聽聽
</action>
聽聽
</transition>
</state>
<state聽name="ChiefApprove">
聽聽
<assignment聽swimlane="chief"/>
聽聽
<transition聽name="approve"聽to="NeedBossApprove">
聽聽聽
<action>
聽聽聽聽
<!--聽灝嗚鍋囩殑鐘舵佹敼鍙樹負鈥滀富綆℃壒鍑嗏?/span>-->
聽聽聽聽
<delegation聽class="kellerdu.jbpm.action.ChiefApprove"/>
聽聽聽
</action>
聽聽
</transition>
聽聽
<transition聽name="disapprove"聽to="Decided">
聽聽聽
<action>
聽聽聽聽
<!--聽灝嗚鍋囩殑鐘舵佹敼鍙樹負鈥滀富綆″惁鍐斥?/span>-->
聽聽聽聽
<delegation聽class="kellerdu.jbpm.action.ChiefDisapprove"/>
聽聽聽
</action>
聽聽
</transition>
</state>
<state聽name="BossApprove">
聽聽
<assignment聽swimlane="boss"/>
聽聽
<transition聽name="approve"聽to="Decided">
聽聽聽
<action>
聽聽聽聽
<!--聽灝嗚鍋囩殑鐘舵佹敼鍙樹負鈥滆佹澘鎵瑰噯鈥?/span>-->
聽聽聽聽
<delegation聽class="kellerdu.jbpm.action.BossApprove"/>
聽聽聽
</action>
聽聽
</transition>
聽聽
<transition聽name="disapprove"聽to="Decided">
聽聽聽
<action>
聽聽聽聽
<!--聽灝嗚鍋囩殑鐘舵佹敼鍙樹負鈥滆佹澘鍚﹀喅鈥?/span>-->
聽聽聽聽
<delegation聽class="kellerdu.jbpm.action.BossDisapprove"/>
聽聽聽
</action>
聽聽
</transition>
</state>
<decision聽name="NeedBossApprove">
聽聽
<!--聽璇峰亣澶╂暟澶т簬10澶╃殑瑕佽佹澘鎵瑰噯聽聽-->
聽聽
<delegation聽class="kellerdu.jbpm.delegation.NeedBossApproveDecision"/>
聽聽
<transition聽name="need"聽to="BossApprove"/>
聽聽
<transition聽name="notNeed"聽to="Decided"/>
</decision>
<join聽name="Decided">
聽聽
<description>鏈変竴涓厛鍒拌揪鍗寵繘琛岀埗Token</description>
聽聽
<delegation聽class="kellerdu.jbpm.delegation.DecidedJoin"/>
聽聽
<transition聽to="DoSomething"/>
</join>
<decision聽name="DoSomething">
聽聽
<description>
聽聽聽聽鏍規嵁璇鋒眰鐨勭姸鎬佸喅瀹氥?br />聽聽聽聽錛?/span>1錛夆滀富綆℃垨鑰呰佹澘鎵瑰噯鈥濓紞鈥榓pprove鈥欙細淇敼鍛樺伐浼戝亣鐨勬誨ぉ鏁幫紝璁懼畾鍙戠粰鐢ㄦ埛E-Mail鐨勪俊鎭?br />聽聽聽聽錛?/span>2錛夆滀富綆℃垨鑰呰佹澘鍚﹀喅鈥?/span>-鈥渄isapprove鈥濓細璁懼畾鍙戠粰鐢ㄦ埛E錛峂ail鐨勪俊鎭?br />聽聽聽聽錛?/span>3錛夆滄挙閿鈥?/span>-"cancel"錛嶈瀹氬彂緇欑敤鎴稥錛峂ail鐨勪俊鎭傚鏋滀富綆℃壒鍑嗭紝瑕佸彂緇欎富綆℃秷鎭鏄庡凡緇忔挙閿銆?br />聽聽聽聽</description>
聽聽
<delegation聽class="kellerdu.jbpm.delegation.DoSomethingDecision"/>
聽聽
<transition聽name="disapprove"聽to="Finished">
聽聽聽
<action>
聽聽聽聽
<delegation聽class="kellerdu.jbpm.action.Disapprove"/>
聽聽聽
</action>
聽聽
</transition>
聽聽
<transition聽name="approve"聽to="Finished">
聽聽聽
<action>
聽聽聽聽
<delegation聽class="kellerdu.jbpm.action.Approve"/>
聽聽聽
</action>
聽聽
</transition>
聽聽
<transition聽name="cancel"聽to="Finished">
聽聽聽
<action>
聽聽聽聽
<delegation聽class="kellerdu.jbpm.action.Cancel"/>
聽聽聽
</action>
聽聽
</transition>
</decision>
<end-state聽name="Finished"/>
<action聽event-type="process-end">
聽聽
<!--聽鍙戦丒錛峂ail娑堟伅緇欑敵璇瘋咃紝璁板綍璇峰亣鏃ュ織聽-->
聽聽
<delegation聽class="kellerdu.jbpm.action.ProcessEndAction"/>
</action>
</process-definition>

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=242438