gdufo

           

          JBPM 中如何實現(xiàn)任務(wù)回退,并且分配給指定的人

          http://jbpm.group.javaeye.com/group/topic/650?page=1

          舉個例子說:有個task是"申請",它的Actor是多個人.張三提出"申請"后提交給另一個task "審批",審批不通過要退回給張三,而其他人(李四)不會分配到該任務(wù).
          我是這樣定義的:
             1. <process-definition xmlns="" name="Simple">  
             2.        
          <swimlane name="sa_employee">  
             3.          
          <assignment pooled-actors="張三,李四"/>  
             4.        
          </swimlane>  
             5.        
          <swimlane name="sa_lead">  
             6.          
          <assignment pooled-actors="王五"/>  
             7.        
          </swimlane>  
             8.        
          <!-- 申請 -->   
             9.        
          <start-state name="申請">  
            10.           
          <task name="申請" swimlane="sa_employee">   
            11.             
          <controller>   
            12.                 
          <variable name="name" />   
            13.                 
          <variable name="day" />   
            14.                 
          <variable name="note" />  
            15.                 
          <variable name="comment" access="read" />  
            16.                 
          <variable name="modifyflag" />  
            17.             
          </controller>   
            18.           
          </task>  
            19.           
          <transition name="提交" to="審批"></transition>  
            20.        
          </start-state>   
            21.     
          <!-- 審批 -->   
            22.     
          <task-node name="審批">  
            23.         
          <task name="審批" swimlane="sa_lead">  
            24.             
          <controller>   
            25.                 
          <variable name="name" access="read" />   
            26.                 
          <variable name="day" access="read" />   
            27.                 
          <variable name="note" access="read" />  
            28.                 
          <variable name="comment" />  
            29.                 
          <variable name="modifyflag" />  
            30.             
          </controller>   
            31.          
          </task>  
            32.       
          <transition name="修改" to="申請"></transition>  
            33.       
          <transition name="通過" to="結(jié)束"></transition>   
            34.     
          </task-node>   
            35.     
          <!-- 結(jié)束 -->   
            36.     
          <end-state name="結(jié)束" />  
            37. 
          </process-definition>  

           
          這個問題其實也是我以前提到過的問題,在我的項目中也有這樣的需求。我是通過程序來實現(xiàn)的。
          1、給整個processInstance指定一個流程變量preActor,用來記錄上一個節(jié)點由誰完成的;

          2、當(dāng)task被打回的時候根據(jù)這個preAction在設(shè)定任務(wù)的Actor就可以了。
          呵呵。不錯的做法。
          引用 收藏
           
          根據(jù)NAME來判別嗎?
           
          直接調(diào)用TaskInstance.getPreviousActId()方法,獲得上一個任務(wù)的執(zhí)行者,任務(wù)回退后,后在任務(wù)設(shè)定這個Actor就OK了

          posted on 2008-09-17 22:06 gdufo 閱讀(2255) 評論(1)  編輯  收藏 所屬分類: workflow

          評論

          # re: JBPM 中如何實現(xiàn)任務(wù)回退,并且分配給指定的人 2012-11-06 11:30 p27135@163.com

          那如果要連續(xù)駁回呢?怎么處理?  回復(fù)  更多評論   


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          Hibernate

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 周宁县| 墨竹工卡县| 渑池县| 海城市| 静海县| 曲水县| 平山县| 长乐市| 建水县| 宁强县| 彭阳县| 建湖县| 滨州市| 枝江市| 广宁县| 东安县| 汉川市| 松滋市| 遂川县| 高平市| 卢龙县| 平昌县| 偃师市| 冀州市| 伊吾县| 丹棱县| 正蓝旗| 凤冈县| 图们市| 静海县| 邹城市| 平山县| 泰和县| 澄城县| 东乌珠穆沁旗| 西贡区| 诸城市| 凤山市| 体育| 荃湾区| 双城市|