自己動手寫工作流

    很多時候,工作流引擎就是系統的核心,可是很多工作流框架太過死板,配置項也比較麻煩,歸根結底工作流引擎也不過是幫助我們完成事件的框架,其實可以根據自己的需求自己設計數據庫,完成工作流
    首先工作流必備的幾張表有:歷史表,步驟表,步驟歷史表和事件當前狀態表,這四張表是最基礎的,如果工作裏比較複雜也可以根據自己的工作流自行增加刪減

歷史表:歷史表是對事件辦理完成後的歸檔保存處理,所以歷史表必須要包含事件的所有字段,這裏就不給出具體表結構,根據自己的事件自己設計。
步驟表:步驟表的作用,首先定義每個工作流的步驟,當流程開始時流程的每一步以及下一步是什麼大致表結構如下:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章