很多時候,工作流引擎就是系統的核心,可是很多工作流框架太過死板,配置項也比較麻煩,歸根結底工作流引擎也不過是幫助我們完成事件的框架,其實可以根據自己的需求自己設計數據庫,完成工作流
首先工作流必備的幾張表有:歷史表,步驟表,步驟歷史表和事件當前狀態表,這四張表是最基礎的,如果工作裏比較複雜也可以根據自己的工作流自行增加刪減
歷史表:歷史表是對事件辦理完成後的歸檔保存處理,所以歷史表必須要包含事件的所有字段,這裏就不給出具體表結構,根據自己的事件自己設計。
步驟表:步驟表的作用,首先定義每個工作流的步驟,當流程開始時流程的每一步以及下一步是什麼大致表結構如下:
CREATE TABLE "FLOW_STATE"
("CODE" NVARCHAR2(255),
"STATE_CODE" NVARCHAR2(255),
"BEROF_NUM" NVARCHAR2(255),
"AFTER_NUM" NVARCHAR2(255),
"STATE_NAME" NVARCHAR2(255),
"EXPLAIN" NVARCHAR2(255)
)
該表包括主鍵、步驟code、上一步code、下一步code,當前步驟名稱,及步驟註釋。
步驟歷史表:記錄每個事件,每一步的歷史留痕,事件每走一步,這張表就插入一條數據,表結構如下:
CREATE TABLE "FLOW_STEP"
("CODE" NVARCHAR2(255),
"CREATE_DATE" NVARCHAR2(255),
"PERSON_CODE" NVARCHAR2(255),
"BEFOR_STEP" NVARCHAR2(255),
"AFTER_STEP" NVARCHAR2(255),
"OPINION" NVARCHAR2(255),
"STEP_STATE" NVARCHAR2(255),
"MAIN_CODE" NVARCHAR2(255)
)
該表包括主鍵,操作時間按,操作人,上一步操作人,下一步操作人,意見,步驟code,以及事件當前狀態表code。
事件當前狀態表:主要記錄事件分類,事件當前狀態等信息,表結構如下:
CREATE TABLE "ARES"."FLOW_MAIN"
( "CODE" NVARCHAR2(255),
"CREATE_DATE" NVARCHAR2(255),
"PERSON_CODE" NVARCHAR2(255),
"EVENT_CODE" NVARCHAR2(255),
"EVENT_STATE" NVARCHAR2(255) DEFAULT NULL,
"EVENT_NAME" NVARCHAR2(255),
"STEP_NUM" NVARCHAR2(255)
)
此表關聯所有表的相關信息,包括主鍵,創建時間,創建人,事件code,事件狀態,事件名稱code以及事件步驟code