本系統分爲三類用戶:
1. 項目管理者
2. 項目負責人
3. 項目組成員
第一類用戶:項目管理者:
①可以通過一次查詢查看所有項目的所有資料(包括保密和共享的)
②也可以按項目名稱查詢具體項目中的所有階段的全部資料(保密和共享的)
③也可以指定具體項目的具體階段查詢該階段的全部資料(保密和共享的)
第二類用戶:項目負責人:
①可以通過一次查詢查看自己負責項目的所有資料和別人項目中的所有資料(別人負責項目中設定爲保密狀態的資料除外)
②也可以按項目名稱查詢具體項目中的所有階段的資料
a.如果是別人負責的項目,只能查看非保密狀態的資料
b.如果是自己負責項目,則可以查看所有資料
③也可以指定具體項目的具體階段查詢該階段的資料
a.如果是別人負責的項目,只能查看指定階段中的非保密狀態的資料
b.如果是自己負責項目,則可以查看指定階段中的所有資料
④有設定資料保密和共享的權限
a.可以對自己項目中的資料設定爲保密和共享狀態:默認爲共享狀態,如果資料很重要可以設定爲保密,同時還可以把保密狀態的資料還原爲共享。
b.對別人項目中的共享資料沒有設定爲保密狀態的權限
第三類用戶:項目組成員:
①可以通過一次查詢查看所在項目的所有資料(包括保密和共享的)
②如果指定項目階段和名稱查詢的話查詢的結果也會是自己所在項目中的所有資料,即:只有查看所在項目的資料的權利
具體實現思路:
Xm_user :系統用戶表
usercode |
username |
flag |
Str1 |
用戶登錄編號 |
用戶姓名 |
用戶分類標識 |
人員編號 |
Trry:項目投入人員表
Xmbh |
Rybh |
Ryxm |
項目編號 |
人員編號 |
人員姓名 |
Xmzl:項目資料表
xmbh |
Str2 |
Str3 |
Str4 |
項目編號 |
資料流水號 |
上傳者登錄編號 |
共享和保密標識 |
Xmjlzd:項目經理表
Rybh |
Ryxm |
Duty |
人員編號 |
項目經理姓名 |
崗位 |
Information:項目信息表
code |
xmjl |
Str2 |
項目編號 |
項目經理姓名 |
項目經理人員編號 |
項目管理者:
根據條件flag=2對xmzl進行正常查詢
項目負責人:
條件判斷flag=1
登錄編號對應到rybh,再把rybh對應到information表中的str2,就可以找出登錄用戶負責的項目編號,
根據項目編號查詢自己所有項目資料:
xmbh = (select code from information where str2 = '0009')
對於別人項目資料:
(str4<>'1' and xmbh <> (select code from information where str2 = '0009'))
二者用or連接
項目組成員:
條件判斷flag=0
登錄編號對應到rybh,再把rybh對應到投入人員中的人員編號,如果存在,找到所在項目編號,查詢該項目編號的所有資料。
條件:xmbh in (select xmbh from trry where rybh = '0009')