審批流程數據庫設計

要作一個通用的流程系統,大概應創建以下數據表:node

  1. 流程表(tbl_flow)spa

 

字段名 數據類型 備註
flow_id int 流程編號,主鍵
flow_no int 流程號,惟一列
flow_name varchar2(100) 流程名稱
remark varchar2(500) 備註

  示例數據:ci

 

flow_id flow_no flow_name remark
1 5 請假流程 請假流程
2 10 報銷流程 報銷流程

 

  2. 流程節點表(tbl_flow_node)rem

 

字段名 數據類型 備註
flow_node_id int 流程節點編號,主鍵
flow_no int 流程號,與流程表對應
flow_node_name varchar2(100) 流程節點名稱
flow_node_role varchar2(100) 流程角色
remark varchar2(500) 備註

  示例數據:it

 

flow_node_id flow_no flow_node_name flow_node_role remark
1 5 提交請假單 提交請假單
2 5 部門經理審批 部門經理 部門經理審批
3 5 總經理審批 總經理 總經理審批

 

  3. 流程線表(tbl_flow_line)table

 

字段名 數據類型 備註
flow_line_id int 流程線編號,主鍵
flow_no int 流程號,與流程表對應
prev_node_id int 前一節點編號
next_node_id int 後一節點編號
remark varchar2(500) 備註

  示例數據:date

 

flow_line_id flow_no prev_node_id next_node_id remark
1 5 1 2 提交部門經理審批
2 5 2 3 提交總經理審批

 

  4. 流程角色_員工表(tbl_flow_role_user)數據類型

 

字段名 數據類型 備註
flow_role_name varchar2(100) 流程角色名稱
user_id int 員工編號
dept_id int 部門編號

  示例數據:next

 

flow_role_name user_id dept_id
部門經理 13 2
部門經理 26 4
總經理 3 1

 

  以上就是一個通用的審批流程所須要的數據表。數據

 

  下面,咱們來作一個簡單的示例,就是請假審批。

  須要爲請假審批額外增長兩張表,其中一張表對應於請假單,但除了請假單的必需數據外,還增長了「流程號」和「當前節點編號」兩個字段;另外一張表用於記錄審批過程當中的審批意見。

 

  5. 請假表(tbl_leave)

 

字段名 數據類型 備註
leave_id int 請假編號,主鍵
user_id int 請假人編號
user_name varchar2(100) 請假人姓名
leave_type varchar2(100) 請假類型(病假、事假)
leave_reason varchar2(500) 請假緣由
start_date date 開始日期
end_date date 終止日期
add_date date 提交日期
flow_no int 流程號
current_node int 當前節點編號

  補充:再增長一個字段state,用於表示請假單狀態,0表示草稿,1表示已提交審批,2表示審批結束。

 

  6. 請假審批表(tbl_leave_audit)

 

字段名 數據類型 備註
audit_id int 審批編號,主鍵
leave_id int 請假編號,與請假表對應
flow_node_id int 節點編號
user_id int 審批人編號
user_name varchar2(100) 審批人姓名
audit_info varchar2(500) 審批意見
audit_date date 審批日期
相關文章
相關標籤/搜索