審批流資料庫設計

2021-09-28 15:52:31 字數 1152 閱讀 3533

需求:

審批流程自定義

審批的每個節點可以有多個審核人,有乙個失敗則視為審批失敗

審批的過程可以自由前進後退:

當發文到達某個節點失敗後,會自動被打回到上乙個節點.

上乙個節點可以選擇修改後繼續提交,或者再打回到上乙個節點.

整個審批可以看成是三種狀態:

1.草稿:

來自兩種情況:1.發起人剛起草審核.2.審核被第乙個審核人打回

此狀態下發起人可自由修改發文

2.審批中:

不管是正常審批,審批失敗往回打,還是修改後重新提交.都放入這乙個狀態

作為發起人:只可檢視當前審批狀態.

作為審批者:只可檢視審批流程節點輪到自己的發文

3.審批完成:

一.如何確定一套流程

這裡使用2個表,一對多的關係,用來表示一套流程

舉例:現在要確定一套流程,他的名字叫做 "前期部審批流程"

這套流程需要走4道手續,其中有第3道手續需要2個部門同時通過才算是通過.

這個時候需要往定製流程表裡插入一條資料

往流程表插入5條資料

其中的deptid是指由哪個部門來審批,node表示它在流程中是第幾個輪到的,node相同的就說明是由多個人共同決定的

二.如何發起一套流程

上面講的,確定一套流程,那只不過是乙個模版,乙個流程確定了,以後就可以根據這個模版來,

至於實際的某個發文用到了流程,那該怎麼辦?

新建乙個如下的流程表

然後把對應的流程的乙個個節點全部搬到審批流程表中來.

需要幾個部門來審核,就往審批流程表裡插入幾條資料.

舉例:還是上面的情景,現在要發起一套上面的流程,資料庫情況如下:

上表中的flowid是完全冗餘沒用了,,就當沒這個把

可以看到把node deptid都拷過來了,另外還加入了checkcommon,用於記錄每個節點的審批意見;checkresult,用於記錄每個節點的審批結果.

這裡還有乙個baseprojectid,用來標記這是哪個專案對應的流程,後面再說.

現在的狀態是審批到了第3個節點.

前面1.2都是同意的.3中的其中乙個人是同意的,3中的另乙個人是不同意的

所以說現在的狀態應該是打回到2,讓2決定是繼續回滾還是修改後繼續提交.

但是如果2修改後提交了,表中的狀態還是:

沒事幹寫寫流程審批資料庫的設計

workflow 流程表 序號 字段 描述 1 wfid 2 wfname 流程名稱 form 流程表單表 序號 字段 描述 1 fid 2 wfid 流程id 3 design 表單設計html 4 itemdata 表單物件具體資料,形式如 t型別可以有 textbox radio textar...

資料庫設計 設計資料庫之前

1.考察現有環境 在設計乙個新資料庫時,你不但應該仔細研究業務需求而且還要考察現有的系統。大多數資料庫 專案都不是從頭開始建立的 通常,機構內總會存在用來滿足特定需求的現有系統 可能沒有實 現自動計算 顯然,現有系統並不完美,否則你就不必再建立新系統了。但是對舊系統的研究 可以讓你發現一些可能會忽略...

資料庫設計 設計資料庫之前

1.考察現有環境 在設計乙個新資料庫時,你不但應該仔細研究業務需求而且還要考察現有的系統。大多數資料庫 專案都不是從頭開始建立的 通常,機構內總會存在用來滿足特定需求的現有系統 可能沒有實 現自動計算 顯然,現有系統並不完美,否則你就不必再建立新系統了。但是對舊系統的研究 可以讓你發現一些可能會忽略...