需求:
審批流程自定義
審批的每個節點可以有多個審核人,有乙個失敗則視為審批失敗
審批的過程可以自由前進後退:
當發文到達某個節點失敗後,會自動被打回到上乙個節點.
上乙個節點可以選擇修改後繼續提交,或者再打回到上乙個節點.
整個審批可以看成是三種狀態:
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.考察現有環境 在設計乙個新資料庫時,你不但應該仔細研究業務需求而且還要考察現有的系統。大多數資料庫 專案都不是從頭開始建立的 通常,機構內總會存在用來滿足特定需求的現有系統 可能沒有實 現自動計算 顯然,現有系統並不完美,否則你就不必再建立新系統了。但是對舊系統的研究 可以讓你發現一些可能會忽略...