九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

考勤管理系統(tǒng)的設計畢業(yè)設計論文.doc

上傳人:good****022 文檔編號:116773005 上傳時間:2022-07-06 格式:DOC 頁數(shù):11 大小:481.52KB
收藏 版權申訴 舉報 下載
考勤管理系統(tǒng)的設計畢業(yè)設計論文.doc_第1頁
第1頁 / 共11頁
考勤管理系統(tǒng)的設計畢業(yè)設計論文.doc_第2頁
第2頁 / 共11頁
考勤管理系統(tǒng)的設計畢業(yè)設計論文.doc_第3頁
第3頁 / 共11頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《考勤管理系統(tǒng)的設計畢業(yè)設計論文.doc》由會員分享,可在線閱讀,更多相關《考勤管理系統(tǒng)的設計畢業(yè)設計論文.doc(11頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、畢業(yè)設計(論文)考勤管理系統(tǒng)的設計與實現(xiàn)論文作者姓名:申請學位專業(yè):計算機科學與技術申請學位類別:指導教師姓名(職稱):論文提交日期:第 1 頁 共 24 頁考勤管理系統(tǒng)的設計與實現(xiàn)摘 要隨著現(xiàn)代科學技術的發(fā)展,越來越多的公司和企業(yè)對職工的考勤都實行了信息化管理,使用計算機系統(tǒng)代替復雜的手工方式來管理考勤事務。考勤管理系統(tǒng)可以有效地管理公司員工的出勤情況,規(guī)范人事制度管理,保證公司正常的工作,是人力資源管理的重要組成部分。系統(tǒng)的開發(fā)主要包括后臺數(shù)據(jù)庫的建立,維護以及前端應用程序的開發(fā)兩個方面,主要模塊包括基本信息管理模塊,考勤信息管理模塊,統(tǒng)計查詢模塊和系統(tǒng)用戶管理模塊。系統(tǒng)是使用Visual

2、 C+開發(fā)語言,使用Microsoft Visual Studio 6.0作為工具軟件,數(shù)據(jù)庫為SQL Server 2000。系統(tǒng)采用目前比較流行的ADO數(shù)據(jù)訪問技術,并將每個數(shù)據(jù)庫表的字段和操作封裝到類中,它使應用程序的各個窗口都能夠共享對表的操作,不需要重復編碼,使程序更加易于維護,從而將面向?qū)ο蟮某绦蛟O計思想應用到數(shù)據(jù)庫應用程序中。關鍵詞:考勤管理;人力資源;數(shù)據(jù)庫;數(shù)據(jù)訪問技術Design and Realization of Attendance Management SystemAbstractAlong with the development of the modern sc

3、ience and technology, more and more companies and enterprises implemented the information management to the staffs checking attendance, and use computer system instead of the complex manual way to manage the checking attendance business. The checking attendance management system may effectively mana

4、ge the staffs going out on duty situation, Standard personnel system management, Guarantees the company normal work. It is the important part of human resources management The development of this system mainly includes two aspects: the establishment of the backstage database and the development of t

5、he front-side application. This system contains following several modules: the basic information management module, the attendance information management module, the statistical inquiry module and the system user administration module. Visual C+ and SQL Server2000 are used in the development of the

6、system. The system uses the popular ADO technology, and encapsulates the fields and the operations of each table into some classes. It causes the operation which the application procedure each window all can share synchronizes tables. It has not repeat codes, and makes the application to be easier t

7、o maintain. By this way, the idea of object-oriented programming will be applied in the database application.Key words: Attendance management; Human resources; Database; Data access technology目 錄論文總頁數(shù):26頁1引言11.1課題背景11.2本課題研究意義11.3本課題研究方法12開發(fā)工具22.1Visual C+6.022.2SQL Server 200023考勤管理系統(tǒng)的設計33.1需求分析33.

8、2功能模塊構成33.3數(shù)據(jù)庫結(jié)構設計44考勤管理系統(tǒng)的實現(xiàn)64.1系統(tǒng)登陸功能的實現(xiàn)64.2基本信息管理模塊74.2.1節(jié)假日信息管理74.2.2部門信息管理84.2.3員工信息管理94.3考勤管理模塊114.3.1出勤信息管理114.3.2加班信息管理134.3.3請假信息管理144.3.4出差信息管理164.4統(tǒng)計查詢模塊174.4.1日考勤統(tǒng)計表174.4.2月考勤統(tǒng)計表184.4.3當日考勤人員列表204.5用戶管理模塊21結(jié) 論23參考文獻24致 謝25聲 明261 引言1.1 課題背景無論公司還是企業(yè),都會涉及到對職工的考勤管理??记诠芾碓谏a(chǎn)管理過程中充當著一個十分重要角色,考勤

