版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGE人事管理系統(tǒng)畢業(yè)設計(論文)分院:學生姓名:專業(yè):班級:學號:指導教師:摘要人力資源管理系統(tǒng)、考勤考評管理系統(tǒng)和工資管理系統(tǒng)彼此分離,但是這個三個系統(tǒng)又彼此相互聯(lián)系,彼此有很多數(shù)據(jù)交換,由于重復,數(shù)據(jù)又有很多冗余。在辦理人事變動,薪資結算等事物的時候往往需要重復輸入數(shù)據(jù),有時甚至必須通過報表的轉移數(shù)據(jù)。而且彼此分離的系統(tǒng)很難保證各類數(shù)據(jù)的一致性,常常出現(xiàn)彼此沖突的現(xiàn)象。于是迫切要求一個同時包含人事管理、考勤考評和薪資結算完整統(tǒng)一的綜合性管理系統(tǒng)?!娟P鍵字】:人事信息管理、考勤管理、工資管理目錄TOC\o"1-3"\u1引言 11.2管理信息系統(tǒng)概述 11.2.1管理信息系統(tǒng)的概念 11.2.2管理信息系統(tǒng)的內容與作用 21.2.3管理信息系統(tǒng)的國內外現(xiàn)狀 31.3本課題預期效果和意義 42系統(tǒng)分析 52.1問題的定義 52.2可行性分析 52.2.1系統(tǒng)問題可行性分析 52.2.2經濟可行性分析 92.2.3技術可行性分析 92.2.4社會可行性 92.3需求分析 102.3.1功能要求 102.3.2性能要求 112.3.3運行環(huán)境要求 113系統(tǒng)設計 113.1總體設計 113.2詳細設計 123.2.1數(shù)據(jù)庫設計 123.2.2系統(tǒng)操作流程圖 134系統(tǒng)實現(xiàn) 144.1相關技術介紹 144.1.1VisualC++訪問數(shù)據(jù)庫技術 144.2系統(tǒng)實現(xiàn) 144.2.1創(chuàng)建工程和主界面設計 164.2.2創(chuàng)建ADO類及實現(xiàn)函數(shù) 154.2.3為數(shù)據(jù)表建立相關類 165維護 28結論 29致謝 29參考文獻 30-PAGE1-人事管理系統(tǒng)1引言 基于對現(xiàn)代社會市場經濟的需求,為了提高公司的辦事效率,利用計算機支持企業(yè)高效率完成勞動人事管理的日常事務,是適應現(xiàn)代企業(yè)制度要求、推動企業(yè)勞動人事管理走向科學化、規(guī)范化的必要條件;計算機管理所無法比擬的優(yōu)點檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高人事管理的效率,也是企業(yè)的科學化、正規(guī)化管理,與世界接軌的重要條件。不同的企業(yè)具有不同的人事管理制度,這就決定了不同的企業(yè)需要不同的人事管理系統(tǒng)[13]。公司原有的人力資源管理系統(tǒng)、考勤考評管理系統(tǒng)和工資管理系統(tǒng)彼此分離,但是這個三個系統(tǒng)又彼此相互聯(lián)系,彼此有很多數(shù)據(jù)交換,由于重復,數(shù)據(jù)又有很多冗余。我認為一個好的人事管理系統(tǒng),可以大大縮短人們的辦事時間,是提高辦事效率的途徑,人事管理系統(tǒng)是管理人事質量,通過統(tǒng)一的規(guī)劃,統(tǒng)一的標準,統(tǒng)一的流程,將原有的縱向信息系統(tǒng)整合成平臺系統(tǒng),保證公司的產業(yè)保障數(shù)據(jù)分析。并且,減少重復投資,減少成本建設,減少服務成本。2.1問題的定義
設計一個企業(yè)人事信息管理系統(tǒng),此系統(tǒng)要以人為中心,為企業(yè)提供全面的人事管理解決方案。具體目標:1.覆蓋所有需要計算機處理的業(yè)務;2.功能齊全;3.數(shù)據(jù)共享;4.信息傳遞方便、快捷;5.確保規(guī)范化、實時互動化人事管理機制;
6.提高企業(yè)人事管理的效率、節(jié)約相關的管理成本,增強人事管理的安全性;
7.滿足企業(yè)管理層,人事業(yè)務操作層和全體員工的不同層次和不同方面的需要;
8.對企業(yè)將來的整體信息化建設提供必要的支持。2.2可行性分析可行性分析是在進行初步調查后所進行的對系統(tǒng)開發(fā)必要性和可能性的研究,所以也稱為可行性研究。信息系統(tǒng)也應從系統(tǒng)問題可行性,技術可行性,經濟可行性和社會可行性三方面來論證。通過長時間的觀察與實踐,對人事管理系統(tǒng)的可行性分析如下:2.2.1系統(tǒng)問題可行性分析人事管理系統(tǒng)的設計是公司改進原有管理軟件,是公司管理規(guī)范化,信息化,與世界先進管理方式接軌的要求。是減輕管理人員的工作量,提高管理人員的工作效率,從而降低生產成本,提高公司效益的必要措施。同時一個安全穩(wěn)定的管理系統(tǒng)可以避免很多的數(shù)據(jù)錯誤,減少很多的重復勞動以及其他的更為嚴重的后果。建立一個功能強大的人力資源管理、工資管理和考勤考評管理一體化的管理系統(tǒng)的是公司的客觀要求。本系統(tǒng)在開發(fā)前,與公司的領導和有關的操作人員密切溝通,認真聽取他們的意見,并吸收他們的積極觀點,使本系統(tǒng)的開發(fā)在相當大的程度上具有一定的先進性和合理性。2.2.2經濟可行性分析費用主要考慮兩個方面的費用,一方面是支出的費用,其中包括設備購置費,軟件開發(fā)費,管理和維護費,人員工資和培訓費等。另一方面是取得的收益中可以用錢來衡量的那部分(收益的另一部分難以用錢來表示)。原有設備已經可以滿足新系統(tǒng)的硬件要求,不必購買新的設備?;谄髽I(yè)的現(xiàn)有計算機及配套設備,建設MIS系統(tǒng),但能大大減少重復性的書面報告,降低辦公費用,提高辦公室效率,且能提高檢測數(shù)據(jù)效用,為企業(yè)提供很方便。由于企業(yè)人事管理系統(tǒng)是一個較小型的系統(tǒng),所以從人力、物力、財力方面來說都是可行的,經濟可行性是顯然的。2.2.3技術可行性分析技術上的可行性分析主要分析現(xiàn)有技術條件能否順利完成開發(fā)工作,硬件、軟件配置能否滿足開發(fā)者的需要,各類技術人員的數(shù)量,水平,來源等。本系統(tǒng)的功能主要是完成公司的人事管理,考勤考評管理和工資管理。這一特點非常適合計算機特點,通過現(xiàn)代數(shù)據(jù)庫技術,發(fā)揮計算機的信息傳輸速度快、準確度高的優(yōu)勢。計算機硬件和軟件技術的飛速發(fā)展,為系統(tǒng)的建設提供了技術條件。依據(jù)現(xiàn)有的技術和以往的經驗,完全可以實現(xiàn)系統(tǒng)的要求,滿足技術可行性要求。2.3需求分析數(shù)據(jù)流圖圖2.1數(shù)據(jù)流圖第一層人事管理人人事管理人員1.1錄入信息分類1.4員工基本、家庭、經歷信息更新3員工信息查詢與修改4.1工資結算,生成工資表4.2打印工資清單1.3考勤信息錄入2考評信息錄入1.2工資參數(shù)設置考勤考評信息工資參數(shù)信息考勤信息工資參數(shù)信息事務考勤信息工資參數(shù)員工個人信息工資參數(shù)考勤考評信息工資數(shù)據(jù)員工個人信息員工信息上級部門事務員工工資單據(jù)事務1234工資清單財務處工資數(shù)據(jù)工資數(shù)據(jù)個人信息為了描述以上數(shù)據(jù)流圖,給出以下數(shù)據(jù)字典: 1、數(shù)據(jù)流表2.1員工信息數(shù)據(jù)流數(shù)據(jù)流名:員工信息別名:員工各項屬性組成:員工編號+姓名+籍貫+民族+出生日期+畢業(yè)院校+教育程度+身份證號+政治面貌+健康狀況+婚姻狀況+聯(lián)系方式+工作經歷(數(shù)據(jù)流)+家庭信息(數(shù)據(jù)流)+考評信息(數(shù)據(jù)流)+獎罰信息(數(shù)據(jù)流)+考勤信息(數(shù)據(jù)流)薪水信息(數(shù)據(jù)流)備注:組成元素中有其他數(shù)據(jù)流存在,在下面說明表2.2考勤信息數(shù)據(jù)流數(shù)據(jù)流名:考勤信息別名:員工考勤記錄組成:員工編號+姓名+所屬部門+加班天數(shù)+曠工天數(shù)+出差天數(shù)+遲到天數(shù)+早退天數(shù)+年月日備注:此為進行工資計算的基本數(shù)據(jù)流表2.3員工個人信息數(shù)據(jù)流數(shù)據(jù)流名:員工個人信息別名:為統(tǒng)計而需要得到的員工各項信息組成:員工編號+姓名+籍貫+民族+出生日期+畢業(yè)院校+教育程度+身份證號+政治面貌+健康狀況+婚姻狀況+聯(lián)系方式+工作經歷(數(shù)據(jù)流)+家庭信息(數(shù)據(jù)流)備注:此為人事部門統(tǒng)計所需要的數(shù)據(jù)流表2.4工資參數(shù)數(shù)據(jù)流數(shù)據(jù)流名:工資參數(shù)別名:計算工資需要的各項參數(shù)信息組成:工資稅率+工資項目+考勤獎懲金設置備注:此為工資結算必需的數(shù)據(jù)流表2.5工資單據(jù)數(shù)據(jù)流數(shù)據(jù)流名:工資結算結果別名:根據(jù)計算公式計算出的員工薪水組成:員工編號+姓名+所屬部門+加班獎勵+缺席扣除+出差補貼+基本工資+實際工資+年月備注:此數(shù)據(jù)流為財務部門提供員工薪水發(fā)放信息表2.6考評信息數(shù)據(jù)流數(shù)據(jù)流名:考評信息別名:員工業(yè)績評價和受到的獎勵及處分信息組成:員工編號+姓名+{獎罰內容+獎罰金額}+年月備注:讓公司更了解員工的工作態(tài)度及表現(xiàn)2、數(shù)據(jù)文件表2.7員工數(shù)據(jù)表數(shù)據(jù)文件文件名:員工數(shù)據(jù)表別名:員工各項數(shù)據(jù)的合集組成:員工編號+姓名+籍貫+民族+出生日期+畢業(yè)院校+教育程度+身份證號+政治面貌+健康狀況+婚姻狀況+聯(lián)系方式+工作經歷(表)+家庭信息(表)組織:按員工編號自小到大排序備注:員工各項信息包括多個相關聯(lián)的表表2.8考勤表數(shù)據(jù)文件文件名:考勤表別名:員工考勤信息表組成:員工編號+姓名+所屬部門+加班天數(shù)+放假天數(shù)+出差天數(shù)+早退天數(shù)+遲到天數(shù)+曠工天數(shù)+年月日組織:按年月日,部門,員工編號從小到大排列備注:為工資計算和綜合信息統(tǒng)計提供數(shù)據(jù)3、數(shù)據(jù)項表2.9員工編號數(shù)據(jù)項數(shù)據(jù)項名:員工編號別名:員工在公司的編號取值:正整數(shù)備注:此數(shù)據(jù)項作為很多表之間連接的主鍵。表2.10所屬部門數(shù)據(jù)項數(shù)據(jù)項名:所屬部門別名:員工所在部門取值:字符串備注:取值根據(jù)公司具體部門決定2.3.1功能要求1.系統(tǒng)管理。用戶分為管理人員用戶和普通員工用戶。不同用戶的權限管理,以及用戶信息修改等。2.員工信息管理。包括實現(xiàn)人員的瀏覽,人員的添加,人員的調離,員工的家庭信息管理,員工的教育及工作經歷管理。3.員工薪資結算。工資參數(shù)設定,工資項目的設定與刪除,工資調整,稅率設定,設定工資計算公式,根據(jù)考勤統(tǒng)計和考評統(tǒng)計計算工資并生成工資單表格。4.員工考勤管理。包括日出勤情況統(tǒng)計和月出勤情況統(tǒng)計。5.員工考評管理。由上級部門對員工當月情況進行評定,并設置相對應的獎金與罰金與獎懲的原因。6.部門管理。包括部門的瀏覽,部門的添加,刪除。2.3.2性能要求1.整體結構合理,統(tǒng)一,風格一致,模塊化結構,界面清晰,接口靈活。2.開發(fā)方法,文檔規(guī)范化,便于管理,易于可擴充。3.完善的數(shù)據(jù)輸入,輸出,維護。4.自檢性能高,用戶誤輸、錯輸均有提示。5.容錯性能高,穩(wěn)定性好,安全性強,某個用戶的操作錯誤不會引起整個系統(tǒng)的癱瘓,每一功能的操作都有信息提示以免重復操作,錯誤操作有警告,以便用戶及時改正。 6.系統(tǒng)操作簡便、靈活,管理和維護效率高。2.3.3運行環(huán)境要求硬件要求:處理器:IntelPentinm166MX或更高內存:32M硬盤空間:30GB顯卡:SVGA顯示適配器軟件環(huán)境:操作系統(tǒng):Windows98或更高數(shù)據(jù)庫:SQLserver20003.1總體設計設定方案:管理人員對新招聘來的員工進行基本資料的錄入,對離廠的人員進行刪除,對在職員工可以進行各個方面信息進行綜合管理,并對某些數(shù)據(jù)信息進行數(shù)據(jù)分析,并形成相關信息報表。系統(tǒng)實現(xiàn)了模塊化,把程序劃分成若干個模塊,每個模塊完成一個子功能,把這些模塊集總起來組成一個整體,可以完成指定的功能滿足用戶的要求。采用模塊化原理可以使軟件結構清晰,不僅容易設計也容易閱讀和理解。因為程序錯誤通常局限在有關的模塊及它們之間的接口中,所以模塊化使軟件容易測試和調試,因而有助于提高軟件的可靠性。因為變動往往只涉及少數(shù)幾個模塊,所以模塊化能夠提高軟件的可修改性。信息隱蔽使得一個模塊內包含的信息(過程和數(shù)據(jù))對于不需要這些信息的模塊來說,是不能訪問的。通過實際的需求分析,本系統(tǒng)管理員分為高級管理員和一般操作員兩個權限。管理員對員工的操作信息存于數(shù)據(jù)庫中。系統(tǒng)主要分為七大功能模塊:系統(tǒng)管理模塊完成系統(tǒng)的用戶管理和密碼修改功能;員工信息管理模塊完成員工基本信息、員工學習及工作經歷、員工家庭信息的添加、刪除、修改、查詢等;部門管理模塊實現(xiàn)部門添加、刪除、修改、查詢等;工資管理模塊實現(xiàn)修改工資項目、稅率、創(chuàng)建工資表、工資結算等功能;考勤統(tǒng)計管理模塊完成員工出勤的日統(tǒng)計功能和月統(tǒng)計功能;考評管理模塊完成對員工一個月工作業(yè)績的評定功能;系統(tǒng)介紹模塊用一個powerpoint完成系統(tǒng)功能的詳細介紹。3.2.1數(shù)據(jù)庫設計經過對數(shù)據(jù)流圖的認真研究,結合公司的最實際的情況,以及與管理人員的溝通與交流,深入分析各實體之間的關系:表3.1部門表列名數(shù)據(jù)類型長度是否允許空Dep_Idint4否(主鍵)Dep_Namevarchar40否Describevarchar400是UpperIdint4否表3.2員工教育及工作經歷記錄表列名數(shù)據(jù)類型長度是否允許空Idtinyint1否(主鍵)Emp_Idint4否Start_Datechar10是End_Datechar10是School\Orgvarchar50是Titlevarchar20是表3.3員工家庭信息表列名數(shù)據(jù)類型長度是否允許空Idint1否(主鍵)Emp_Idint4否Namevarchar400否Sexchar2是Agetinyint1是Relationshipvarchar20是WorkingOrgvarchar40是表3.4員工基本信息表列名數(shù)據(jù)類型長度是否允許空Emp_Idint4否(主鍵)Emp_Namevarchar40否Sexchar2是Ntionalityvarchar40是Birthvarchar20是Political_Partyvarchar40是Culture_Levelvarchar40是Martial_Conditionvarchar20是Id_Cardvarchar20是BadgeIdvarchar40是Office_Phonevarchar30是Mobilevarchar20是Family_Placevarchar100是HuKouvarchar100是HireDatevarchar20是Dep_Idint4是PositionVarchar40是Titlevarchar20是Statetinyint1是UpperIdint4是Contract_Durationvarchar20是Memovarchar200是Fillin_Personvarchar30是Fillin_Timevarchar20是表3.5員工考評表列名數(shù)據(jù)類型長度是否允許空EvaMonthchar10否Emp_Idint4否ztEvavarchar200是jlReasonvarchar200是jlAmountsmallint2是cfReasonvarchar200是cfAmountsmallint2是Memovarchar200是表3.6員工考勤表列名數(shù)據(jù)類型長度是否允許空CheckDatechar10否Emp_Idint4否qqDaysdecimal5是ccDaysdecimal5是bjDaysdecimal5是sjDaysdecimal5是kgDaysdecimal5是fdxjDaysdecimal5是nxjDaysdecimal5是dxjDaysdecimal5是cdMinutestinyint1是ztMinutestinyint1是Ot1Daysdecimal5是Ot2Daysdecimal5是Ot3Daysdecimal5是Memovarchar200是表3.7用戶信息表列名數(shù)據(jù)類型長度是否允許空UserNamevarchar40否(主鍵)Pwdvarchar40否User_Typetinyint1否表3.8基本工資表列名數(shù)據(jù)類型長度是否允許空Idint4否(主鍵)EmpIdint4否CreateDatevarchar20是OldSalaryint4是NesSalaryint4是Reasonvarchar200是表3.9工資項目表列名數(shù)據(jù)類型長度是否允許空ItemIdint4否(主鍵)ItemNamevarchar20是ItemTypetinyint1是ItemSumdecimal9是Formulavarchar200是IsVisabletinyint1是Operationtinyint1是3.2.2系統(tǒng)操作流程圖通過前面的幾個環(huán)節(jié),確定了該軟件的具體功能。根據(jù)軟件工程的思想,對模型進行逐步求精。為了幫助進行模塊功能的設計,人機界面設計,畫出了以下系統(tǒng)的操作流程圖:圖3.11系統(tǒng)操作流程圖登陸模塊登陸模塊用戶信息正確?開始N進入主界面選擇菜單當前用戶系統(tǒng)管理員?返回進入功能模塊功能管理功能可用Y查詢功能可用N退出結束修改回修改個人信息查詢刪除新增查詢4.1相關技術介紹設計這樣的一個人事管理系統(tǒng)需要用到很多技術內容。需要用到時下最主流的計算機軟件技術和計算機數(shù)據(jù)庫技術。而且通過現(xiàn)有的這些技術已經完全有可能來實現(xiàn)這個軟件的開發(fā),也就是說在計算機技術發(fā)展到現(xiàn)今階段要完成這套軟件的設計,以及實現(xiàn)這套軟件的各種功能是絕對可行的。設計這套軟件用到了以下這些計算機技術:4.2.1創(chuàng)建工程和主界面設計由粗略到詳細,逐步求精,對系統(tǒng)的具體功能有了一個清楚的把握。系統(tǒng)設計考慮到了功能完整,界面友好,便于與用戶交互,完善的數(shù)據(jù)輸入與輸出,系統(tǒng)操作簡便、靈活,管理和維護效率高輸入錯誤提示,系統(tǒng)介紹等問題。具體的實現(xiàn)過程如下: 首先打開VisualC++6.0創(chuàng)建基于對話框的應用程序工程(MFCAppWizard(exe)),命名為:HrSys,設置對話框的標題為:人事管理系統(tǒng)。然后設計主對話框界面。4.2.2創(chuàng)建ADO類及實現(xiàn)函數(shù)采用ADO來連接SQLserver數(shù)據(jù)源,所以必須添加一個用來連接ADO的類。在系統(tǒng)菜單中選擇“Insert->NewClass”打開“NewClass”窗口,選擇“GenericClass”,然后輸入類名,即完成了類的添加。新的類的定義如下: classADOConn{//定義變量public: //添加一個指向Connection對象的指針: _ConnectionPtrm_pConnection; //添加一個指向Recordset對象的指針: _RecordsetPtrm_pRecordset;//定義方法public: ADOConn(); virtual~ADOConn();//初始化—連接數(shù)據(jù)庫 voidOnInitADOConn(); //執(zhí)行查詢 _RecordsetPtr&GetRecordSet(_bstr_tbstrSQL); //執(zhí)行SQL語句,InsertUpdate_variant_t BOOLExecuteSQL(_bstr_tbstrSQL); voidExitConnect();}; 類實現(xiàn)函數(shù)代碼省略,詳細見系統(tǒng)實現(xiàn)代碼4.2.2創(chuàng)建ADO類及實現(xiàn)函數(shù)采用ADO來連接SQLserver數(shù)據(jù)源,所以必須添加一個用來連接ADO的類。在系統(tǒng)菜單中選擇“Insert->NewClass”打開“NewClass”窗口,選擇“GenericClass”,然后輸入類名,即完成了類的添加。新的類的定義如下: classADOConn{//定義變量public: //添加一個指向Connection對象的指針: _ConnectionPtrm_pConnection; //添加一個指向Recordset對象的指針: _RecordsetPtrm_pRecordset;//定義方法public: ADOConn(); virtual~ADOConn();//初始化—連接數(shù)據(jù)庫 voidOnInitADOConn(); //執(zhí)行查詢 _RecordsetPtr&GetRecordSet(_bstr_tbstrSQL); //執(zhí)行SQL語句,InsertUpdate_variant_t BOOLExecuteSQL(_bstr_tbstrSQL); voidExitConnect();}; 類實現(xiàn)函數(shù)代碼省略,詳細見系統(tǒng)實現(xiàn)代碼。4.2.3為數(shù)據(jù)表建立相關類 利用ADO訪問數(shù)據(jù)庫,最好為每一個表創(chuàng)建一個類,來實現(xiàn)對數(shù)據(jù)的讀取、修改。類的成員變量對應表的列,類的成員函數(shù)就是對表的成員變量和表的操作。[6]僅舉部門表對應的類極其部分函數(shù)實現(xiàn)為例,來闡述這個過程。 類的定義: classCUsers{private: CStringUserName; CStringPwd; intUser_type;public: CUsers(); virtual~CUsers(); CStringGetUserName(); voidSetUserName(CStringcUserName); CStringGetPwd(); voidSetPwd(CStringcPwd); intGetUser_type(); voidSetUser_type(intiUser_type); //數(shù)據(jù)庫操作 intHaveName(CStringcUserName);//判斷指定用戶名是否存在 voidsql_insert(); voidsql_updatePwd(CStringcUserName); voidsql_delete(CStringcUserName); //讀取所有字段值 voidGetData(CStringcUserName);};4.2.4用戶登陸模塊的實現(xiàn)因為人事資料管理牽涉到個人隱私及公司密秘等多方面因素,所以一定要保密,并有專人管理,圖4.2登陸對話框 當前用戶的數(shù)據(jù)應該是全局有效的,在工程的任何一個位置都可以訪問它。所以添加一個全局類用來保存全局變量。該類的具體代碼為: classCGlobal{public: CUserscurUser; CGlobal(); virtual~CGlobal();}; 因為StdAfx.h默認包含在很多程序中,所以在StdAfx.h中添加包含該全局類的頭文件,在程序中就可以直接訪問curUser對象了。但在訪問之前還需要添加如下命令引入外部變量。 externCUserscurUser;登陸對話框如上一章中的登陸對話框所示。在該對話框中打開ClassWizard窗口,為該對話框創(chuàng)建一個類。并為對話框設置響應的變量,其中密碼文本屬性應該設置為“Password”。雙擊“確定”按鈕為控件添加映射函數(shù)如下: voidCLoginDlg::OnOK(){ //將對話框中編輯框的數(shù)據(jù)讀取到成員變量中 UpdateData(TRUE); //檢查數(shù)據(jù)有效性 if(m_UserName=="") { MessageBox("請輸入用戶名"); return; } if(m_Pwd=="") { MessageBox("請輸入密碼"); return; } //定義CUsers對象,用于從表Users中讀取數(shù)據(jù) CUsersuser; user.GetData(m_UserName); //如果讀取的數(shù)據(jù)與用戶輸入數(shù)據(jù)不同,則返回 if(user.UserPwd!=m_Pwd) { MessageBox("用戶信息不正確,無法登錄!"); return; } } //關閉對話框 CDialog::OnOK();}4.2.5密碼修改模塊實現(xiàn) 修改密碼是信息安全的一個重要環(huán)節(jié),所以修改密碼的環(huán)節(jié)必不可少。用戶可以隨時更改自己的密碼,以確保自己的密碼安全和數(shù)據(jù)庫數(shù)據(jù)安全。密碼字符是隱藏的。如下為修改密碼的界面:圖4.3修改密碼對話框首先給對話框建立相應的對話框類,然后編寫對話框實現(xiàn)代碼。對話框實現(xiàn)代碼如下:voidCChangePwdDlg::OnOK(){ //將對話框中編輯框的數(shù)據(jù)讀取到成員變量中 UpdateData(TRUE); //檢查數(shù)據(jù)有效性 if(m_OldPwd=="") { MessageBox("請輸入舊密碼"); return; } if(m_NewPwd1=="") { MessageBox("請輸入新密碼"); return; } if(m_NewPwd1!=m_NewPwd2) { MessageBox("兩次輸入的新密碼不同"); return; } //定義CUsers對象,用于從表Users中讀取數(shù)據(jù) CUsersuser; user.GetData(m_UserName); //如果讀取的數(shù)據(jù)與用戶輸入數(shù)據(jù)不同,則返回 if(user.GetPwd()!=m_OldPwd) { MessageBox("用戶密碼不正確!"); return; } user.SetPwd(m_NewPwd1); user.sql_updatePwd(m_UserName); MessageBox("密碼修改成功,下次登錄請使用新密碼"); CDialog::OnOK();}4.2.6員工信息編輯模塊實現(xiàn) 員工信息是此系統(tǒng)最重要的信息之一。確保員工的信息的完整和正確性對于整個系統(tǒng)都有很重要的意義。此界面力求達到最強的實用性。為了保證信息安全,必須為各模塊設置權限,即系統(tǒng)管理員或人事專員具有管理功能,而普通用戶只有查詢的功能。權限的設置采用將當前用戶不具有的功能按鈕置灰的辦法。 員工信息編輯界面如下:圖4.3編輯員工信息對話框圖4.4員工基本信息編輯對話框 同樣也為對話框建立一個相對應的對話框類。其中上級員工的選擇用一個彈出對話框來選擇。填表人和填表時間為當前用戶用戶名和當前時間,由系統(tǒng)自動讀入。員工相片只能選用BMP圖片,可以選擇在當前主機上任何位置的圖片。 相關的實現(xiàn)代碼在這里就省略不寫,具體可見如下代碼:voidCEmpEditDlg::OnOK(){ //TODO:Addextravalidationhere UpdateData(TRUE); CEmployeesemp; //將用戶輸入的數(shù)據(jù)賦值到對象dep中,為更新數(shù)據(jù)庫做準備 emp.SetEmp_Name(m_EmpName); intindex; index=m_Sex.GetCurSel(); if(index==0) emp.SetSex("男"); else emp.SetSex("女"); emp.SetNationality(m_Nation); emp.SetBirth(m_Birth.Format("%Y-%m-%d")); emp.SetPolitical_Party(m_Political); emp.SetCulture_Level(m_Culture); emp.SetMarital_Condition(m_Marital); emp.SetFamily_Place(m_Family); emp.SetId_Card(m_Idcard); emp.SetBadgeId(m_Badge); emp.SetOffice_phone(m_Office); emp.SetMobile(m_Mobile); emp.SetFiles_Keep_Org(m_File); emp.SetHukou(m_Hukou); emp.SetHireDate(m_HireDate.Format("%Y-%m-%d")); emp.SetDep_Id(DepId); emp.SetPosition(m_Position); emp.SetTitle(m_Title); emp.SetState(m_State.GetCurSel()+1); emp.SetUpperId(UpperId); emp.SetContract_Duration(m_Contract); emp.SetMemo(m_Memo); //自動保存填表人和填表時間 m_Fillperson=curUser.GetUserName(); CTimet=CTime::GetCurrentTime(); m_Filltime=t.Format("%Y-%m-%d"); emp.SetFillin_Person(m_Fillperson); emp.SetFillin_Time(m_Filltime); if(EmpId==0)//表示插入數(shù)據(jù) //判斷部門名稱是否存在 if(emp.HaveName(m_EmpName)==1) { MessageBox("員工姓名已經存在,請重新輸入!"); return; } else //返回插入記錄的編號 emp.sql_insert(); else { //如果用戶修改了部門名稱,則判斷新部門名稱是否存在 if(m_EmpName!=EmpName) { if(emp.HaveName(m_EmpName)==1) { MessageBox("員工姓名已經存在,請重新輸入!"); return; } } //根據(jù)DepId的值更新記錄 CStringcEmpId; cEmpId.Format("%d",EmpId); emp.sql_update(cEmpId)} CDialog::OnOK();}4.2.7考勤管理模塊的實現(xiàn) 考勤管理模塊的實現(xiàn)分為日考勤信息管理和月考勤信息統(tǒng)計。在日考勤信息管理中必須先選擇部門在表中出現(xiàn)相應的員工的考勤記錄。選擇記錄,點擊“設置”可以設置和修改考勤信息,點擊“月度考勤”可以統(tǒng)計每月的考勤信息。權限的設置與4.2.6類似。 考勤管理對話框界面如下所示:圖4.5考勤信息管理對話框相關的實現(xiàn)代碼如下所示:BOOLCCheckManDlg::OnInitDialog(){ CDialog::OnInitDialog(); //TODO:Addextrainitializationhere //權限控制,如果不是系統(tǒng)管理員則設置和月度考勤按鈕置灰 if(curUser.GetUser_type()!=1) { GetDlgItem(IDC_SET_BUTTON)->EnableWindow(FALSE); GetDlgItem(IDC_SUM_BUTTON)->EnableWindow(FALSE); } CTimet=CTime::GetCurrentTime();//讀取當前系統(tǒng)日期 m_date=t; iDepId=0; m_DepName=""; UpdateData(FALSE); Refresh_Data(); returnTRUE;//returnTRUEunlessyousetthefocustoacontrol //EXCEPTION:OCXPropertyPagesshouldreturnFALSE}Refrsh_Data()函數(shù)的功能是設置ADOData控件的記錄源,從而更新DataGrid控件中顯示的內容。相關的實現(xiàn)代碼如下所示:BOOLCEvaManDlg::OnInitDialog(){ CDialog::OnInitDialog(); //TODO:Addextrainitializationhere //權限控制,如果不是系統(tǒng)管理員則設置置灰 if(curUser.GetUser_type()!="系統(tǒng)管理員") GetDlgItem(IDC_SET_BUTTON)->EnableWindow(FALSE); CTimet=CTime::GetCurrentTime();//讀取當前系統(tǒng)日期 intiYear,iMonth; iYear=t.GetYear(); iMonth=t.GetMonth(); m_year.SetCurSel(iYear-2000); m_month.SetCurSel(iMonth-1); UpdateData(FALSE); Refresh_Data(); returnTRUE;//returnTRUEunlessyousetthefocustoacontrol //EXCEPTION:OCXPropertyPagesshouldreturnFALSE} 詳細的實現(xiàn)代碼如下所示:BOOLCSalaryManDlg::OnInitDialog(){ CDialog::OnInitDialog(); //讀取當前系統(tǒng)日期 CTimet=CTime::GetCurrentTime(); //從系統(tǒng)時間中獲取年和月的信息 intiYear,iMonth; iYear=t.GetYear(); iMonth=t.GetMonth(); //設置年和月控件值 m_year.SetCurSel(iYear-2000); m_month.SetCurSel(iMonth-1); UpdateData(FALSE); //根據(jù)條件查詢調薪記錄 Refresh_Data(); returnTRUE;//returnTRUEunlessyousetthefocustoacontrol //EXCEPTION:OCXPropertyPagesshouldreturnFALSE}4.2.10部門管理模塊的實現(xiàn)部門管理模塊設計中,用“部門信息”作為樹控件的根結點。采用遞歸算法實現(xiàn)部門信息樹的顯示。添加代碼之前需要先導入需要的“Icon”文件。為了保存所選部門信息,必須先在對話框的類中添加公共變量DepId,DepName。當用戶單擊“確定”時,將執(zhí)行OnOk()函數(shù),該函數(shù)從Tree控件中讀取選擇的部門的信息,然后將其賦值到公共變量DepId,DepName,其他模塊可以通過訪問此公共變量來獲得所選擇的部門信息。部門管理模塊的權限設置與4.2.6類似。圖4.8部門管理對話框 相關的實現(xiàn)代碼如下所示:voidCDepManDlg::AddtoTree(HTREEITEMm_node,intUpperId){ //使用遞歸方法將部門添加到TreeView控件中 inti; HTREEITEMm_child; //依次訪問dep對象中的部門數(shù)組,查找滿足條件的記錄添加到Tree控件中 for(i=0;i<dep.a_UpperId.GetSize();i++) { //打開a_UpperId數(shù)組中等于UpperId的元素 //表明此元素為當前根節(jié)點的子節(jié)點,因此將其添加到Tree控件中,新節(jié)點為m_child //使用SetItemData()函數(shù)將部門編號值也保存在新節(jié)點中 //以新節(jié)點為根節(jié)點,再次遞歸調用AddtoTree()函數(shù),將其子節(jié)點添加到Tree控件中 if(UpperId==atoi(dep.a_UpperId.GetAt(i))) { m_child=m_tree.InsertItem(dep.a_DepName.GetAt(i),m_node); m_tree.SetItemData(m_child,atol(dep.a_DepId.GetAt(i))); AddtoTree(m_child,atoi(dep.a_DepId.GetAt(i))); }4.2.3為數(shù)據(jù)表建立相關類 利用ADO訪問數(shù)據(jù)庫,最好為每一個表創(chuàng)建一個類,來實現(xiàn)對數(shù)據(jù)的讀取、修改。類的成員變量對應表的列,類的成員函數(shù)就是對表的成員變量和表的操作。[6]僅
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥理學知識培訓課件
- 論文寫作指南
- 2025年度餐飲加盟連鎖經營合作協(xié)議書3篇
- 2025年度廣告?zhèn)髅讲鸹锖贤瑓f(xié)議4篇
- 專業(yè)藝術教師勞務合作合同(2024版)一
- 二零二四醫(yī)院護士勞動合同范本:護理危機管理與責任界定3篇
- 2025年茶山茶葉采摘與加工承包經營合同4篇
- 2025年度快遞快遞業(yè)務市場營銷承包合同3篇
- 2025年度餐飲行業(yè)節(jié)能減排合作協(xié)議范本3篇
- 2025年度情侶忠誠保障不分手協(xié)議書電子版下載3篇
- 直播帶貨助農現(xiàn)狀及發(fā)展對策研究-以抖音直播為例(開題)
- 腰椎間盤突出疑難病例討論
- 《光伏發(fā)電工程工程量清單計價規(guī)范》
- 2023-2024學年度人教版四年級語文上冊寒假作業(yè)
- (完整版)保證藥品信息來源合法、真實、安全的管理措施、情況說明及相關證明
- 營銷專員績效考核指標
- 陜西麟游風電吊裝方案專家論證版
- 供應商審核培訓教程
- 【盒馬鮮生生鮮類產品配送服務問題及優(yōu)化建議分析10000字(論文)】
- 肝硬化心衰患者的護理查房課件
- 2023年四川省樂山市中考數(shù)學試卷
評論
0/150
提交評論