gdufo

           

          JBPM 中如何實現任務回退,并且分配給指定的人

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

          舉個例子說:有個task是"申請",它的Actor是多個人.張三提出"申請"后提交給另一個task "審批",審批不通過要退回給張三,而其他人(李四)不會分配到該任務.
          我是這樣定義的:
             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="結束"></transition>   
            34.     
          </task-node>   
            35.     
          <!-- 結束 -->   
            36.     
          <end-state name="結束" />  
            37. 
          </process-definition>  

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

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

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

          評論

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

          那如果要連續駁回呢?怎么處理?  回復  更多評論   

          導航

          統計

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          Hibernate

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 清水县| 泗洪县| 兴安盟| 乐清市| 皮山县| 张家港市| 郴州市| 渭源县| 米林县| 门头沟区| 鄂托克前旗| 石泉县| 黄大仙区| 洛南县| 雷波县| 黔江区| 图们市| 靖宇县| 剑川县| 惠安县| 临夏市| 五常市| 双流县| 阿拉善盟| 东乡族自治县| 彭泽县| 伽师县| 潢川县| 达尔| 怀远县| 甘孜县| 天津市| 开化县| 泗水县| 聂拉木县| 赤城县| 胶南市| 鹤壁市| 丰顺县| 清丰县| 辽源市|