9、管理的效率對生產(chǎn)的效果起著舉足輕重的作用。隨著現(xiàn)代科學技術的發(fā)展,越來越多的公司和企業(yè)對職工的考勤管理都實行了信息化管理,使用計算機系統(tǒng)代替繁瑣冗余的手工方式來管理考勤事務。傳統(tǒng)的手工方式不僅效率低下,而且容易出錯,采用計算機技術進行貨物管理可以克服手工管理的缺點,將人們從煩雜的勞動中解放出來。先進的考勤管理思想在商業(yè)中實現(xiàn)就成為了一個時代的目標。公司集團非常急需一套既有先進考勤方法又適合國內(nèi)大商業(yè)的考勤管理系統(tǒng),作為實現(xiàn)目標和提高現(xiàn)有水平的一種重要手段??记诠芾硐到y(tǒng)是一個公司不可缺少的部分,它的執(zhí)行對于公司的決策者和管理者來說是很有幫助的,隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的

10、功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用?;诖耍_發(fā)了一套考勤管理系統(tǒng),其主要目的是為了統(tǒng)計員工的遲到、早退、曠工、事病假、加班以及出差情況,這些信息將直接作為公司對員工的獎懲、提升以及培訓的依據(jù)。1.2 本課題研究意義隨著計算機技術和網(wǎng)絡技術的發(fā)展,計算機網(wǎng)絡給人們帶來了很多便利,同樣考勤管理系統(tǒng)也是如此,它主要是為了滿足單位日常的考勤管理的需求,擴大工作空間,使單位管理過程更加快速、安全、高。論文系統(tǒng)規(guī)劃設計過程是從單位的業(yè)務流程出發(fā)展開分析,從而完成系統(tǒng)各個功能模塊的分析過程,以及完成部分功能模塊的設計,實現(xiàn)了數(shù)據(jù)庫信息的瀏覽、錄入、查詢、修改、刪除等各

11、種操作,通過統(tǒng)一界面使得系統(tǒng)操作更為靈活、方便便捷。隨著計算機的普及和計算機科學技術的飛速發(fā)展,人們開始越來越多地利用計算機解決實際問題。考勤管理是商業(yè)信息管理的重要部分,面對大量的商品信息,采用人力處理將浪費大量的時間、人力和物力,而且統(tǒng)計數(shù)據(jù)麻煩。因此,開發(fā)一個界面友好,易于操作的考勤管理軟件進行自動化處理變得十分重要,這正是本系統(tǒng)開發(fā)的目的和意義。通過此考勤管理系統(tǒng)的開發(fā)鍛煉了學生的實際動手能力對以后的學習和工作能力的培養(yǎng)也具有重要意義。1.3 本課題研究方法開發(fā)數(shù)據(jù)庫管理信息系統(tǒng)需要選擇兩種工具,即前臺開發(fā)語言和后臺數(shù)據(jù)庫。一般開發(fā)C/S結(jié)構的應用程序時,前臺開發(fā)語言通??梢赃x擇Vis

12、ual Basic、Visual C+、Delphi和Power Builder等,如果開發(fā)網(wǎng)絡應用程序,則需要選擇一個網(wǎng)絡數(shù)據(jù)庫系統(tǒng),如Access、Oracle和IBM DB2等。本設計是使用Visual C+ 6.0的開發(fā)工具,使用Microsoft SQL Server 2000作為后臺數(shù)據(jù)庫開發(fā),采用了最新的數(shù)據(jù)庫訪問技術ADO(ActiveX Data Objects),是提供對各種數(shù)據(jù)庫的標準接口。本次畢業(yè)設計應首先分析考勤管理系統(tǒng)的相關功能,結(jié)合本次畢業(yè)設計的相關要求寫出需求分析;其次,綜合運用以前所學的相關知識,在設計中以需求分析為基礎,寫出系統(tǒng)開發(fā)計劃、實現(xiàn)流程及相關問題的

13、實現(xiàn)方法;同時,在開發(fā)設計與實現(xiàn)中,要保存好相關的設計文檔。2 開發(fā)工具2.1 Visual C+6.0Visual C+6.0 是微軟公司1998年推出的產(chǎn)品,是基于Windows操作系統(tǒng)的編程工具,是Microsoft Visual Studio 6.0的組件之一,是一種面向?qū)ο蟪绦蛟O計語言。它采用一種巧妙的方法將Windows的編程復雜性封裝起來,編程者可以比較輕松地進行Windows應用程序的設計。Visual C+ 6.0繼承了以前版本的優(yōu)點,為用戶提供了更為友好的可視化開發(fā)環(huán)境。它提供了強大的編譯能力以及良好的界面操作性,具有功能強大、通用性強和易于擴充等特點,越來越多的被用來當作

14、客戶/服務器應用程序的前臺卡法工具,而且能夠?qū)indows 9x、Windows NT 以及Windows 2000 下的C+程序設計提供完善的編程環(huán)境。同時Visual C+6.0 對網(wǎng)絡、數(shù)據(jù)庫等方面的編程也都提供相應的環(huán)境支持。幾乎所有世界級的軟件,從業(yè)界領先的Web瀏覽器到面向任務的企業(yè)應用,都是使用Microsoft Visual C+開發(fā)系統(tǒng)來開發(fā)的。要用C+來開發(fā)Windows和Web上的高性能應用程序,Visual C+是效率最高的首選工具。Visual C+ 6.0在不犧牲靈活性、性能和控制力度的同時,給C+帶來了更高水平的生產(chǎn)效率。除了IntelliSense Techn

