acitviti6工作流--delegateTask審批任務委託

activiti版本:6.0.0

接口路徑:org.activiti.engine.TaskService

方法描述:

  /**
   * 將任務委託給另一個人,修改act_ru_task表記錄
   * 如果沒有任務所有者(owner_),則將該字段置爲任務的當前受理人
   * 委託狀態(delegation_)變更爲PENDING
   * 當前審批人(assignee_)變更爲被委託人
   * 
   * @param taskId 需要轉交的任務節點ID
   * @param userId 被委託人
   * @throws ActivitiObjectNotFoundException 無法找到任務節點ID
   */
  void delegateTask(String taskId, String userId);


  /**
   * 被加簽人處理完畢,節點處理人迴轉到委託人
   * 只有在委託狀態(delegation_)爲PENDING才能執行
   * 委託狀態(delegation_)變更爲RESOLVED
   * 當前審批人(assignee_)變更爲 委託人
   * 
   * @param taskId 任務節點ID
   * @throws ActivitiObjectNotFoundException 無法找到任務節點ID
   */
  void resolveTask(String taskId);

執行效果:該節點的審批人變更爲被委託人,在被委託人審批之後,無論同意還是拒絕,都會返回給委託人再次處理

業務場景:委託人無法判斷如何審批,向被委託人徵詢意見,但是最終決定權保留在委託人手上

數據庫變更:

委託執行前:owner_與 delegation_均爲null

委託執行後(執行delegateTask方法):owner_ 置爲委託人  delegation_ 置爲 PENDING

被委託人審批後(執行resolve方法):assignee_置回委託人  delegation_ 置爲 RESOLVED

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章