1 目的
將表和使用的類瞭解,後面接口的研發便會清楚一點
1.1 數據表說明
所有的表都以ACT_開頭。第二部分是表示表的用途的兩個字母的縮寫標識。用途也和服務的API對應。
28張數據表分類
1、act_ge_** 通用數據表,ge是general的縮寫
2、act_hi_* * 歷史數據表,hi是history的縮寫,對應HistoryService接口
3、act_id_** 身份數據表,id是identity的縮寫,對應IdentityService接口
4、act_re_* * 流程存儲表,re是repository的縮寫,對應RepositoryService接口,存儲流程部署和流程定義等靜態數據(圖片、規則等)
5、act_ru_ 運行時數據表,ru是runtime的縮寫,對應RuntimeService接口和TaskService接口,存儲流程實例和用戶任務等動態數據
1.2 核心API
與Spring Boot集成後,下面的類可以直接注入使用。
【1 】ProcessEnigne
工作流引擎。是Activiti工作的核心。負責生成流程運行時的各種實例及數據、監控和管理流程的運行。
【2】RepositoryService
倉庫服務類。 負責流程文件的管理,比如流程定義文檔中的png,bpmn文件。
(1)部署流程
repositoryService.createDeployment();
(2)刪除流程
repositoryService.deleteDeployment(deploymentId);
(3)刪除模型
repositoryService.deleteModel(modelId);
【3】RuntimeService
流程執行服務類。可以從這個服務類中獲取流程執行的相關信息。
(1)啓動流程
runtimeService.startProcessInstanceByKey(key)
// 或者
runtimeService.startProcessInstanceById(processDefinitionId);
【4】TaskService
任務服務類。可以從這個類中獲取任務信息。
(1)查詢任務
taskService.createTaskQuery().list();
// 查詢張三的任務
taskService.createTaskQuery().taskCandidateOrAssigned("張三").list();
(2)完成任務
taskService.complete(String taskId);
【4】HistoryService
歷史流程服務類。在一個流程執行完成後,該服務可以查詢歷史記錄。
【5】TaskService
任務服務類。通過該服務類可以查詢任務。
1.3 模型類
【1】ProcessDefinition
對應表act_re_procdef。流程定義類,這個類可以獲取資源文件。當流程圖被部署後,查詢出來的數據就是流程定義的數據。
【2】ProcessInstance
1.對應表是act_re_execution。代表流程定義的執行實例,比如向老闆請假就是發起一個流程實例。一個流程實例包括了所有的運行節點。利用這個對象可以知道當前流程實例的進度等新消息。
2.流程實例表示一個流程從開始到結束的最大流程分支。即一個流程中流程實例只有一個。
【3】Execution
1.對應表是act_re_execution。用這個對象去描述流程執行的每一個節點。在沒有併發的情況下,Execution就是同ProcessInstance.[分支的情況,並行]
2.流程按照流程定義的規則執行一次的過程就可以表示執行對象Execution.
1.4 參考說明
https://www.activiti.org/userguide/#chapterApi