15、ology(智能感應技術)和Edit and Continue(即編即調(diào))等顯著縮短開發(fā)時間的新特性外,Visual C+ 6.0還為Web開發(fā)和企業(yè)開發(fā)提供更良好的支持。有了Microsoft Visual C+ 6.0企業(yè)版,可以創(chuàng)建出面向Windows和Web的多層次可調(diào)節(jié)的應用程序。有了它為Internet、SQL和COM開發(fā)所提供的優(yōu)化了的支持,可以大大提高您的開發(fā)效率。2.2 SQL Server 2000Microsoft SQL Server 2000是一套完整的數(shù)據(jù)庫和分析產(chǎn)品,可迅速提供下一代可擴展電子商務、各種業(yè)務和數(shù)據(jù)倉庫解決方案。Microsoft SQL Serve

16、r 2000是一個分布式的關系型數(shù)據(jù)庫管理系統(tǒng),具有客戶機/服務器體系結(jié)構,采用了Transact-SQL的SQL語言在客戶機與服務器間傳遞客戶機的請求與服務器的處理結(jié)果。它一種應用廣泛的數(shù)據(jù)庫管理系統(tǒng),具有許多顯著的優(yōu)點:易用性、適合分布式組織的可伸縮性、用于決策支持的數(shù)據(jù)倉庫功能、與許多其他服務器軟件緊密關聯(lián)的集成性、良好的性價比等。性能、可伸縮性及可靠性是基本要求,而進入市場時間也非常關鍵。除這些核心企業(yè)品質(zhì)外,SQL Server 2000 還為您的數(shù)據(jù)管理與分析帶來了靈活性,允許單位在快速變化的環(huán)境中從容響應,從而獲得競爭優(yōu)勢。從數(shù)據(jù)管理和分析角度看,將原始數(shù)據(jù)轉(zhuǎn)化為商業(yè)智能和充分利

17、用 Web帶來的機會非常重要。Microsoft SQL Server 2000是眾多數(shù)據(jù)庫開發(fā)軟件的一種,它的版本包括企業(yè)版,標準版,個人版,Windows CE版,開發(fā)版和評估版。不同版本的功能和用戶群不同。SQL是訪問數(shù)據(jù)庫的標準語言,無論后臺數(shù)據(jù)庫是SQL Server,Oracle,還是IBM DB2,甚至是小型數(shù)據(jù)庫ACCESS,都可以使用標準的SQL語句對它進行操作。在這里,是采用SQL Server 2000是作為后臺數(shù)據(jù)庫。3 考勤管理系統(tǒng)的設計3.1 需求分析考勤管理系統(tǒng)的用戶是各單位負責考勤管理的員工和領導,它可以有效的管理公司單位員工的出勤情況,規(guī)范人事制度的管理。管理

18、員可以創(chuàng)建用戶,修改用戶信息以及刪除用戶,和對公司一些員工信息的編輯等。該系統(tǒng)包括基本信息管理,考勤信息管理,統(tǒng)計查詢和用戶管理等主要模塊。每一個功能模塊都需要針對不同的表來完成相同的數(shù)據(jù)庫操作,即添加記錄,修改記錄,刪除記錄以及查詢顯示記錄信息。具體功能有以下幾個方面。1、基本信息的添加,修改,刪除和查詢。節(jié)本信息管理包括節(jié)假日日期設置,部門信息管理和員工信息管理。2、考勤信息管理包括出勤管理,加班管理,請假管理和出差管理等功能。3、統(tǒng)計查詢功能包括日考勤統(tǒng)計表,月考勤統(tǒng)計表和當日缺勤人員列表。4、用戶管理包括Admin用戶管理和其他用戶管理。3.2 功能模塊構成考勤管理系統(tǒng)由基本信息管理模

19、塊、考勤信息模塊、統(tǒng)計查詢模塊和用戶管理模塊四個主要功能模塊構成?;拘畔⒐芾砟K,包括節(jié)假日日期設置,部門信息管理緩和員工信息管理。節(jié)假日日期信息只包括具體的日期數(shù)據(jù),部門信息包括部門名稱和部門功能的描述,員工信息包括員工姓名,性別,生日,身份證號等??记谛畔ǔ銮冢影?,請假,出差等信息。出勤信息包括全勤,休息,曠工,遲到和早退等信息;加班信息包括員工信息,加班時間,加班類型和加班描述;請假信息包括員工信息,請假類型和原因;出差信息包括員工信息和出差原因。統(tǒng)計查詢模塊包括日考勤統(tǒng)計表,月考勤統(tǒng)計表和當日缺勤人員列表。日考勤統(tǒng)計表包括員工姓名,考勤日期,是否全勤,是否請假等信息,月考勤統(tǒng)計

