【正文】
是向用戶介紹系統(tǒng)運(yùn)行環(huán)境、使用方法。 整個(gè)系統(tǒng)流程圖如圖 41 所示: 11 No Yes 圖 41 人力資源管理系統(tǒng)流程圖 數(shù)據(jù)庫(kù)設(shè)計(jì) 創(chuàng)建數(shù)據(jù)庫(kù)名為 hrmbook,開發(fā)本系統(tǒng)共需要 9 張表,其中組織機(jī)構(gòu)編碼表和職員基本信息表是該系統(tǒng)的關(guān)鍵表,用于存放基礎(chǔ)的數(shù)據(jù)信息,其他涉及組織機(jī)構(gòu)信息和職員信息的數(shù)據(jù)表,都只記錄機(jī)構(gòu)或職員的編號(hào),根據(jù)作為外鍵的編號(hào)字段和組織機(jī)構(gòu)編碼表或職員基本信息表相對(duì)應(yīng),因此,這兩張表和其他數(shù)據(jù)表間的關(guān)系是 1:N 的關(guān)系,其他各表均與這兩張表通過“單位編號(hào)”或“職員編號(hào)”字段進(jìn)行多對(duì)一的關(guān)聯(lián)。這些存儲(chǔ)過程都在“當(dāng)月工資管理”模塊中使用。 表 52 主窗體屬性設(shè)置 控件名 屬性 取值 frmMain Name frmMain frmMain Text 人力資源管理系統(tǒng) frmMain IsMdiContainer True frmMain WindowState Maximized frmMain StartPosition CenterScreen StatusBar Text 歡迎使用本系統(tǒng)! ( 4) 在主菜單控件上單擊鼠標(biāo)左鍵進(jìn)入菜單編輯模式,設(shè)置如表 53 所示。B) MenuItemPeople Text 職員信息管理 (amp。Z) MenuItemSalaryManage Text 當(dāng)月工資計(jì)算 (amp。D) MenuItemPunish Text 職員懲罰管理( amp。Q) MenuItemHelp Text 幫助( amp。通過觸發(fā)并調(diào)用 GetInstanceState 函數(shù) 顯示各個(gè)子窗體 , GetInstanceState 函數(shù)主要代碼如下: Private Function GetInstanceState(ByVal name As String) As Boolean 39。不存在名為 Name的子窗體 False Return False End Function ( 6)主窗體模塊的窗體設(shè)計(jì)效果如圖 54 所示: 17 圖 54 主控制模塊效果圖 因?yàn)楦鱾€(gè)窗體均需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問,因此可以把對(duì)數(shù)據(jù)庫(kù)的一些操作通過一個(gè)類來實(shí)現(xiàn),這樣可以使對(duì)數(shù)據(jù)庫(kù)的訪問更加簡(jiǎn)單。數(shù)據(jù)庫(kù)連接對(duì)象 Private SqlConn As SqlConnection Public Shared sConn As String = Persist Security Info=False。Connect Timeout=30 Public Sub Dispose() Implements Dispose(True) (True) End Sub Protected Sub Dispose(ByVal disposing As Boolean) If disposing True Then 18 Return End If If SqlConn Is Nothing = False Then () SqlConn = Nothing End If End Sub Public Sub Open() If SqlConn Is Nothing = True Then 39。 用戶登錄窗體啟動(dòng)后,等待用戶輸入用戶號(hào)和密碼,根據(jù)登錄的用戶號(hào)在系統(tǒng)用戶清單表中查找相應(yīng)記錄并自動(dòng)添加用戶名,然后系統(tǒng)檢查密碼的正確性,是系統(tǒng)合法授權(quán)用戶,允許進(jìn)入系統(tǒng),否則無(wú)法進(jìn)入退出系統(tǒng)。 _ + () + 39。用戶 ID存在 UserId = () 39。 機(jī)構(gòu)編制管理模塊用于設(shè)置企業(yè)的組織機(jī)構(gòu),其中包括機(jī)構(gòu)設(shè)置及編碼 , 機(jī)構(gòu)詳細(xì)信息兩個(gè)子功能模塊 ,如圖 56所示。具體代碼如下: 39。) 39。添加節(jié)點(diǎn) (tmpNode) 22 39。 機(jī)構(gòu)詳細(xì)信息模塊實(shí)現(xiàn)的二個(gè)主要功能包括:顯示、修改機(jī)構(gòu) 的信息,不能刪 除,其所列單位信息都是在組織機(jī)構(gòu)編碼表中的記錄,只能在機(jī)構(gòu)設(shè)置及編碼中增加部門,在這里不能新增部門信息,操作完成后按保存按鈕其值將返回到組織機(jī)構(gòu)編碼表。 圖 58機(jī)構(gòu)詳細(xì)信息窗體設(shè)計(jì)效果圖 職員信息管理 人員信息管理模塊用于管理和查詢企業(yè)員工的相關(guān)信息,其中包括子功能模塊 如圖 59 所示。 ( 1)綁定數(shù)據(jù)至相應(yīng)控件 ① 從工具箱中拖動(dòng)一個(gè) SqlDataAdapter 對(duì)象到窗體上,連接 hrmbook 數(shù)據(jù),添加職員基本信息表并選擇職員基本信息表的所有字段,如圖 510 所示。 通過 SQL語(yǔ)句及自定義方法 SetDataGrid將數(shù)據(jù)庫(kù)中職員 信息表在 DataGrid(代碼與 frmDepInfo_Load 中代碼基本一致 )顯示出來。從職員基本信息表表刪除當(dāng)前被選中記錄 () (職員基本信息表 ). _ Rows(iRow).Delete() Else Exit Sub 27 End If Try If Then 39。 程序主要運(yùn)用 SQL 語(yǔ)句從數(shù)據(jù)庫(kù)中篩選出符合查詢條件的數(shù)據(jù)并顯示在DataGrid 中顯示出來。 但在使用和維護(hù)中應(yīng)注意以下幾點(diǎn):保持操作的正確性,定期進(jìn)行數(shù)據(jù)庫(kù)備份,是保持?jǐn)?shù)據(jù)完整性和保證數(shù)據(jù)正常運(yùn)行的有效方法;定期清理數(shù)據(jù)中的無(wú)效數(shù)據(jù),這樣可以提高系統(tǒng)的運(yùn)行速度,也會(huì)降低數(shù)據(jù)冗余。 現(xiàn)將有關(guān)體會(huì)總結(jié)如下: ( 1)這套系統(tǒng)用優(yōu)秀的數(shù)據(jù)庫(kù)將與人力資源有關(guān)的數(shù)據(jù)統(tǒng)一管理起來 ,形成了集成的信息源。 ( 3) 此次畢業(yè)設(shè)計(jì)是對(duì) 大學(xué)四年的學(xué)習(xí)的一次綜合能力鍛煉和實(shí)踐,而且培養(yǎng)了 堅(jiān)強(qiáng)的毅力、耐力,更需要恒心和信心,要遠(yuǎn)超過在學(xué)習(xí)時(shí)所需要的。 最后,向各位對(duì)我的學(xué)習(xí)表示理解、支持和各方面給予幫助 的 人表示感謝。 31 致謝 本文的工 作是在我的導(dǎo)師 老師悉心指導(dǎo)下完成的,從論文的選題、系統(tǒng)開發(fā)工作的開展、關(guān)鍵問題的解決、論文的撰寫乃至修改,每一個(gè)環(huán)節(jié)都凝聚著老師的心血;學(xué)校更為我提供了良好的查詢條件, 設(shè)計(jì) 中的每一點(diǎn)成績(jī)、學(xué)業(yè)上的每一點(diǎn)收獲都是與老師的精心指導(dǎo)分不開的。 ( 2)設(shè)計(jì)過程中深刻體會(huì)了系統(tǒng)開發(fā)的整個(gè)過程。 伴隨著企業(yè)對(duì)軟件需求的不斷提高 ,企業(yè)人力管理軟件也在向著網(wǎng)絡(luò)化管理、大型數(shù)據(jù)庫(kù)應(yīng)用、戰(zhàn)略性的人力資源管理等方面快速發(fā)展,將系統(tǒng)與 網(wǎng)絡(luò)連接能夠使管理人員無(wú)論身處何地都能急時(shí)完成管理任務(wù),讓管理變得更加靈活。 圖 514職員信息查詢模塊的窗體設(shè)計(jì)效果圖 幫助 向用戶提供系統(tǒng)版本信息及作者等信息。() End Try Catch ex As Exception (刪除數(shù)據(jù)出錯(cuò) ) End Try End If End Sub ( 3) 職員信息維護(hù)模塊的窗體設(shè)計(jì)效果如圖 513 所示。通過 SqlDataAdapter1更新數(shù)據(jù)庫(kù)數(shù)據(jù) (DataSet11) (職員基本信息表 ). _ = = New DataGridCell(row, 0) (數(shù)據(jù)修改成功 !) Else = New DataGridCell(row, 0) (無(wú)修改的數(shù)據(jù) !) End If Catch ex As Exception (修改的數(shù)據(jù)出錯(cuò) ) End Try ElseIf Is tbbDel Then Try 39。 ③ 為 TextBox 控件以及 ComboBox 控件設(shè)置數(shù)據(jù)源:在控件上右擊彈出快快捷菜單中單擊“屬性”命令,在“屬性”設(shè)計(jì)器中對(duì) TextBox 的屬性 DataBindings 與 Text人員信息管理 職員信息查詢 職員信息維護(hù) 25 進(jìn)行數(shù)據(jù)綁定,如圖 512 所示。 職員信息維護(hù)模塊實(shí)現(xiàn)的四個(gè)主要功能包括:顯示、增加、修改、刪除職員信息。定義一個(gè) DataGrid表樣式 Dim ts As New DataGridTableStyle Dim aColumnTextColumn As DataGridTextBoxColumn Dim numCols As Integer = Dim i As Integer ’ 不顯示單位編號(hào) For i = 0 To numCols 2 aColumnTextColumn = New DataGridTextBoxColumn = _ (i).ColumnName If i = 0 Then = 單位名稱 Else = _ (i).ColumnName End If =