2011-10-17 81 views
0

我開發了一個數據錄入網站,允許員工將記錄添加到我們的系統中。工作人員可以將數千條記錄添加到我們的數據庫中,但是我需要一種方法來跟蹤哪些人員將數據插入記錄中,何時完成記錄,以及誰是記錄讀取的證據。 (注意:它不是審計系統)記錄條目 - 如何管理它?

我需要一個好的管理技術,怎麼做?

這裏有多支球隊我能想到的:

  1. 數據錄入團隊

  2. 校對團隊

  3. 管理團隊

當工作人員(數據進入隊)完成了一個記錄 - 他/她將點擊完成按鈕。然後不知何故它應該自動分配給'證明閱讀團隊'。

一個記錄需要檢查兩次從一個證明閱讀團隊。如果StaffB完成校對閱讀,則校對閱讀團隊的另一名成員需要再次檢查。

當證明閱讀完成後,管理團隊將分配「記錄完成」或類似的內容。

幾個月後,記錄可能需要更新(拼寫錯誤,價格變化等) - 管理員可能會將記錄分配給數據錄入團隊。

這裏是我的嘗試:

mysql> select * from records; 
+----+------------+----------------------+ 
| id | name  | address    | 
+----+------------+----------------------+ 
| 1 | Bill Gates | Text 1 Text Text 1 | 
| 2 | Jobs Steve | Text 2 Text 2 Text 2 | 
+----+------------+----------------------+ 


mysql> select * from staffs; 
+----+-----------+-----------+---------------+ 
| id | username | password | group   | 
+----+-----------+-----------+---------------+ 
| 1 | admin1 | admin1 | admin   | 
| 2 | DEntryA | DEntryA | data_entry | 
| 3 | DEntryB | DEntryB | data_entry | 
| 4 | PReadingA | PReadingA | proof_reading | 
| 5 | PReadingB | PReadingB | proof_reading | 
+----+-----------+-----------+---------------+ 


mysql> select * from data_entry; 
+----+------------+-----------+------------------------+ 
| id | records_id | staffs_id | record_status   | 
+----+------------+-----------+------------------------+ 
| 1 |   2 |   3 | data_entry_processiing | 
| 2 |   2 |   3 | data_entry_completed | 
| 3 |   2 |   4 | proof_read_processing | 
| 4 |   2 |   4 | proof_read_completed | 
| 5 |   2 |   5 | proof_read_processing | 
| 6 |   2 |   5 | proof_read_completed | 
+----+------------+-----------+------------------------+ 

這是它應該如何管理記錄做什麼?或者什麼是替代更好的解決方案?

回答

1

你可以做類似下面的結構。

records & staffs表是從你的問題(很多)。我在下面添加根據你所描述的:

team - >持有所有球隊

teamStaff的 - >持有該工作人員在哪支球隊

recordStatusType - >持有記錄可以在的所有狀態

teamRecordStatusType->保留哪些團隊(以及哪些員工的關係)被允許處理記錄,其中狀態,即數據輸入團隊被允許在數據輸入處理中處理記錄&數據輸入完整的狀態,但沒有別的。一個管理團隊可以在這裏設置所有狀態類型,以便他們可以「查看」所有記錄,而不管他們處於什麼狀態。

recordCurrentStatus - >給定記錄的當前狀態以及誰最後一次改變以及何時做出改變。這應該允許您禁止同一團隊中的任何用戶,例如證明閱讀團隊,他已經完成了第一次校對,並且需要將其傳遞給團隊的其他成員。此表還將允許管理員更改給定記錄的狀態併爲其指定狀態。

希望這會有所幫助!

mysql> select * from records; 
+----+------------+----------------------+ 
| id | name  | address    | 
+----+------------+----------------------+ 
| 1 | Bill Gates | Text 1 Text Text 1 | 
| 2 | Jobs Steve | Text 2 Text 2 Text 2 | 
+----+------------+----------------------+ 

mysql> select * from team; 
+----+---------------------+ 
| id | team    | 
+----+---------------------+ 
| 1 | Data Entry Team  | 
| 2 | Proof Reading Team | 
| 3 | Admin Team   | 
+----+---------------------+ 

mysql> select * from staffs; 
+----+-----------+-----------+ 
| id | username | password | 
+----+-----------+-----------+ 
| 1 | admin1 | admin1 | 
| 2 | DEntryA | DEntryA | 
| 3 | DEntryB | DEntryB | 
| 4 | PReadingA | PReadingA | 
| 5 | PReadingB | PReadingB | 
+----+-----------+-----------+ 

mysql> select * from teamStaff; 
+----+---------+--------+ 
| id | staffId | teamId | 
+----+---------+--------+ 
| 1 | 1 | 3 | 
| 2 | 2 | 1 | 
+----+------------------+ 

mysql> select * from recordStatusType; 
+----+---------------------------+ 
| id | statusType    | 
+----+---------------------------+ 
| 1 | Data Entry Processing  | 
| 2 | Data Entry Complete  | 
| 3 | Ready for Proof Reading 1 | 
| 4 | Proof Reading 1 Complete | 
| 5 | Ready for Proof Reading 2 | 
| 6 | Proof Reading 2 Complete | 
+----+---------------------------+ 

mysql> select * from teamRecordStatusType; 
+----+---------+-------------+ 
| id | teamId | statusTypeId | 
+----+---------+-------------+ 
| 1 | 1 |  1  | 
| 2 | 1 |  2  | 
| 3 | 2 |  3  | 
| 4 | 2 |  4  | 
| 5 | 2 |  5  | 
| 6 | 2 |  6  | 
+----+-----------------------+ 

mysql> select * from recordCurrentStatus; 
+----+-----------+--------------+---------------------+-----------------------+ 
| id | recordsId | statusTypeId | lastModified  | lastModifiedByStaffId | 
+----+-----------+--------------+---------------------+-----------------------+ 
| 1 | 1  |  1  | 2011-10-17 10:24:12 |   1   | 
| 2 | 1  |  2  | 2011-10-17 08:24:12 |   1   | 
+----+--------------------------+---------------------+-----------------------+ 
+0

感謝您的建議,非常有趣。我不認爲我需要「準備好校樣讀取1」 - 處理人員可以看到已完成記錄的列表 - 他們可以點擊任何記錄,然後點擊「準備好校樣讀取」,它將分配給「校對讀取1處理「 - 你怎麼看? – 2011-10-17 14:50:56

相關問題