20、表包括員工姓名,考勤月份,全勤天數(shù),出差天數(shù)等信息,當日缺勤人員列表包括系統(tǒng)當前日期缺勤員工的姓名,所在部門和聯(lián)系電話等信息。用戶管理模塊用戶包括Admin用戶和普通用戶。Admin用戶可以修改自己的密碼,創(chuàng)建修改和刪除普通用戶信息。普通用戶只能修改自身的信息功能模塊構成如圖1:圖1 功能模塊3.3 數(shù)據(jù)庫結(jié)構設計考勤管理系統(tǒng)數(shù)據(jù)庫采用Microsoft SQL SERVER 2000,在使用數(shù)據(jù)庫過程中,接觸最多的就是數(shù)據(jù)庫中的表,表是數(shù)據(jù)存儲的地方,是數(shù)據(jù)庫最重要的部分。這個系統(tǒng)數(shù)據(jù)庫表由6個表構成,具體如下。CheckInfo表是記錄考勤信息的,記錄員工遲到,早退,全勤,曠工,病假,事假

21、,休息,出差等信息。表1 CheckInfo字 段數(shù)據(jù)類型長 度是否允許為空字段描述CheckDatechar10否考勤日期EmpIdint4否員工編號QuanQinchar2是全勤ChuChaichar2是出差BingJiachar2是病假ShiJiachar2是事假KuangGongchar2是曠工XiuXichar50是休息ChiDaochar50是遲到Zaotuichar50是早退Memovarchar200是備注DepInfo表是記錄部門信息的。DepId為主鍵。表2 DepInfo字 段數(shù)據(jù)類型長 度是否允許為空字段描述DepIdint4否部門編號DepNamevarchar50否

22、部門名稱Describesvarchar250是描述UIDint4否總的編號EmpInfo表是記錄員工的基本信息。管理員可以查看員工信息,添加員工信息需要用的表。EmpId是主鍵。表3 EmpInfo字 段數(shù)據(jù)類型長 度是否允許為空字段描述EmpIdint4否編號Namevarchar50否姓名Sexchar2是性別Birthdayvarchar20是生日IdCardvarchar20是身份證號OfficePhonevarchar30是辦公電話Mobilevarchar30是手機電話HireDateInt 4是到崗日期DepIdvarchar40是部門編號Missionvarchar50是工作

23、崗位Dutyvarchar20是職務 Memo varchar 200 是 備注信息HolidaySet表是設置節(jié)假日信息的。Id為主鍵。表4 HolidaySet字 段數(shù)據(jù)類型長 度是否允許為空字段描述Idint4否編號HolidayDatechar10否節(jié)假日期HolidayNamevarchar50是節(jié)假名稱OverTime表是記錄加班信息的。表5 OverTime字 段數(shù)據(jù)類型長 度是否允許為空字段描述otDateChar10否加班日期EmpIdint4否員工編號otHoursmallint2否加班時間otTypevarchar50否加班類型Describesvarchar200是描述

