工作流(WorkFlow)Activity的學習


  工作流簡單理解,就是工作流程,工作中,有很多的流程都比較固定,可以說是有一定的模板性。就比如請假這個流程(可能不是很合理),張三請假,需要向主管申請,主管同意后,然后向人事申請,人事記錄后才算請假成功。像這樣,李四請假也是這個流程,王五也是這個流程。

  於是咱們開發人員就想到了,既然很多流程都有一個固定的模板,那么咱們能不能將這個流程封裝起來呢,所以就多了工作流框架。比如Activity。

  Activity7默認有25張表,用戶只需要使用流程設計器畫出流程圖,生成bpmn文件,bpmn本質為XML文件,因為安裝了actiBPM插件,才能可視化的看到流程內容。

  簡單認識:

  1、Activity的表說明

ACT_RE  流程定義和流程資源
ACT_RU 運行時,流程實例、任務、變量
ACT_HI 歷史表
ACT_GE 通用表

  2、Activity的架構、類關系圖

獲取流程引擎的工具類
ProcessEngines。使用默認方式獲取配置文件,構造流程引擎。配置文件名字activity.cfg.xml,放在classpath下
ProcessEngineConfiguration。可以自定義配置文件名
使用上面兩個工具類,都可以獲得流程引擎
ProcessEngine:流程引擎,獲取各種服務的接口。
服務接口:用於流程的部署、執行、管理,使用這些接口就是在操作對應的數據表
      RepositoryService   資源管理類
      RuntimeService    運行時管理類
      TaskService       任務管理類
      HistoryService     歷史數據管理類
      ManagementService   流程引擎管理類

  3、BPNM插件

idea安裝actiBPM插件

  4、流程符號、畫流程圖

流程符號:事件Event、活動Activity,網關Gateway,流程
使用流程設計器畫出流程圖

  5、部署流程

使用Activity提供的API把流程圖的內容寫入數據庫中
資源類操作,使用RepositoryService
單文件部署:吧bpmn文件和png文件一個一個處理
壓縮包部署:把bpmn文件和png文件打包壓縮處理
Deployment deploy = repositoryService.createDeployment()
部署操作表:
act_re_deployment  部署表
act_re_procdef    流程定義表
act_ge_bytearray   資源表

  6、啟動流程實例

使用RuntimeService根據流程定義的Key
核心代碼:
ProcessInstance instance = runtimeService.startProcessInstanceByKey("myEvection")

  7、任務查詢

使用TaskService,根據流程定義的Key,任務的負責人進行查詢
核心代碼:
List<Task> taskList = taskService.createTaskQuery()
      .processDefinitionKey("myEvenction") //流程Key
      .taskAssignee("張三") //要查詢的負責人
      .list()

   8、任務完成

使用TaskService,用任務id完成任務
核心代碼:
taskService.complete("2505") //完成任務調用的方法

  模糊記錄:

  還有不同的網關,可以在連線過程中設置條件,比如請假流程,請假天數小於三天那么走主管、人事即可。天數大於等於三天那么需要走主管、總經理、人事,多了一個總經理的審核。

  合並網關,請假流程,當張三發出請假之后,需要主管和經理都審核通過,才能進行下一步的操作。等等網關,等周末再熟悉的時候再進行記錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM