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

歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
裝配圖網
ImageVerifierCode 換一換
首頁 裝配圖網 > 資源分類 > DOC文檔下載  

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

  • 資源ID:116773005       資源大?。?span id="24d9guoke414" class="font-tahoma">481.52KB        全文頁數:11頁
  • 資源格式: DOC        下載積分:10積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

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

畢業(yè)設計(論文)考勤管理系統的設計與實現論文作者姓名:申請學位專業(yè):計算機科學與技術申請學位類別:指導教師姓名(職稱):論文提交日期:第 1 頁 共 24 頁考勤管理系統的設計與實現摘 要隨著現代科學技術的發(fā)展,越來越多的公司和企業(yè)對職工的考勤都實行了信息化管理,使用計算機系統代替復雜的手工方式來管理考勤事務。考勤管理系統可以有效地管理公司員工的出勤情況,規(guī)范人事制度管理,保證公司正常的工作,是人力資源管理的重要組成部分。系統的開發(fā)主要包括后臺數據庫的建立,維護以及前端應用程序的開發(fā)兩個方面,主要模塊包括基本信息管理模塊,考勤信息管理模塊,統計查詢模塊和系統用戶管理模塊。系統是使用Visual C+開發(fā)語言,使用Microsoft Visual Studio 6.0作為工具軟件,數據庫為SQL Server 2000。系統采用目前比較流行的ADO數據訪問技術,并將每個數據庫表的字段和操作封裝到類中,它使應用程序的各個窗口都能夠共享對表的操作,不需要重復編碼,使程序更加易于維護,從而將面向對象的程序設計思想應用到數據庫應用程序中。關鍵詞:考勤管理;人力資源;數據庫;數據訪問技術Design and Realization of Attendance Management SystemAbstractAlong with the development of the modern science 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 manage 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 the 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 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 to 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目 錄論文總頁數:26頁1引言11.1課題背景11.2本課題研究意義11.3本課題研究方法12開發(fā)工具22.1Visual C+6.022.2SQL Server 200023考勤管理系統的設計33.1需求分析33.2功能模塊構成33.3數據庫結構設計44考勤管理系統的實現64.1系統登陸功能的實現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統計查詢模塊174.4.1日考勤統計表174.4.2月考勤統計表184.4.3當日考勤人員列表204.5用戶管理模塊21結 論23參考文獻24致 謝25聲 明261 引言1.1 課題背景無論公司還是企業(yè),都會涉及到對職工的考勤管理??记诠芾碓谏a管理過程中充當著一個十分重要角色,考勤管理的效率對生產的效果起著舉足輕重的作用。隨著現代科學技術的發(fā)展,越來越多的公司和企業(yè)對職工的考勤管理都實行了信息化管理,使用計算機系統代替繁瑣冗余的手工方式來管理考勤事務。傳統的手工方式不僅效率低下,而且容易出錯,采用計算機技術進行貨物管理可以克服手工管理的缺點,將人們從煩雜的勞動中解放出來。先進的考勤管理思想在商業(yè)中實現就成為了一個時代的目標。公司集團非常急需一套既有先進考勤方法又適合國內大商業(yè)的考勤管理系統,作為實現目標和提高現有水平的一種重要手段??记诠芾硐到y是一個公司不可缺少的部分,它的執(zhí)行對于公司的決策者和管理者來說是很有幫助的,隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用?;诖?,開發(fā)了一套考勤管理系統,其主要目的是為了統計員工的遲到、早退、曠工、事病假、加班以及出差情況,這些信息將直接作為公司對員工的獎懲、提升以及培訓的依據。1.2 本課題研究意義隨著計算機技術和網絡技術的發(fā)展,計算機網絡給人們帶來了很多便利,同樣考勤管理系統也是如此,它主要是為了滿足單位日常的考勤管理的需求,擴大工作空間,使單位管理過程更加快速、安全、高。論文系統規(guī)劃設計過程是從單位的業(yè)務流程出發(fā)展開分析,從而完成系統各個功能模塊的分析過程,以及完成部分功能模塊的設計,實現了數據庫信息的瀏覽、錄入、查詢、修改、刪除等各種操作,通過統一界面使得系統操作更為靈活、方便便捷。隨著計算機的普及和計算機科學技術的飛速發(fā)展,人們開始越來越多地利用計算機解決實際問題。考勤管理是商業(yè)信息管理的重要部分,面對大量的商品信息,采用人力處理將浪費大量的時間、人力和物力,而且統計數據麻煩。因此,開發(fā)一個界面友好,易于操作的考勤管理軟件進行自動化處理變得十分重要,這正是本系統開發(fā)的目的和意義。通過此考勤管理系統的開發(fā)鍛煉了學生的實際動手能力對以后的學習和工作能力的培養(yǎng)也具有重要意義。1.3 本課題研究方法開發(fā)數據庫管理信息系統需要選擇兩種工具,即前臺開發(fā)語言和后臺數據庫。一般開發(fā)C/S結構的應用程序時,前臺開發(fā)語言通??梢赃x擇Visual Basic、Visual C+、Delphi和Power Builder等,如果開發(fā)網絡應用程序,則需要選擇一個網絡數據庫系統,如Access、Oracle和IBM DB2等。本設計是使用Visual C+ 6.0的開發(fā)工具,使用Microsoft SQL Server 2000作為后臺數據庫開發(fā),采用了最新的數據庫訪問技術ADO(ActiveX Data Objects),是提供對各種數據庫的標準接口。本次畢業(yè)設計應首先分析考勤管理系統的相關功能,結合本次畢業(yè)設計的相關要求寫出需求分析;其次,綜合運用以前所學的相關知識,在設計中以需求分析為基礎,寫出系統開發(fā)計劃、實現流程及相關問題的實現方法;同時,在開發(fā)設計與實現中,要保存好相關的設計文檔。2 開發(fā)工具2.1 Visual C+6.0Visual C+6.0 是微軟公司1998年推出的產品,是基于Windows操作系統的編程工具,是Microsoft Visual Studio 6.0的組件之一,是一種面向對象程序設計語言。它采用一種巧妙的方法將Windows的編程復雜性封裝起來,編程者可以比較輕松地進行Windows應用程序的設計。Visual C+ 6.0繼承了以前版本的優(yōu)點,為用戶提供了更為友好的可視化開發(fā)環(huán)境。它提供了強大的編譯能力以及良好的界面操作性,具有功能強大、通用性強和易于擴充等特點,越來越多的被用來當作客戶/服務器應用程序的前臺卡法工具,而且能夠對Windows 9x、Windows NT 以及Windows 2000 下的C+程序設計提供完善的編程環(huán)境。同時Visual C+6.0 對網絡、數據庫等方面的編程也都提供相應的環(huán)境支持。幾乎所有世界級的軟件,從業(yè)界領先的Web瀏覽器到面向任務的企業(yè)應用,都是使用Microsoft Visual C+開發(fā)系統來開發(fā)的。要用C+來開發(fā)Windows和Web上的高性能應用程序,Visual C+是效率最高的首選工具。Visual C+ 6.0在不犧牲靈活性、性能和控制力度的同時,給C+帶來了更高水平的生產效率。除了IntelliSense Technology(智能感應技術)和Edit and Continue(即編即調)等顯著縮短開發(fā)時間的新特性外,Visual C+ 6.0還為Web開發(fā)和企業(yè)開發(fā)提供更良好的支持。有了Microsoft Visual C+ 6.0企業(yè)版,可以創(chuàng)建出面向Windows和Web的多層次可調節(jié)的應用程序。有了它為Internet、SQL和COM開發(fā)所提供的優(yōu)化了的支持,可以大大提高您的開發(fā)效率。2.2 SQL Server 2000Microsoft SQL Server 2000是一套完整的數據庫和分析產品,可迅速提供下一代可擴展電子商務、各種業(yè)務和數據倉庫解決方案。Microsoft SQL Server 2000是一個分布式的關系型數據庫管理系統,具有客戶機/服務器體系結構,采用了Transact-SQL的SQL語言在客戶機與服務器間傳遞客戶機的請求與服務器的處理結果。它一種應用廣泛的數據庫管理系統,具有許多顯著的優(yōu)點:易用性、適合分布式組織的可伸縮性、用于決策支持的數據倉庫功能、與許多其他服務器軟件緊密關聯的集成性、良好的性價比等。性能、可伸縮性及可靠性是基本要求,而進入市場時間也非常關鍵。除這些核心企業(yè)品質外,SQL Server 2000 還為您的數據管理與分析帶來了靈活性,允許單位在快速變化的環(huán)境中從容響應,從而獲得競爭優(yōu)勢。從數據管理和分析角度看,將原始數據轉化為商業(yè)智能和充分利用 Web帶來的機會非常重要。Microsoft SQL Server 2000是眾多數據庫開發(fā)軟件的一種,它的版本包括企業(yè)版,標準版,個人版,Windows CE版,開發(fā)版和評估版。不同版本的功能和用戶群不同。SQL是訪問數據庫的標準語言,無論后臺數據庫是SQL Server,Oracle,還是IBM DB2,甚至是小型數據庫ACCESS,都可以使用標準的SQL語句對它進行操作。在這里,是采用SQL Server 2000是作為后臺數據庫。3 考勤管理系統的設計3.1 需求分析考勤管理系統的用戶是各單位負責考勤管理的員工和領導,它可以有效的管理公司單位員工的出勤情況,規(guī)范人事制度的管理。管理員可以創(chuàng)建用戶,修改用戶信息以及刪除用戶,和對公司一些員工信息的編輯等。該系統包括基本信息管理,考勤信息管理,統計查詢和用戶管理等主要模塊。每一個功能模塊都需要針對不同的表來完成相同的數據庫操作,即添加記錄,修改記錄,刪除記錄以及查詢顯示記錄信息。具體功能有以下幾個方面。1、基本信息的添加,修改,刪除和查詢。節(jié)本信息管理包括節(jié)假日日期設置,部門信息管理和員工信息管理。2、考勤信息管理包括出勤管理,加班管理,請假管理和出差管理等功能。3、統計查詢功能包括日考勤統計表,月考勤統計表和當日缺勤人員列表。4、用戶管理包括Admin用戶管理和其他用戶管理。3.2 功能模塊構成考勤管理系統由基本信息管理模塊、考勤信息模塊、統計查詢模塊和用戶管理模塊四個主要功能模塊構成?;拘畔⒐芾砟K,包括節(jié)假日日期設置,部門信息管理緩和員工信息管理。節(jié)假日日期信息只包括具體的日期數據,部門信息包括部門名稱和部門功能的描述,員工信息包括員工姓名,性別,生日,身份證號等??记谛畔ǔ銮冢影?,請假,出差等信息。出勤信息包括全勤,休息,曠工,遲到和早退等信息;加班信息包括員工信息,加班時間,加班類型和加班描述;請假信息包括員工信息,請假類型和原因;出差信息包括員工信息和出差原因。統計查詢模塊包括日考勤統計表,月考勤統計表和當日缺勤人員列表。日考勤統計表包括員工姓名,考勤日期,是否全勤,是否請假等信息,月考勤統計表包括員工姓名,考勤月份,全勤天數,出差天數等信息,當日缺勤人員列表包括系統當前日期缺勤員工的姓名,所在部門和聯系電話等信息。用戶管理模塊用戶包括Admin用戶和普通用戶。Admin用戶可以修改自己的密碼,創(chuàng)建修改和刪除普通用戶信息。普通用戶只能修改自身的信息功能模塊構成如圖1:圖1 功能模塊3.3 數據庫結構設計考勤管理系統數據庫采用Microsoft SQL SERVER 2000,在使用數據庫過程中,接觸最多的就是數據庫中的表,表是數據存儲的地方,是數據庫最重要的部分。這個系統數據庫表由6個表構成,具體如下。CheckInfo表是記錄考勤信息的,記錄員工遲到,早退,全勤,曠工,病假,事假,休息,出差等信息。表1 CheckInfo字 段數據類型長 度是否允許為空字段描述CheckDatechar10否考勤日期EmpIdint4否員工編號QuanQinchar2是全勤ChuChaichar2是出差BingJiachar2是病假ShiJiachar2是事假KuangGongchar2是曠工XiuXichar50是休息ChiDaochar50是遲到Zaotuichar50是早退Memovarchar200是備注DepInfo表是記錄部門信息的。DepId為主鍵。表2 DepInfo字 段數據類型長 度是否允許為空字段描述DepIdint4否部門編號DepNamevarchar50否部門名稱Describesvarchar250是描述UIDint4否總的編號EmpInfo表是記錄員工的基本信息。管理員可以查看員工信息,添加員工信息需要用的表。EmpId是主鍵。表3 EmpInfo字 段數據類型長 度是否允許為空字段描述EmpIdint4否編號Namevarchar50否姓名Sexchar2是性別Birthdayvarchar20是生日IdCardvarchar20是身份證號OfficePhonevarchar30是辦公電話Mobilevarchar30是手機電話HireDateInt 4是到崗日期DepIdvarchar40是部門編號Missionvarchar50是工作崗位Dutyvarchar20是職務 Memo varchar 200 是 備注信息HolidaySet表是設置節(jié)假日信息的。Id為主鍵。表4 HolidaySet字 段數據類型長 度是否允許為空字段描述Idint4否編號HolidayDatechar10否節(jié)假日期HolidayNamevarchar50是節(jié)假名稱OverTime表是記錄加班信息的。表5 OverTime字 段數據類型長 度是否允許為空字段描述otDateChar10否加班日期EmpIdint4否員工編號otHoursmallint2否加班時間otTypevarchar50否加班類型Describesvarchar200是描述UserInfo表是記錄用戶信息的,包括用戶名和密碼。表6 UserInfo字 段數據類型長 度是否允許為空字段描述UserNamevarchar40否用戶名Passwdvarchar40是密碼UserTypeint4否用戶類型4 考勤管理系統的實現4.1 系統登陸功能的實現用戶要使用本系統,首先必須通過系統的身份認證。如果用戶名錯誤或者不存在,密碼錯誤3次后,對話框自動關閉。圖2 登陸對話框具體代碼如下:void CLoginDlg:OnOK() UpdateData(TRUE); /將對話框中編輯框的數據讀取到成員變量中if(m_User = )/ 沒有輸入用戶名MessageBox(請輸入用戶名, 信息提示);GetDlgItem(IDC_USER_EDIT)-SetFocus();return;CUserInfo User; / 定義用戶信息表變量if(!User.IsExistUser(m_User) / 判斷用戶是否存在count+;if(count SetFocus();return;elseMessageBox(重試次數已到,不能再輸入用戶名和密碼,即將退出系統!, 用戶名錯誤, MB_ICONEXCLAMATION);exit(0);User.GetInfo(m_User); / 判斷密碼是否正確if(User.Passwd != m_Passwd)/同用戶判斷CDialog:OnOK();/ 關閉對話框4.2 基本信息管理模塊基本信息管理模塊包括節(jié)假日信息管理,部門信息管理和員工信息管理。4.2.1 節(jié)假日信息管理節(jié)假日信息管理,首先對節(jié)假日信息的編輯,判斷節(jié)假日記錄是否存在,存入數據。在從HolidaySet中讀取所有節(jié)假日記錄,在對記錄進行操作,即添加,修改和刪除。普通用戶是不能打開這一塊信息的,節(jié)假日管理對他們是不可見的。圖3 節(jié)假日信息框部分代碼如下:BOOL CHolidayManDlg:OnInitDialog()/ 初始化CDialog:OnInitDialog();RefreshData();void CHolidayManDlg:RefreshData()/ 更新數據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對話框中的變量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 部門信息管理部門信息管理模塊包括部門信息編輯對話框,部門信息管理對話框和部門信息選擇對話框。部門編輯主要是用來添加和修改部門信息。部門信息管理對話框,是系統管理員進行的操作,如果當前用戶不是系統管理員,則添加,修改,和刪除等按鈕是不可以用,他們沒有相關的權限。在刪除部門的時候要對部門信息進行判斷,如果部門是根節(jié)點,包含下一級部門和員工時不能刪除。部門信息的選擇,是為了方便用戶選擇部門,以后的其他模塊程序可以通過此程序來獲取選擇的部門信息。圖4 部門圖主要代碼如下:BOOL CDepManDlg:OnInitDialog() /初始化CDialog:OnInitDialog();void CDepManDlg:AddtoTree(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:OnAddButton() /添加按鈕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); /刪除表Departments中的指定記錄m_tree.DeleteItem(node); /刪除Tree控件中的當前節(jié)點4.2.3 員工信息管理編輯員工基本信息對話框用來添加和修改員工信息,主要包括員工的姓名,性別,出生日期,身份證號,到崗日期,辦公電話,手機電話,工作崗位,職務和描述信息。員工管理則是通過選擇部門信息,添加,修改和刪除員工信息 這里可以查看每個部門下的員工信息。同樣普通用戶只能查看員工信息,不能對其信息進行添加,修改和刪除等操作。圖5 員工信息圖主要代碼如下:void CEmpManDlg:RefreshData()UpdateData(TRUE);int iDepId; /從Tree控件中讀取部門編號信息HTREEITEM node;node = m_tree.GetSelectedItem();iDepId = m_tree.GetItemData(node);CString cDepId; /根據部門編號設置SELECT語句cDepId.Format(%d, iDepId);/ 設置SELECT語句CString cSource = SELECT EmpId, Name AS 姓名, Sex AS 性別, Birthday AS 生日, IdCard AS 身份證號, OfficePhone AS 辦公電話, Mobile AS 手機號碼, HireDate AS 到崗日期, 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 emp; / 讀取選擇員工的記錄emp.GetInfo(m_Datagrid.GetItem(0);CEmpEditDlg dlg; / 將員工數據讀取到編輯對話框中if(dlg.DoModal()=IDOK)RefreshData();void CEmpManDlg:OnDelButton()/ 刪除按鈕CEmpInfo emp;emp.SqlDelete(m_Datagrid.GetItem(0);RefreshData();4.3 考勤管理模塊考勤管理模塊主要實現了出勤信息管理,加班信息管理,請假信息管理和出差信息管理。4.3.1 出勤信息管理出勤信息編輯對話框中,首先單擊選擇部門按鈕,在左側的表格中將顯示選擇部門中的所有員工信息。選擇一個員工,會在右側下方顯示他的出勤狀態(tài)。選擇出勤狀態(tài),然后單擊確定按鈕,可以保存指定員工的出勤情況。出勤管理對話框中,根據左邊的部門,列出各個部門中的員工及其員工的出勤信息,出勤時間,是否全勤,是否出差,是否遲到,是否早退,是否曠工等。用戶可以根據實際的情況進行具體的操作,添加,修改和刪除。圖6 出勤信息主要代碼如下:void COnDutyManDlg:RefreshData()UpdateData(TRUE);int iDepId; /從Tree控件中讀取部門編號信息HTREEITEM node;node = m_tree.GetSelectedItem();iDepId = m_tree.GetItemData(node);CString cDepId; /根據部門編號設置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 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()/刪除按鈕程序調用m_tree.GetSelectedItem()函數獲取當前選擇的部門接點數據,并使用GetItemData(node)函數獲取部門編號。然后根據選擇的部門編號設置SELECT語句,從表CheckInfo,表EmpInfo和表DepInfo中獲取部門中所有員工的出勤記錄。4.3.2 加班信息管理加班信息編輯對話框主要是對員工的加班情況的添加和修改。首先點擊選擇部門,在左側則列出所有部門及其員工信息,選擇一個員工,會在右側下方顯示他的加班狀態(tài)。選擇加班狀態(tài),包括加班時數,加班原因和加班類型,然后單擊確定按鈕,可以保存指定員工的加班情況。加班信息管理對話框中,通過點擊左邊的部門,列出各個部門中的員工及其員工的加班信息,加班時間,加班時數,加班原因和加班類型等。用戶可以根據實際的情況進行具體的操作,添加,修改和刪除。圖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(請選擇要修改的記錄!);return;CEmpInfo emp; / 根據員工編號得到員工信息emp.GetInfo(m_Datagrid.GetItem(0);CString cDepId; / 根據部門編號得到部門信息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_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 請假信息管理請假信息編輯對話框中,首先點擊選擇部門,在左側則列出所有部門及其員工信息,選擇一個員工,會在右側下方顯示他的請假狀態(tài)。選擇出勤狀態(tài),請假分為病假和事假,并且需要輸入請假原因,然后單擊確定按鈕,可以保存指定員工的請假情況。請假信息管理對話框中,通過點擊左邊的部門,列出各個部門中的員工及其員工的信息,選中員工的姓名則可以進行員工的請假信息的編輯。用戶可以根據實際的情況進行具體的操作,添加,修改和刪除。圖8 請假信息圖主要代碼如下:void CLeaveEditDlg:OnOK() UpdateData(TRUE);if(m_Adodc.GetRecordset().GetEof()/ 是否選擇人員MessageBox(請選擇人員);return;if(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(已經有此員工的出勤信息,不能添加);return;cur.SqlInsert();/ 插入記錄elsecur.UpdateLeave(cur.CheckDate, EmpId); / 修改CheckInfo表記錄CDialog:OnOK();請假信息保存在表CheckInfo中,如果在出勤信息管理模塊中輸入了出勤信息,則不能再輸入請假信息。如果修改記錄,則程序調用Update Leave()函數,更新表CheckInfo中的Shijia ,Bingjia和Memo等字段的值。4.3.4 出差信息管理出差信息管理編輯對話框主要是對員工的出差情況的添加和修改。首先點擊選擇部門,在左側則列出所有部門及其員工信息,選擇一個員工,會在右側下方顯示他的出差狀態(tài)。選擇出差狀態(tài),寫出出差原因,然后單擊確定按鈕,可以保存指定員工的出差情況。出差信息管理對話框中,通過點擊左邊的部門,列出各個部門中的員工及其員工的出差信息。用戶可以根據實際的情況進行具體的操作,添加,修改和刪除。圖9 出差信息主要代碼如下:void CErrandEditDlg:OnOK() UpdateData(TRUE);if(m_Adodc.GetRecordset().GetEof()/ 是否選擇人員MessageBox(請選擇人員);return; CCheckInfo cur;cur.CheckDate = CheckDate; / 賦值到CCheckInfo對象中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(已經有此員工的出勤信息,不能添加);Return;cur.SqlInsert();/ 插入記錄elsecur.UpdateErrand(cur.CheckDate, m_Datagrid.GetItem(0); / 修改CheckInfo表記錄CDialog:OnOK();4.4 統計查詢模塊統計查詢模塊主要是實現了日考勤統計表,月考勤統計表,當日缺勤人員列表3個功能。4.4.1 日考勤統計表日考勤統計表按日查詢所有員工的出勤,加班,請假和出差等信息。首先選擇要查詢的日期,在點擊查詢按鈕,即列出這日期的員工信息,包括員工編號,員工姓名,出勤日期,是否全勤,是否出差,是否請假,是否加班等等。圖10 日考勤統計圖主要代碼如下:void CTimeSelDlg:RefreshData()UpdateData(TRUE);CString cTime; /根據部門編號設置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 是否休息, 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 月考勤統計表月考勤統計表是按月統計所有員工的出勤天數,請假天數,出差天數等信息。為了對各種考勤天數進行統計,需要創(chuàng)建一組視圖,分別按月統計所有員工的全勤天數,休息天數,曠工天數,遲到次數,早退次數,病假天數,事假天數和出差天數。在表CheckInfo中,CheckDate字段保存考勤日期,LEFT(CheckDate)返回考勤日期的年份和月份信息,使用COUNT()函數和GROUP BY子句統計考勤月份和員工分組的各種考勤天數。圖11 月考勤統計圖主要代碼如下:void CDepDlg:RefreshData()UpdateData(TRUE);/根據部門編號設置SELECT語句CString cStrCnd,cDepId;cDepId.Format(%d, iDepId);if ( iDepId 0 )cStrCnd = And d.DepId= + cDepId;elsecStrCnd = ;CString cTime; / 查詢日期/ 得到年份和月份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 全勤天數, ISNULL(v2.CountChuChai,0) AS 出差天數, ISNULL(v3.CountShiJia,0) AS 事假天數, ISNULL(v4.CountBingJia,0) AS 事假天數, ISNULL(v5.CountKuangGong,0) AS 曠工天數, ISNULL(v6.CountXiuXi,0) AS 休息天數, ISNULL(v7.CountChiDao,0) AS 遲到次數, ISNULL(v8.CountZaoTui,0) AS 早退次數 FROM v_QuanQin v1, v_ChuChai v2, v_ShiJia v3, v_BingJia v4,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.CheckMonth = + 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.Refresh();程序執(zhí)行SELECT語句,從表EmpInfo和其他視圖中讀取選擇月份中各員工的考勤信息,ISNULL()函數是SQL Server的內部函數,它的功能是當第一個參數為NULL時,將第二個參數作為結果返回。4.4.3 當日考勤人員列表當日考勤人員列表查詢當前系統日期中所有缺勤的員工信息,缺勤指病假,事假和曠工等情況。圖12 當日缺勤人員圖主要代碼如下:void CAbsenceDlg:RefreshData()UpdateData(TRUE);CString cTime; /根據部門編號設置SELECT語句cTime = CurrentTime.Format(%Y-%m-%d);/ 設置SELECT語句CString cSource = SELECT e.EmpId AS 員工編號, e.Name AS 姓名, d.DepName AS 部門名稱, e.Mobile AS 聯系電話 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(cSource); /刷新ADO Data控件的記錄源m_Adodc.Refresh();程序中使用了嵌套查詢語句,即在一個SELECT語句中嵌套使用了另外一個SELECT語句。主SELECT語句顯示員工和部門信息,在其查詢條件中使用IN子句嵌套另一個SELECT語句。從SELECT可以返回表CheckInfo中當日事假,病假和曠工的記錄。4.5 用戶管理模塊根據用戶類型的不同,用戶管理模塊的功能也不相同,主要包括Admin用戶可以創(chuàng)建其他用戶,修改用戶的密碼,刪除其他用戶,而其他用戶只能修改自身的用戶信息。這個模塊包括了用戶管理和密碼修改兩個功能。在用戶管理中只有Admin用戶才可以進行操作,可以添加刪除其他用戶信息。圖13 用戶管理框圖主要代碼如下:void CUserManDlg:RefreshData()UpdateData(TRUE);/ 設置Select語句CString cSource = SELECT UserN

注意事項

本文(考勤管理系統的設計畢業(yè)設計論文.doc)為本站會員(good****022)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


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