activiti6.0工作流功能總結

工作流知識:
    我們主要使用場景一個是OA,一個是ESB接口流程編排
 
     一.選型:activiti6.0
         原因:1.比較穩定 
                   2.集成springboot
                   3.相比於flowable缺少一些高級功能目前用不到,也更加複雜,但是activiti6可以升級爲flowable,而且學習文檔比較多
     二.接口和表:
           
  • RepositoryService:提供一系列管理流程部署和流程定義的API。
  • RuntimeService:在流程運行時對流程實例進行管理與控制。
  • TaskService:對流程任務進行管理,例如任務提醒、任務完成和創建任務等。
  • IdentityService:提供對流程角色數據進行管理的API,這些角色數據包括用戶組、用戶及它們之間的關係。
  • ManagementService:提供對流程引擎進行管理和維護的服務。
  • HistoryService:對流程的歷史數據進行操作,包括查詢、刪除這些歷史數據。
  • FormService:表單服務。
       
  • act_ge_ 通用數據表,ge是general的縮寫
  • act_hi_ 歷史數據表,hi是history的縮寫,對應HistoryService接口
  • act_id_ 身份數據表,id是identity的縮寫,對應IdentityService接口
  • act_re_ 流程存儲表,re是repository的縮寫,對應RepositoryService接口,存儲流程部署和流程定義等靜態數據
  • act_ru_ 運行時數據表,ru是runtime的縮寫,對應RuntimeService接口和TaskService接口,存儲流程實例和用戶任務等動態數據
   三.一個簡單的審批流程:
  • 新增bpmn文件:手寫bpmn代碼,頁面拖拽生成,自定義xml,導入後會新增act_re_mode表
  • 自定義校驗器:集成spring
  • 部署流程(帶上表單):通過代碼引入xml部署,或者通過框架提供的接口部署(blob文件在act_ge_bytearray),部署後新增 act_re_procdef 流程定義表(可以指定租戶ID做租戶隔離,然後啓動流程需要指定租戶id);
  • 啓動流程
     0:設置流程發起人indentityService.setAuthenticatedUserId();
  1. 新增act_ru_execution,act_ru_task;流程實例和執行實例(act_ru_execution)  act_ru_execution表parentId爲空就是流程實例,parentId不爲空就是執行實例
  2. act_ru_task也會相應的產生一條用戶數據
  3. 查詢個人任務: select distinct RES.* from act_ru_task
  4. 完成任務:自定義權限校驗,每一個執行節點執行完都是刪除本節點,新增下一節點的任務,會更新act_ru_execution的ACT_ID爲新的任務,當所有的任務都執行完act_ru_task,act_ru_execution都會刪除
   四.常用功能:
      1.獲取流程圖(高亮節點)
      2.流程變量(全局變量和局部變量act_ru_variable): 流程變量的作用域範圍是只對應一個流程實例。也就是說各個流程實例的流程變量是不相互影響的。流程實例結束完成以後流程變量還保存在數據庫中
      3.網關:排他網關(執行一個流程),
                   並行網關(執行多個流程 :分支和匯聚)
 
      4.任務分配(個人任務和組任務  ):
          4.1:定義bpmn文件時候直接分配  userId
          4.2:使用全局流程變量${userId}
          4.3:使用taskListener類。通過任務認領解決歷史表沒有assignerId的bug
      5.監聽器
      6.通過processInstanceHelper擴展助手:記錄日誌,啓動流程前權限校驗等等(可以獲得流程定義信息和實例名稱等信息)
      7.流程定義掛起,激活,定時器掛起
      8.手動觸發流程執行:通過runtimeService.triggre(執行實例ID);任務節點不能往下走會報錯可以刪除act_ru_task也可以跑
      9.接受任務:通過trigger觸發實例往下跑,因爲接受任務的act_ru_task爲空,可以用來做一些郵件通知
     10.表單(動態,外置)引擎(formService):
       10.1 定義表單:開始事件和任務上設置表單
       10.2 獲取表單信息
       10.3 設置表單屬性
 
 
      
 
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章