1. 程式人生 > >Spring boot 整合activiti以及大量例項

Spring boot 整合activiti以及大量例項

1,Spring boot 整合activiti modeler

感謝其他作者,參考:http://blog.csdn.net/chenhai201/article/details/72668275

一、首先從官方下載activiti5.22.0版本的全程式碼包,並在本地解壓待用

從activiti-webapp-explorer2中複製src\main\java\org\activiti\explorer\servlet路徑下的檔案(圖中的A部分)到本地專案中

從activiti-webapp-explorer2中複製src\main\resources路徑下的stencilset.json檔案到本地專案的resources目錄下

從activiti-webapp-explorer2中複製src\main\webapp路徑下的檔案(圖中C部分)到本地專案的resources/public/static目錄下

從activiti-modeler中複製src\main\java\org\activiti\rest\editor路徑下的檔案(圖中的B部分)到本地專案中

二、修改檔案:

a)        修改本地專案的pom.xml,增加如下依賴

b)        修改圖中標紅的類,專案中已修改

我們可以看到一個空白的編輯器,裡面什麼也木有。原因是什麼呢,是因為我們的modelId=1是亂輸入的,他應該要和資料庫表ACT_RE_MODEL對應起來才對。

使用方法:

 * 1,呼叫newModel新建一個modelId

 * 2,呼叫modelList獲取model資訊

2,實戰片

具體程式碼firstFlow資料夾

1.        啟動程式,自動載入表和初始化流程資料

2.        檢視流程定義和流程資源     ACT_GE_BYTEARRAY:

3.        檢視compy和person:

4.        我們當前模擬一個簡單的工作流程,某人想加入某個公司,[對應流程:test20171114.bpmn],然後有許可權審批的人審批,審批同意後將此人加入組織並輸出“加入組織成功”,不同意輸出“加入組織失敗”。

a)        4.1,此時我們要加入的公司compId=為1,申請加入的人的personId=2,使用PostMan訪問http://localhost:8888/process/2/1/joinProcess此時資料庫發生如下變化:

b)        4.2,此時使用者admin和wtr具備審批申請的權利

,此時我們訪問http://localhost:8888/tasks?assignee=admin 檢視admin使用者的任務,返回結果為:

c)        4.3,我們現在通過訪問http://localhost:8888/complete/true/12513完成任務,true為同意(可以選擇false),12513為task的id,任務完成後會自動呼叫Service Task,此時wyf這條記錄的comp_compId為更新為當前公司的id。

附:涉及的資料庫表

ACT_GE_* : “GE”代表“General”(通用),用在各種情況下;

ACT_HI_* : “HI”代表“History”(歷史),這些表中儲存的都是歷史資料

ACT_ID_* : “ID”代表“Identity”(身份),這些表中儲存的都是身份資訊,如使用者和組以及兩者之間的關係。可以直接使用現有系統中的使用者或組資訊

ACT_RE_* : “RE”代表“Repository”(倉庫),這些表中儲存一些‘靜態’資訊,如流程定義和流程資源(如圖片、規則等);

ACT_RU_* : “RU”代表“Runtime”(執行時),這些表中儲存一些流程例項、使用者任務、變數等的執行時資料。Activiti只儲存流程例項在執行過程中的執行時資料,並且當流程結束後會立即移除這些資料,這是為了保證執行時表儘量的小並執行的足夠快;

--通用的流程定義和流程資源

SELECT *FROM `ACT_GE_BYTEARRAY`;

--歷史流程

SELECT *FROM ACT_HI_ACTINST;

--歷史的流程執行過程中使用者關係,許可權

SELECT *FROM ACT_HI_IDENTITYLINK;

--已部署的流程定義

SELECT *FROM ACT_RE_PROCDEF;

--執行時任務

SELECT *FROM `ACT_RU_TASK`;

--執行時使用者關係資訊,流程結束即刪除

SELECT * FROM `ACT_RU_IDENTITYLINK` WHERE TASK_ID_ ='12513';

附上具體原始碼:http://download.csdn.net/download/lgllionky/10118046