1. 程式人生 > >jbpm4.3工作流整合(2)業務表的設計與介紹

jbpm4.3工作流整合(2)業務表的設計與介紹

jbpm工作流引擎整合到業務中,想要實現業務動態配置工作流、工作流回退、工作流節點角色審批許可權等功能,需要在業務表中設計關於工作流的資料表。業務表的設計比較草率,如有問題,還望指正。

1、工作流定義表(jbpm4_my_flow)


正常來說,工作流引擎api也可以獲取工作流定義表,但是在業務中維護工作流時,不太方便,而且工作流定義表會和之後的其他業務工作流表關聯,所以設計工作流定義表。流程名、流程id、流程key都是和工作流引擎中的資料對應。

頁面上工作流設計器設計好工作流後,點選儲存,先呼叫jbpm api將資料儲存到工作流引擎,然後儲存到jbpm4_my_flow表中。刪除工作流時,採用邏輯刪除,修改刪除標誌。編輯工作流時,和儲存基本同理,修改jbpm 引擎資料表後,再修改業務表。

2、流程與功能對應表(jbpm4_my_function)

當客戶設計好工作流後,需要將工作流掛在功能節點下,這樣,該功能就可以按照關聯好的自定義工作流進行流程審批。jbpm4_my_function 表作為功能與工作流關聯表,當該功能的業務新建成功後,會用功能id找到工作流id,從而生成工作流例項,生成例項程式碼如下:

ProcessInstance pi = processEngine.getExecutionService()
				.startProcessInstanceByKey(definition_Key);

生成流程例項後,流程例項也會儲存到業務表中,流程例項和業務主鍵關聯,這樣工作流引擎就和業務掛鉤了。流程例項和業務主鍵

3、流程例項與業務對應表(jbpm4_my_process)


其中“下一步流程”和“當前流程狀態”是多餘欄位,因為當前流程狀態會儲存到業務表中,下一步流程會在需要的時候由引擎API提供。jbpm4_my_process 表是使用頻率最高的表。

4、審批歷史表(jbpm4_my_histroy)


審批歷史表不多解釋,審批通過和退回都要往審批歷史表中儲存資料。jbpm 引擎庫中有歷史記錄表,但是由於業務中增加了回退功能,以及審批人。審批意見等資訊,引擎庫歷史記錄不能滿足需求,所以設計審批歷史表。

5、操作記錄表(jbpm4_my_operation)

第一眼看操作記錄表和審批歷史表基本一樣,但是兩張表的作用不同,歷史表用於檢視審批歷史,而操作記錄表用於回退操作,流程回退時,獲取當前環節和上一環節,動態劃線,跳轉到上一環節後再講線刪除(具體操作後續再講),跳轉完成後,將操作表的最新記錄刪除,這樣最新節點就是上一步的節點,實現同步回退。

6、任務節點表(jbpm4_my_task)

該表儲存工作流設計器儲存到後臺的xml檔案資料,可以查詢每個工作流的節點對應可操作使用者資訊。主要用於許可權控制。

以上為所有業務整合用到的資料表