24、UserInfo表是記錄用戶信息的,包括用戶名和密碼。表6 UserInfo字 段數(shù)據(jù)類型長 度是否允許為空字段描述UserNamevarchar40否用戶名Passwdvarchar40是密碼UserTypeint4否用戶類型4 考勤管理系統(tǒng)的實現(xiàn)4.1 系統(tǒng)登陸功能的實現(xiàn)用戶要使用本系統(tǒng),首先必須通過系統(tǒng)的身份認證。如果用戶名錯誤或者不存在,密碼錯誤3次后,對話框自動關閉。圖2 登陸對話框具體代碼如下:void CLoginDlg:OnOK() UpdateData(TRUE); /將對話框中編輯框的數(shù)據(jù)讀取到成員變量中if(m_User = )/ 沒有輸入用戶名MessageBox(請輸

25、入用戶名, 信息提示);GetDlgItem(IDC_USER_EDIT)-SetFocus();return;CUserInfo User; / 定義用戶信息表變量if(!User.IsExistUser(m_User) / 判斷用戶是否存在count+;if(count SetFocus();return;elseMessageBox(重試次數(shù)已到,不能再輸入用戶名和密碼,即將退出系統(tǒng)!, 用戶名錯誤, MB_ICONEXCLAMATION);exit(0);User.GetInfo(m_User); / 判斷密碼是否正確if(User.Passwd != m_Passwd)/同用戶判斷C

26、Dialog:OnOK();/ 關閉對話框4.2 基本信息管理模塊基本信息管理模塊包括節(jié)假日信息管理,部門信息管理和員工信息管理。4.2.1 節(jié)假日信息管理節(jié)假日信息管理,首先對節(jié)假日信息的編輯,判斷節(jié)假日記錄是否存在,存入數(shù)據(jù)。在從HolidaySet中讀取所有節(jié)假日記錄,在對記錄進行操作,即添加,修改和刪除。普通用戶是不能打開這一塊信息的,節(jié)假日管理對他們是不可見的。圖3 節(jié)假日信息框部分代碼如下:BOOL CHolidayManDlg:OnInitDialog()/ 初始化CDialog:OnInitDialog();RefreshData();void CHolidayManDlg:R

27、efreshData()/ 更新數(shù)據(jù)UpdateData(TRUE);CString cSource = SELECT Id, HolidayDate AS 節(jié)假日, HolidayName AS 名稱 FROM HolidaySet;/ 設置Select語句m_Adodc.SetRecordSource(cSource); /刷新ADO Data控件的記錄源m_Adodc.RefreshData()void CHolidayManDlg:OnAddButton() /添加按鈕UpdateData(TRUE);CHolidayEditDlg dlg; / 初始化HolidayEditDlg對話

28、框中的變量if (dlg.DoModal() = IDOK)RefreshData();void CHolidayManDlg:OnModiButton()/ 修改按鈕CHolidayEditDlg dlg; / 設置HolidayEditDlg對話框中的變量if (dlg.DoModal() = IDOK) / 打開HolidayEditDlg對話框RefreshData();void CHolidayManDlg:OnDelButton()/ 刪除按鈕cur.SqlDelete(m_Datagrid.GetItem(0);RefreshData();4.2.2 部門信息管理部門信息管理模塊

29、包括部門信息編輯對話框,部門信息管理對話框和部門信息選擇對話框。部門編輯主要是用來添加和修改部門信息。部門信息管理對話框,是系統(tǒng)管理員進行的操作,如果當前用戶不是系統(tǒng)管理員,則添加,修改,和刪除等按鈕是不可以用,他們沒有相關的權限。在刪除部門的時候要對部門信息進行判斷,如果部門是根節(jié)點,包含下一級部門和員工時不能刪除。部門信息的選擇,是為了方便用戶選擇部門,以后的其他模塊程序可以通過此程序來獲取選擇的部門信息。圖4 部門圖主要代碼如下:BOOL CDepManDlg:OnInitDialog() /初始化CDialog:OnInitDialog();void CDepManDlg:AddtoT

30、ree(HTREEITEM m_node, int UpperId)/使用遞歸方法將部門添加到TreeView控件中int i;HTREEITEM m_child;if(UpperId = atoi(dep.a_UID.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);void CDepManDlg:OnAddBu

31、tton() /添加按鈕HTREEITEM node; /用于保存當前選擇的節(jié)點node = m_tree.GetSelectedItem(); /取得當前選擇的節(jié)點/ 刪除按鈕void CDepManDlg:OnDelButton() HTREEITEM node; /用于保存當前節(jié)點node = m_tree.GetSelectedItem(); /取得當前節(jié)點/彈出對話框,要求用戶確認是否刪除。如果用戶單擊“是”按鈕,則刪除if (MessageBox(是否刪除當前部門?, 請確認, MB_YESNO) = IDYES)dep.SqlDelete(cDepId); /刪除表Departm

32、ents中的指定記錄m_tree.DeleteItem(node); /刪除Tree控件中的當前節(jié)點4.2.3 員工信息管理編輯員工基本信息對話框用來添加和修改員工信息,主要包括員工的姓名,性別,出生日期,身份證號,到崗日期,辦公電話,手機電話,工作崗位,職務和描述信息。員工管理則是通過選擇部門信息,添加,修改和刪除員工信息 這里可以查看每個部門下的員工信息。同樣普通用戶只能查看員工信息,不能對其信息進行添加,修改和刪除等操作。圖5 員工信息圖主要代碼如下:void CEmpManDlg:RefreshData()UpdateData(TRUE);int iDepId; /從Tree控件中讀取

33、部門編號信息HTREEITEM node;node = m_tree.GetSelectedItem();iDepId = m_tree.GetItemData(node);CString cDepId; /根據(jù)部門編號設置SELECT語句cDepId.Format(%d, iDepId);/ 設置SELECT語句CString cSource = SELECT EmpId, Name AS 姓名, Sex AS 性別, Birthday AS 生日, IdCard AS 身份證號, OfficePhone AS 辦公電話, Mobile AS 手機號碼, HireDate AS 到崗日期,

34、Mission AS 工作崗位, Duty AS 職務, Memo AS 備注 FROM EmpInfo e, DepInfo d WHERE e.DepId = d.DepId;void CEmpManDlg:OnAddButton()/ 添加按鈕UpdateData(TRUE);CTime CurrentTime = CTime:GetCurrentTime();/ 添加員工時,將日期控件設置為當天if(dlg.DoModal()=IDOK)RefreshData();void CEmpManDlg:OnModiButton()/ 修改按鈕UpdateData(TRUE);CEmpInfo

35、 emp; / 讀取選擇員工的記錄emp.GetInfo(m_Datagrid.GetItem(0);CEmpEditDlg dlg; / 將員工數(shù)據(jù)讀取到編輯對話框中if(dlg.DoModal()=IDOK)RefreshData();void CEmpManDlg:OnDelButton()/ 刪除按鈕CEmpInfo emp;emp.SqlDelete(m_Datagrid.GetItem(0);RefreshData();4.3 考勤管理模塊考勤管理模塊主要實現(xiàn)了出勤信息管理,加班信息管理,請假信息管理和出差信息管理。4.3.1 出勤信息管理出勤信息編輯對話框中,首先單擊選擇部門按鈕

36、,在左側(cè)的表格中將顯示選擇部門中的所有員工信息。選擇一個員工,會在右側(cè)下方顯示他的出勤狀態(tài)。選擇出勤狀態(tài),然后單擊確定按鈕,可以保存指定員工的出勤情況。出勤管理對話框中,根據(jù)左邊的部門,列出各個部門中的員工及其員工的出勤信息,出勤時間,是否全勤,是否出差,是否遲到,是否早退,是否曠工等。用戶可以根據(jù)實際的情況進行具體的操作,添加,修改和刪除。圖6 出勤信息主要代碼如下:void COnDutyManDlg:RefreshData()UpdateData(TRUE);int iDepId; /從Tree控件中讀取部門編號信息HTREEITEM node;node = m_tree.GetSele

37、ctedItem();iDepId = m_tree.GetItemData(node);CString cDepId; /根據(jù)部門編號設置SELECT語句cDepId.Format(%d, iDepId);/ 設置SELECT語句CString cSource = SELECT c.EmpId AS 員工編號, e.Name AS 姓名, c.CheckDate AS 出勤日期, c.QuanQin AS 是否全勤, c.XiuXi AS 是否休息, c.KuangGong AS 是否曠工, c.ChiDao AS 是否遲到, c.ZaoTui AS 是否早退 FROM CheckInfo

38、c, EmpInfo e, DepInfo d WHERE c.EmpId = e.EmpId AND e.DepId = d.DepId;m_Adodc.SetRecordSource(cSource); /刷新ADO Data控件的記錄源m_Adodc.Refresh();void COnDutyManDlg:OnAddButton()/ 添加按鈕.void COnDutyManDlg:OnModiButton()/修改按鈕void COnDutyManDlg:OnDelButton()/刪除按鈕程序調(diào)用m_tree.GetSelectedItem()函數(shù)獲取當前選擇的部門接點數(shù)據(jù),并使用

39、GetItemData(node)函數(shù)獲取部門編號。然后根據(jù)選擇的部門編號設置SELECT語句,從表CheckInfo,表EmpInfo和表DepInfo中獲取部門中所有員工的出勤記錄。4.3.2 加班信息管理加班信息編輯對話框主要是對員工的加班情況的添加和修改。首先點擊選擇部門,在左側(cè)則列出所有部門及其員工信息,選擇一個員工,會在右側(cè)下方顯示他的加班狀態(tài)。選擇加班狀態(tài),包括加班時數(shù),加班原因和加班類型,然后單擊確定按鈕,可以保存指定員工的加班情況。加班信息管理對話框中,通過點擊左邊的部門,列出各個部門中的員工及其員工的加班信息,加班時間,加班時數(shù),加班原因和加班類型等。用戶可以根據(jù)實際的情況

40、進行具體的操作,添加,修改和刪除。圖7 加班信息框部分代碼如下:void COvertimeManDlg:OnAddButton() /添加按鈕COvertimeEditDlg dlg;CurrentTime = CTime:GetCurrentTime();dlg.otDate = CurrentTime.Format(%Y-%m-%d);if (dlg.DoModal() = IDOK)RefreshData();void COvertimeManDlg:OnModiButton()/ 修改按鈕if (m_Adodc.GetRecordset().GetEof()MessageBox(請選

41、擇要修改的記錄!);return;CEmpInfo emp; / 根據(jù)員工編號得到員工信息emp.GetInfo(m_Datagrid.GetItem(0);CString cDepId; / 根據(jù)部門編號得到部門信息cDepId.Format(%d, emp.DepId);dep.GetInfo(cDepId);COvertimeEditDlg dlg;if(m_Datagrid.GetItem(4) = 法定節(jié)假日加班)dlg.m_overtime = 0;else if(m_Datagrid.GetItem(4) = 周六日加班)dlg.m_overtime = 1;else if(m_

42、Datagrid.GetItem(4) = 日常加班)dlg.m_overtime = 2;dlg.otDate = m_Datagrid.GetItem(2);/ 日期dlg.m_describe = m_Datagrid.GetItem(5);if (dlg.DoModal() = IDOK)RefreshData();void COvertimeManDlg:OnDelButton()/刪除按鈕cur.SqlDelete(m_Datagrid.GetItem(2), m_Datagrid.GetItem(0);4.3.3 請假信息管理請假信息編輯對話框中,首先點擊選擇部門,在左側(cè)則列出所

43、有部門及其員工信息,選擇一個員工,會在右側(cè)下方顯示他的請假狀態(tài)。選擇出勤狀態(tài),請假分為病假和事假,并且需要輸入請假原因,然后單擊確定按鈕,可以保存指定員工的請假情況。請假信息管理對話框中,通過點擊左邊的部門,列出各個部門中的員工及其員工的信息,選中員工的姓名則可以進行員工的請假信息的編輯。用戶可以根據(jù)實際的情況進行具體的操作,添加,修改和刪除。圖8 請假信息圖主要代碼如下:void CLeaveEditDlg:OnOK() UpdateData(TRUE);if(m_Adodc.GetRecordset().GetEof()/ 是否選擇人員MessageBox(請選擇人員);return;if

44、(m_shijia = -1) / 是否進行添加考勤狀態(tài)MessageBox(請選擇出勤狀態(tài));return;CCheckInfo cur;cur.CheckDate = CheckDate; / 賦值到CCheckInfo對象中cur.EmpId = atol(m_Datagrid.GetItem(0);switch(m_shijia)cur.Memo = m_memo;if(EmpId = )/ 在添加時,若人員有出勤記錄,則不允許添加if(cur.HaveEmp(CheckDate, m_Datagrid.GetItem(0)MessageBox(已經(jīng)有此員工的出勤信息,不能添加);re

45、turn;cur.SqlInsert();/ 插入記錄elsecur.UpdateLeave(cur.CheckDate, EmpId); / 修改CheckInfo表記錄CDialog:OnOK();請假信息保存在表CheckInfo中,如果在出勤信息管理模塊中輸入了出勤信息,則不能再輸入請假信息。如果修改記錄,則程序調(diào)用Update Leave()函數(shù),更新表CheckInfo中的Shijia ,Bingjia和Memo等字段的值。4.3.4 出差信息管理出差信息管理編輯對話框主要是對員工的出差情況的添加和修改。首先點擊選擇部門,在左側(cè)則列出所有部門及其員工信息,選擇一個員工,會在右側(cè)下方

46、顯示他的出差狀態(tài)。選擇出差狀態(tài),寫出出差原因,然后單擊確定按鈕,可以保存指定員工的出差情況。出差信息管理對話框中,通過點擊左邊的部門,列出各個部門中的員工及其員工的出差信息。用戶可以根據(jù)實際的情況進行具體的操作,添加,修改和刪除。圖9 出差信息主要代碼如下:void CErrandEditDlg:OnOK() UpdateData(TRUE);if(m_Adodc.GetRecordset().GetEof()/ 是否選擇人員MessageBox(請選擇人員);return; CCheckInfo cur;cur.CheckDate = CheckDate; / 賦值到CCheckInfo對象

47、中cur.EmpId = atol(m_Datagrid.GetItem(0);cur.ChuChai = 是;cur.QuanQin = 否;cur.BingJia = 否;cur.ShiJia = 否;cur.KuangGong = 否;cur.XiuXi = 否;cur.ChiDao = 否;cur.ZaoTui = 否;cur.Memo = m_memo;if(EmpId = )/ 在添加時,若人員有出勤記錄,則不允許添加if(cur.HaveEmp(CheckDate, m_Datagrid.GetItem(0)MessageBox(已經(jīng)有此員工的出勤信息,不能添加);Return;

48、cur.SqlInsert();/ 插入記錄elsecur.UpdateErrand(cur.CheckDate, m_Datagrid.GetItem(0); / 修改CheckInfo表記錄CDialog:OnOK();4.4 統(tǒng)計查詢模塊統(tǒng)計查詢模塊主要是實現(xiàn)了日考勤統(tǒng)計表,月考勤統(tǒng)計表,當日缺勤人員列表3個功能。4.4.1 日考勤統(tǒng)計表日考勤統(tǒng)計表按日查詢所有員工的出勤,加班,請假和出差等信息。首先選擇要查詢的日期,在點擊查詢按鈕,即列出這日期的員工信息,包括員工編號,員工姓名,出勤日期,是否全勤,是否出差,是否請假,是否加班等等。圖10 日考勤統(tǒng)計圖主要代碼如下:void CTime

49、SelDlg:RefreshData()UpdateData(TRUE);CString cTime; /根據(jù)部門編號設置SELECT語句cTime = m_time.Format(%Y-%m-%d);/ 設置SELECT語句CString cSource = SELECT c.EmpId AS 員工編號, e.Name AS 姓名, c.CheckDate AS 出勤日期, c.QuanQin AS 是否全勤, c.ChuChai AS 是否出差, c.ShiJia AS 是否事假, c.BingJia AS 是否病假, c.KuangGong AS 是否曠工, c.XiuXi AS 是否休

50、息, c.ChiDao AS 是否遲到, c.ZaoTui AS 是否早退, c.Memo AS 備注 FROM CheckInfo c, EmpInfo e WHERE c.EmpId = e.EmpId AND c.CheckDate = + cTime + ;/刷新ADO Data控件的記錄源m_Adodc.SetRecordSource(cSource);m_Adodc.Refresh();程序執(zhí)行SELECT語句,從表CheckInfo和EmpInfo中讀取選擇日期中各員工的考勤信息。4.4.2 月考勤統(tǒng)計表月考勤統(tǒng)計表是按月統(tǒng)計所有員工的出勤天數(shù),請假天數(shù),出差天數(shù)等信息。為了對各

51、種考勤天數(shù)進行統(tǒng)計,需要創(chuàng)建一組視圖,分別按月統(tǒng)計所有員工的全勤天數(shù),休息天數(shù),曠工天數(shù),遲到次數(shù),早退次數(shù),病假天數(shù),事假天數(shù)和出差天數(shù)。在表CheckInfo中,CheckDate字段保存考勤日期,LEFT(CheckDate)返回考勤日期的年份和月份信息,使用COUNT()函數(shù)和GROUP BY子句統(tǒng)計考勤月份和員工分組的各種考勤天數(shù)。圖11 月考勤統(tǒng)計圖主要代碼如下:void CDepDlg:RefreshData()UpdateData(TRUE);/根據(jù)部門編號設置SELECT語句CString cStrCnd,cDepId;cDepId.Format(%d, iDepId);if

52、 ( iDepId 0 )cStrCnd = And d.DepId= + cDepId;elsecStrCnd = ;CString cTime; / 查詢?nèi)掌? 得到年份和月份m_year.GetLBText(m_year.GetCurSel(), cYear);m_month.GetLBText(m_month.GetCurSel(), cMonth);cTime = cYear + - + cMonth; / 得到日期/ 設置SELECT語句CString cSource = SELECT e.Name AS 姓名, ISNULL(v1.CountQuanQin,0) AS 全勤天數(shù),

53、 ISNULL(v2.CountChuChai,0) AS 出差天數(shù), ISNULL(v3.CountShiJia,0) AS 事假天數(shù), ISNULL(v4.CountBingJia,0) AS 事假天數(shù), ISNULL(v5.CountKuangGong,0) AS 曠工天數(shù), ISNULL(v6.CountXiuXi,0) AS 休息天數(shù), ISNULL(v7.CountChiDao,0) AS 遲到次數(shù), ISNULL(v8.CountZaoTui,0) AS 早退次數(shù) FROM v_QuanQin v1, v_ChuChai v2, v_ShiJia v3, v_BingJia v4

54、,DepInfo d, v_KuangGong v5, v_XiuXi v6, v_ChiDao v7, v_ZaoTui v8, EmpInfo e WHERE e.EmpId *= v1.EmpId AND e.EmpId *= v2.EmpId And e.DepId=d.DepId AND e.EmpId *= v3.EmpId AND e.EmpId *= v4.EmpId AND e.EmpId *= v5.EmpId AND e.EmpId *= v6.EmpId AND e.EmpId *= v7.EmpId AND e.EmpId *= v8.EmpId AND v1.Che

55、ckMonth = + cTime + AND v2.CheckMonth = + cTime + AND v3.CheckMonth = + cTime + AND v4.CheckMonth = + cTime + AND v5.CheckMonth = + cTime + AND v6.CheckMonth = + cTime + AND v7.CheckMonth = + cTime + AND v8.CheckMonth = + cTime + + cStrCnd;/刷新ADO Data控件的記錄源m_Adodc.SetRecordSource(cSource);m_Adodc.Re

56、fresh();程序執(zhí)行SELECT語句,從表EmpInfo和其他視圖中讀取選擇月份中各員工的考勤信息,ISNULL()函數(shù)是SQL Server的內(nèi)部函數(shù),它的功能是當?shù)谝粋€參數(shù)為NULL時,將第二個參數(shù)作為結(jié)果返回。4.4.3 當日考勤人員列表當日考勤人員列表查詢當前系統(tǒng)日期中所有缺勤的員工信息,缺勤指病假,事假和曠工等情況。圖12 當日缺勤人員圖主要代碼如下:void CAbsenceDlg:RefreshData()UpdateData(TRUE);CString cTime; /根據(jù)部門編號設置SELECT語句cTime = CurrentTime.Format(%Y-%m-%d);

57、/ 設置SELECT語句CString cSource = SELECT e.EmpId AS 員工編號, e.Name AS 姓名, d.DepName AS 部門名稱, e.Mobile AS 聯(lián)系電話 FROM DepInfo d, EmpInfo e WHERE e.DepId = d.DepId AND e.EmpId IN (SELECT EmpId FROM CheckInfo WHERE (ShiJia=是 OR BingJia=是 OR KuangGong=是) AND CheckDate = + cTime + );m_Adodc.SetRecordSource(cSour

58、ce); /刷新ADO Data控件的記錄源m_Adodc.Refresh();程序中使用了嵌套查詢語句,即在一個SELECT語句中嵌套使用了另外一個SELECT語句。主SELECT語句顯示員工和部門信息,在其查詢條件中使用IN子句嵌套另一個SELECT語句。從SELECT可以返回表CheckInfo中當日事假,病假和曠工的記錄。4.5 用戶管理模塊根據(jù)用戶類型的不同,用戶管理模塊的功能也不相同,主要包括Admin用戶可以創(chuàng)建其他用戶,修改用戶的密碼,刪除其他用戶,而其他用戶只能修改自身的用戶信息。這個模塊包括了用戶管理和密碼修改兩個功能。在用戶管理中只有Admin用戶才可以進行操作,可以添加刪除其他用戶信息。圖13 用戶管理框圖主要代碼如下:void CUserManDlg:RefreshData()UpdateData(TRUE);/ 設置Select語句CString cSource = SELECT UserN

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!