基于VC考勤管理系統(tǒng)的設(shè)計與實現(xiàn)樣本_第1頁
基于VC考勤管理系統(tǒng)的設(shè)計與實現(xiàn)樣本_第2頁
基于VC考勤管理系統(tǒng)的設(shè)計與實現(xiàn)樣本_第3頁
基于VC考勤管理系統(tǒng)的設(shè)計與實現(xiàn)樣本_第4頁
基于VC考勤管理系統(tǒng)的設(shè)計與實現(xiàn)樣本_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

考勤管理系統(tǒng)設(shè)計與實現(xiàn)摘要隨著當(dāng)代科學(xué)技術(shù)發(fā)展,越來越多公司和公司對職工考勤都實行了信息化管理,使用計算機系統(tǒng)代替復(fù)雜手工方式來管理考勤事務(wù)??记诠芾硐到y(tǒng)可以有效地管理公司員工出勤狀況,規(guī)范人事制度管理,保證公司正常工作,是人力資源管理重要構(gòu)成某些。系統(tǒng)開發(fā)重要涉及后臺數(shù)據(jù)庫建立,維護以及前端應(yīng)用程序開發(fā)兩個方面,重要模塊涉及基本信息管理模塊,考勤信息管理模塊,記錄查詢模塊和系統(tǒng)顧客管理模塊。系統(tǒng)是使用VisualC++開發(fā)語言,使用MicrosoftVisualStudio6.0作為工具軟件,數(shù)據(jù)庫為SQLServer。系統(tǒng)采用當(dāng)前比較流行ADO數(shù)據(jù)訪問技術(shù),并將每個數(shù)據(jù)庫表字段和操作封裝到類中,它使應(yīng)用程序各個窗口都可以共享對表操作,不需要重復(fù)編碼,使程序更加易于維護,從而將面向?qū)ο蟪绦蛟O(shè)計思想應(yīng)用到數(shù)據(jù)庫應(yīng)用程序中。核心詞:考勤管理;人力資源;數(shù)據(jù)庫;數(shù)據(jù)訪問技術(shù)DesignandRealizationofAttendanceManagementSystemAbstractAlongwiththedevelopmentofthemodernscienceandtechnology,moreandmorecompaniesandenterprisesimplementedtheinformationmanagementtothestaff'scheckingattendance,andusecomputersysteminsteadofthecomplexmanualwaytomanagethecheckingattendancebusiness.Thecheckingattendancemanagementsystemmayeffectivelymanagethestaff'sgoingoutondutysituation,Standardpersonnelsystemmanagement,Guaranteesthecompanynormalwork.ItistheimportantpartofhumanresourcesmanagementThedevelopmentofthissystemmainlyincludestwoaspects:theestablishmentofthebackstagedatabaseandthedevelopmentofthefront-sideapplication.Thissystemcontainsfollowingseveralmodules:thebasicinformationmanagementmodule,theattendanceinformationmanagementmodule,thestatisticalinquirymoduleandthesystemuseradministrationmodule.VisualC++andSQLServerareusedinthedevelopmentofthesystem.ThesystemusesthepopularADOtechnology,andencapsulatesthefieldsandtheoperationsofeachtableintosomeclasses.Itcausestheoperationwhichtheapplicationprocedureeachwindowallcansharesynchronizestables.Ithasnotrepeatcodes,andmakestheapplicationtobeeasiertomaintain.Bythisway,theideaofobject-orientedprogrammingwillbeappliedinthedatabaseapplication..Keywords:Attendancemanagement;Humanresources;Database;Dataaccesstechnology目錄論文總頁數(shù):26頁1 引言 11.1 課題背景 11.2 本課題研究意義 11.3 本課題研究辦法 12 開發(fā)工具 22.1 VisualC++6.0 22.2 SQLServer 23 考勤管理系統(tǒng)設(shè)計 33.1 需求分析 33.2 功能模塊構(gòu)成 33.3 數(shù)據(jù)庫構(gòu)造設(shè)計 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 記錄查詢模塊 174.4.1 日考勤登記表 174.4.2 月考勤登記表 184.4.3 當(dāng)天考勤人員列表 204.5 顧客管理模塊 21結(jié)論 23參照文獻 24致謝 25聲明 26引言課題背景無論公司還是公司,都會涉及到對職工考勤管理??记诠芾碓谏a(chǎn)管理過程中充當(dāng)著一種十分重要角色,考勤管理效率對生產(chǎn)效果起著舉足輕重作用。隨著當(dāng)代科學(xué)技術(shù)發(fā)展,越來越多公司和公司對職工考勤管理都實行了信息化管理,使用計算機系統(tǒng)代替繁瑣冗余手工方式來管理考勤事務(wù)。老式手工方式不但效率低下,并且容易出錯,采用計算機技術(shù)進行貨品管理可以克服手工管理缺陷,將人們從煩雜勞動中解放出來。先進考勤管理思想在商業(yè)中實現(xiàn)就成為了一種時代目的。公司集團非常急需一套既有先進考勤辦法又適合國內(nèi)大商業(yè)考勤管理系統(tǒng),作為實現(xiàn)目的和提高既有水平一種重要手段??记诠芾硐到y(tǒng)是一種公司不可缺少某些,它執(zhí)行對于公司決策者和管理者來說是很有協(xié)助,隨著科學(xué)技術(shù)不斷提高,計算機科學(xué)日漸成熟,其強大功能已為人們深刻結(jié)識,它已進入人類社會各個領(lǐng)域并發(fā)揮著越來越重要作用?;诖?,開發(fā)了一套考勤管理系統(tǒng),其重要目是為了記錄員工遲到、早退、曠工、事病假、加班以及出差狀況,這些信息將直接作為公司對員工獎懲、提高以及培訓(xùn)根據(jù)。本課題研究意義隨著計算機技術(shù)和網(wǎng)絡(luò)技術(shù)發(fā)展,計算機網(wǎng)絡(luò)給人們帶來了諸多便利,同樣考勤管理系統(tǒng)也是如此,它重要是為了滿足單位尋??记诠芾硇枨螅瑪U大工作空間,使單位管理過程更迅速、安全、高。論文系統(tǒng)規(guī)劃設(shè)計過程是從單位業(yè)務(wù)流程出發(fā)展開分析,從而完畢系統(tǒng)各個功能模塊分析過程,以及完畢某些功能模塊設(shè)計,實現(xiàn)了數(shù)據(jù)庫信息瀏覽、錄入、查詢、修改、刪除等各種操作,通過統(tǒng)一界面使得系統(tǒng)操作更為靈活、以便便捷。隨著計算機普及和計算機科學(xué)技術(shù)飛速發(fā)展,人們開始越來越多地運用計算機解決實際問題。考勤管理是商業(yè)信息管理重要某些,面對大量商品信息,采用人力解決將揮霍大量時間、人力和物力,并且記錄數(shù)據(jù)麻煩。因而,開發(fā)一種界面和諧,易于操作考勤管理軟件進行自動化解決變得十分重要,這正是本系統(tǒng)開發(fā)目和意義。通過此考勤管理系統(tǒng)開發(fā)鍛煉了學(xué)生實際動手能力對后來學(xué)習(xí)和工作能力培養(yǎng)也具備重要意義。本課題研究辦法開發(fā)數(shù)據(jù)庫管理信息系統(tǒng)需要選取兩種工具,即前臺開發(fā)語言和后臺數(shù)據(jù)庫。普通開發(fā)C/S構(gòu)造應(yīng)用程序時,前臺開發(fā)語言普通可以選取VisualBasic、VisualC++、Delphi和PowerBuilder等,如果開發(fā)網(wǎng)絡(luò)應(yīng)用程序,則需要選取一種網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng),如Access、Oracle和IBMDB2等。本設(shè)計是使用VisualC++6.0開發(fā)工具,使用MicrosoftSQLServer作為后臺數(shù)據(jù)庫開發(fā),采用了最新數(shù)據(jù)庫訪問技術(shù)ADO(ActiveXDataObjects),是提供對各種數(shù)據(jù)庫原則接口。本次畢業(yè)設(shè)計應(yīng)一方面分析考勤管理系統(tǒng)有關(guān)功能,結(jié)合本次畢業(yè)設(shè)計有關(guān)規(guī)定寫出需求分析;另一方面,綜合運用此前所學(xué)有關(guān)知識,在設(shè)計中以需求分析為基本,寫出系統(tǒng)開發(fā)籌劃、實現(xiàn)流程及有關(guān)問題實現(xiàn)辦法;同步,在開發(fā)設(shè)計與實現(xiàn)中,要保存好有關(guān)設(shè)計文檔。開發(fā)工具VisualC++6.0VisualC++6.0是微軟公司1998年推出產(chǎn)品,是基于Windows操作系統(tǒng)編程工具,是MicrosoftVisualStudio6.0組件之一,是一種面向?qū)ο蟪绦蛟O(shè)計語言。它采用一種巧妙辦法將Windows編程復(fù)雜性封裝起來,編程者可以比較輕松地進行Windows應(yīng)用程序設(shè)計。VisualC++6.0繼承了此前版本長處,為顧客提供了更為和諧可視化開發(fā)環(huán)境。它提供了強大編譯能力以及良好界面操作性,具備功能強大、通用性強和易于擴充等特點,越來越多被用來當(dāng)作客戶/服務(wù)器應(yīng)用程序前臺卡法工具,并且可以對Windows9x、WindowsNT以及Windows下C++程序設(shè)計提供完善編程環(huán)境。同步VisualC++6.0對網(wǎng)絡(luò)、數(shù)據(jù)庫等方面編程也都提供相應(yīng)環(huán)境支持。幾乎所有世界級軟件,從業(yè)界領(lǐng)先Web瀏覽器到面向任務(wù)公司應(yīng)用,都是使用MicrosoftVisualC++開發(fā)系統(tǒng)來開發(fā)。要用C++來開發(fā)Windows和Web上高性能應(yīng)用程序,VisualC++是效率最高首選工具。VisualC++6.0在不犧牲靈活性、性能和控制力度同步,給C++帶來了更高水平生產(chǎn)效率。除了IntelliSenseTechnology(智能感應(yīng)技術(shù))和EditandContinue(即編即調(diào))等明顯縮短開發(fā)時間新特性外,VisualC++6.0還為Web開發(fā)和公司開發(fā)提供更良好支持。有了MicrosoftVisualC++6.0公司版,可以創(chuàng)立出面向Windows和Web多層次可調(diào)節(jié)應(yīng)用程序。有了它為Internet、SQL和COM開發(fā)所提供優(yōu)化了支持,可以大大提高您開發(fā)效率。SQLServerMicrosoftSQLServer是一套完整數(shù)據(jù)庫和分析產(chǎn)品,可迅速提供下一代可擴展電子商務(wù)、各種業(yè)務(wù)和數(shù)據(jù)倉庫解決方案。MicrosoftSQLServer是一種分布式關(guān)系型數(shù)據(jù)庫管理系統(tǒng),具備客戶機/服務(wù)器體系構(gòu)造,采用了Transact-SQLSQL語言在客戶機與服務(wù)器間傳遞客戶機祈求與服務(wù)器解決成果。它一種應(yīng)用廣泛數(shù)據(jù)庫管理系統(tǒng),具備許多明顯長處:易用性、適合分布式組織可伸縮性、用于決策支持?jǐn)?shù)據(jù)倉庫功能、與許多其她服務(wù)器軟件緊密關(guān)聯(lián)集成性、良好性價比等。性能、可伸縮性及可靠性是基本規(guī)定,而進入市場時間也非常核心。除這些核心公司品質(zhì)外,SQLServer還為您數(shù)據(jù)管理與分析帶來了靈活性,容許單位在迅速變化環(huán)境中從容響應(yīng),從而獲得競爭優(yōu)勢。從數(shù)據(jù)管理和分析角度看,將原始數(shù)據(jù)轉(zhuǎn)化為商業(yè)智能和充分運用Web帶來機會非常重要。MicrosoftSQLServer是眾多數(shù)據(jù)庫開發(fā)軟件一種,它版本涉及公司版,原則版,個人版,WindowsCE版,開發(fā)版和評估版。不同版本功能和顧客群不同。SQL是訪問數(shù)據(jù)庫原則語言,無論后臺數(shù)據(jù)庫是SQLServer,Oracle,還是IBMDB2,甚至是小型數(shù)據(jù)庫ACCESS,都可以使用原則SQL語句對它進行操作。在這里,是采用SQLServer是作為后臺數(shù)據(jù)庫??记诠芾硐到y(tǒng)設(shè)計需求分析考勤管理系統(tǒng)顧客是各單位負(fù)責(zé)考勤管理員工和領(lǐng)導(dǎo),它可以有效管理公司單位員工出勤狀況,規(guī)范人事制度管理。管理員可以創(chuàng)立顧客,修改顧客信息以及刪除顧客,和對公司某些員工信息編輯等。該系統(tǒng)涉及基本信息管理,考勤信息管理,記錄查詢和顧客管理等重要模塊。每一種功能模塊都需要針對不同表來完畢相似數(shù)據(jù)庫操作,即添加記錄,修改記錄,刪除記錄以及查詢顯示記錄信息。詳細(xì)功能有如下幾種方面。1、基本信息添加,修改,刪除和查詢。節(jié)本信息管理涉及節(jié)假日日期設(shè)立,部門信息管理和員工信息管理。2、考勤信息管理涉及出勤管理,加班管理,請假管理和出差管理等功能。3、記錄查詢功能涉及日考勤登記表,月考勤登記表和當(dāng)天缺勤人員列表。4、顧客管理涉及Admin顧客管理和其她顧客管理。功能模塊構(gòu)成考勤管理系統(tǒng)由基本信息管理模塊、考勤信息模塊、記錄查詢模塊和顧客管理模塊四個重要功能模塊構(gòu)成?;拘畔⒐芾砟K,涉及節(jié)假日日期設(shè)立,部門信息管理緩和員工信息管理。節(jié)假日日期信息只涉及詳細(xì)日期數(shù)據(jù),部門信息涉及部門名稱和部門功能描述,員工信息涉及員工姓名,性別,生日,身份證號等??记谛畔⑸婕俺銮冢影啵埣?,出差等信息。出勤信息涉及全勤,休息,曠工,遲到和早退等信息;加班信息涉及員工信息,加班時間,加班類型和加班描述;請假信息涉及員工信息,請假類型和因素;出差信息涉及員工信息和出差因素。記錄查詢模塊涉及日考勤登記表,月考勤登記表和當(dāng)天缺勤人員列表。日考勤登記表涉及員工姓名,考勤日期,與否全勤,與否請假等信息,月考勤登記表涉及員工姓名,考勤月份,全勤天數(shù),出差天數(shù)等信息,當(dāng)天缺勤人員列表涉及系統(tǒng)當(dāng)前日期缺勤員工姓名,所在部門和聯(lián)系電話等信息。顧客管理模塊顧客涉及Admin顧客和普通顧客。Admin顧客可以修改自己密碼,創(chuàng)立修改和刪除普通顧客信息。普通顧客只能修改自身信息功能模塊構(gòu)成如圖1:圖1功能模塊數(shù)據(jù)庫構(gòu)造設(shè)計考勤管理系統(tǒng)數(shù)據(jù)庫采用MicrosoftSQLSERVER,在使用數(shù)據(jù)庫過程中,接觸最多就是數(shù)據(jù)庫中表,表是數(shù)據(jù)存儲地方,是數(shù)據(jù)庫最重要某些。這個系統(tǒng)數(shù)據(jù)庫表由6個表構(gòu)成,詳細(xì)如下。CheckInfo表是記錄考勤信息,記錄員工遲到,早退,全勤,曠工,病假,事假,休息,出差等信息。表1CheckInfo字段數(shù)據(jù)類型長度與否容許為空字段描述CheckDatechar10否考勤日期EmpIdint4否員工編號QuanQinchar2是全勤ChuChaichar2是出差BingJiachar2是病假ShiJiachar2是事假KuangGongchar2是曠工XiuXichar50是休息ChiDaochar50是遲到Zaotuichar50是早退Memovarchar200是備注DepInfo表是記錄部門信息。DepId為主鍵。表2DepInfo字段數(shù)據(jù)類型長度與否容許為空字段描述DepIdint4否部門編號DepNamevarchar50否部門名稱Describesvarchar250是描述UIDint4否總編號EmpInfo表是記錄員工基本信息。管理員可以查看員工信息,添加員工信息需要用表。EmpId是主鍵。表3EmpInfo字段數(shù)據(jù)類型長度與否容許為空字段描述EmpIdint4否編號Namevarchar50否姓名Sexchar2是性別Birthdayvarchar20是生日IdCardvarchar20是身份證號OfficePhonevarchar30是辦公電話Mobilevarchar30是手機電話HireDateInt4是到崗日期DepIdvarchar40是部門編號Missionvarchar50是工作崗位Dutyvarchar20是職務(wù)Memovarchar200是備注信息HolidaySet表是設(shè)立節(jié)假日信息。Id為主鍵。表4HolidaySet字段數(shù)據(jù)類型長度與否容許為空字段描述Idint4否編號HolidayDatechar10否節(jié)假日期HolidayNamevarchar50是節(jié)假名稱OverTime表是記錄加班信息。表5OverTime字段數(shù)據(jù)類型長度與否容許為空字段描述otDateChar10否加班日期EmpIdint4否員工編號otHoursmallint2否加班時間otTypevarchar50否加班類型Describesvarchar200是描述UserInfo表是記錄顧客信息,涉及顧客名和密碼。表6UserInfo字段數(shù)據(jù)類型長度與否容許為空字段描述UserNamevarchar40否顧客名Passwdvarchar40是密碼UserTypeint4否顧客類型考勤管理系統(tǒng)實現(xiàn)系統(tǒng)登陸功能實現(xiàn)顧客要使用本系統(tǒng),一方面必要通過系統(tǒng)身份認(rèn)證。如果顧客名錯誤或者不存在,密碼錯誤3次后,對話框自動關(guān)閉。圖2登陸對話框詳細(xì)代碼如下:voidCLoginDlg::OnOK(){ UpdateData(TRUE);//將對話框中編輯框數(shù)據(jù)讀取到成員變量中 if(m_User=="")//沒有輸入顧客名 { MessageBox("請輸入顧客名","信息提示"); GetDlgItem(IDC_USER_EDIT)->SetFocus(); return;} CUserInfoUser;//定義顧客信息表變量 if(!User.IsExistUser(m_User))//判斷顧客與否存在 {count++; if(count<3) {MessageBox("顧客名不存在,請重新輸入!","顧客名錯誤",MB_ICONINFORMATION); UpdateData(FALSE); GetDlgItem(IDC_USER_EDIT)->SetFocus(); return;} else { MessageBox("重試次數(shù)已到,不能再輸入顧客名和密碼,即將退出系統(tǒng)!","顧客名錯誤",MB_ICONEXCLAMATION); exit(0);}} User.GetInfo(m_User);//判斷密碼與否對的 if(User.Passwd!=m_Passwd) {……//同顧客判斷} CDialog::OnOK();//關(guān)閉對話框}基本信息管理模塊基本信息管理模塊涉及節(jié)假日信息管理,部門信息管理和員工信息管理。節(jié)假日信息管理節(jié)假日信息管理,一方面對節(jié)假日信息編輯,判斷節(jié)假日記錄與否存在,存入數(shù)據(jù)。在從HolidaySet中讀取所有節(jié)假日記錄,在對記錄進行操作,即添加,修改和刪除。普通顧客是不能打開這一塊信息,節(jié)假日管理對她們是不可見。圖3節(jié)假日信息框某些代碼如下:BOOLCHolidayManDlg::OnInitDialog()//初始化{ CDialog::OnInitDialog(); RefreshData();}voidCHolidayManDlg::RefreshData()//更新數(shù)據(jù){ UpdateData(TRUE); CStringcSource="SELECTId,HolidayDateAS節(jié)假日,HolidayNameAS名稱""FROMHolidaySet"; //設(shè)立Select語句 m_Adodc.SetRecordSource(cSource);//刷新ADOData控件記錄源 m_Adodc.RefreshData()}voidCHolidayManDlg::OnAddButton()//添加按鈕{ UpdateData(TRUE); CHolidayEditDlgdlg;//初始化HolidayEditDlg對話框中變量 if(dlg.DoModal()==IDOK) RefreshData();}voidCHolidayManDlg::OnModiButton()//修改按鈕{ CHolidayEditDlgdlg;//設(shè)立HolidayEditDlg對話框中變量 if(dlg.DoModal()==IDOK)//打開HolidayEditDlg對話框 RefreshData();}voidCHolidayManDlg::OnDelButton()//刪除按鈕{ cur.SqlDelete(m_Datagrid.GetItem(0)); RefreshData(); }部門信息管理部門信息管理模塊涉及部門信息編輯對話框,部門信息管理對話框和部門信息選取對話框。部門編輯重要是用來添加和修改部門信息。部門信息管理對話框,是系統(tǒng)管理員進行操作,如果當(dāng)前顧客不是系統(tǒng)管理員,則添加,修改,和刪除等按鈕是不可以用,她們沒有有關(guān)權(quán)限。在刪除部門時候要對部門信息進行判斷,如果部門是根節(jié)點,包括下一級部門和員工時不能刪除。部門信息選取,是為了以便顧客選取部門,后來其她模塊程序可以通過此程序來獲取選取部門信息。圖4部門圖重要代碼如下:BOOLCDepManDlg::OnInitDialog()//初始化{CDialog::OnInitDialog();}voidCDepManDlg::AddtoTree(HTREEITEMm_node,intUpperId){//使用遞歸辦法將部門添加到TreeView控件中 inti; HTREEITEMm_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))); }}voidCDepManDlg::OnAddButton()//添加按鈕{HTREEITEMnode;//用于保存當(dāng)前選取節(jié)點 node=m_tree.GetSelectedItem();//獲得當(dāng)前選取節(jié)點}//刪除按鈕voidCDepManDlg::OnDelButton(){HTREEITEMnode;//用于保存當(dāng)前節(jié)點 node=m_tree.GetSelectedItem();//獲得當(dāng)前節(jié)點 //彈出對話框,規(guī)定顧客確認(rèn)與否刪除。如果顧客單擊“是”按鈕,則刪除 if(MessageBox("與否刪除當(dāng)前部門?","請確認(rèn)",MB_YESNO)==IDYES) {dep.SqlDelete(cDepId);//刪除表Departments中指定記錄 m_tree.DeleteItem(node);//刪除Tree控件中當(dāng)前節(jié)點}}員工信息管理編輯員工基本信息對話框用來添加和修改員工信息,重要涉及員工姓名,性別,出生日期,身份證號,到崗日期,辦公電話,手機電話,工作崗位,職務(wù)和描述信息。員工管理則是通過選取部門信息,添加,修改和刪除員工信息這里可以查看每個部門下員工信息。同樣普通顧客只能查看員工信息,不能對其信息進行添加,修改和刪除等操作。圖5員工信息圖重要代碼如下:voidCEmpManDlg::RefreshData(){UpdateData(TRUE);intiDepId;//從Tree控件中讀取部門編號信息 HTREEITEMnode; node=m_tree.GetSelectedItem(); iDepId=m_tree.GetItemData(node); CStringcDepId;//依照部門編號設(shè)立SELECT語句 cDepId.Format("%d",iDepId); //設(shè)立SELECT語句 CStringcSource="SELECTEmpId,NameAS姓名,SexAS性別," "BirthdayAS生日,IdCardAS身份證號,OfficePhoneAS辦公電話," "MobileAS手機號碼,HireDateAS到崗日期,MissionAS工作崗位," "DutyAS職務(wù),MemoAS備注FROMEmpInfoe,DepInfod" "WHEREe.DepId=d.DepId";…}voidCEmpManDlg::OnAddButton()//添加按鈕{ UpdateData(TRUE); CTimeCurrentTime=CTime::GetCurrentTime();//添加員工時,將日期控件設(shè)立為當(dāng)天 if(dlg.DoModal()==IDOK) RefreshData();}voidCEmpManDlg::OnModiButton()//修改按鈕{UpdateData(TRUE); CEmpInfoemp;//讀取選取員工記錄 emp.GetInfo(m_Datagrid.GetItem(0)); CEmpEditDlgdlg;//將員工數(shù)據(jù)讀取到編輯對話框中 if(dlg.DoModal()==IDOK) RefreshData();}voidCEmpManDlg::OnDelButton()//刪除按鈕{ CEmpInfoemp; emp.SqlDelete(m_Datagrid.GetItem(0)); RefreshData();}考勤管理模塊考勤管理模塊重要實現(xiàn)了出勤信息管理,加班信息管理,請假信息管理和出差信息管理。出勤信息管理出勤信息編輯對話框中,一方面單擊選取部門按鈕,在左側(cè)表格中將顯示選取部門中所有員工信息。選取一種員工,會在右側(cè)下方顯示她出勤狀態(tài)。選取出勤狀態(tài),然后單擊擬定按鈕,可以保存指定員工出勤狀況。出勤管理對話框中,依照左邊部門,列出各個部門中員工及其員工出勤信息,出勤時間,與否全勤,與否出差,與否遲到,與否早退,與否曠工等。顧客可以依照實際狀況進行詳細(xì)操作,添加,修改和刪除。圖6出勤信息重要代碼如下:voidCOnDutyManDlg::RefreshData(){ UpdateData(TRUE); intiDepId;//從Tree控件中讀取部門編號信息 HTREEITEMnode; node=m_tree.GetSelectedItem(); iDepId=m_tree.GetItemData(node); CStringcDepId;//依照部門編號設(shè)立SELECT語句 cDepId.Format("%d",iDepId); //設(shè)立SELECT語句 CStringcSource="SELECTc.EmpIdAS員工編號,e.NameAS姓名,c.CheckDateAS出勤日期,""c.QuanQinAS與否全勤,c.XiuXiAS與否休息,c.KuangGongAS與否曠工," "c.ChiDaoAS與否遲到,c.ZaoTuiAS與否早退FROMCheckInfoc,EmpInfoe,DepInfod""WHEREc.EmpId=e.EmpIdANDe.DepId=d.DepId"; m_Adodc.SetRecordSource(cSource);//刷新ADOData控件記錄源 m_Adodc.Refresh();}voidCOnDutyManDlg::OnAddButton()//添加按鈕{...}voidCOnDutyManDlg::OnModiButton()//修改按鈕{…}voidCOnDutyManDlg::OnDelButton()//刪除按鈕{…}程序調(diào)用m_tree.GetSelectedItem()函數(shù)獲取當(dāng)前選取部門接點數(shù)據(jù),并使用GetItemData(node)函數(shù)獲取部門編號。然后依照選取部門編號設(shè)立SELECT語句,從表CheckInfo,表EmpInfo和表DepInfo中獲取部門中所有員工出勤記錄。加班信息管理加班信息編輯對話框重要是對員工加班狀況添加和修改。一方面點擊選取部門,在左側(cè)則列出所有部門及其員工信息,選取一種員工,會在右側(cè)下方顯示她加班狀態(tài)。選取加班狀態(tài),涉及加班時數(shù),加班因素和加班類型,然后單擊擬定按鈕,可以保存指定員工加班狀況。加班信息管理對話框中,通過點擊左邊部門,列出各個部門中員工及其員工加班信息,加班時間,加班時數(shù),加班因素和加班類型等。顧客可以依照實際狀況進行詳細(xì)操作,添加,修改和刪除。圖7加班信息框某些代碼如下:voidCOvertimeManDlg::OnAddButton()//添加按鈕{ COvertimeEditDlgdlg; CurrentTime=CTime::GetCurrentTime(); dlg.otDate=CurrentTime.Format("%Y-%m-%d"); if(dlg.DoModal()==IDOK) RefreshData();}voidCOvertimeManDlg::OnModiButton()//修改按鈕{ if(m_Adodc.GetRecordset().GetEof()) { MessageBox("請選取要修改記錄!"); return; } CEmpInfoemp;//依照員工編號得到員工信息 emp.GetInfo(m_Datagrid.GetItem(0)); CStringcDepId;//依照部門編號得到部門信息 cDepId.Format("%d",emp.DepId); dep.GetInfo(cDepId); COvertimeEditDlgdlg; if(m_Datagrid.GetItem(4)=="法定節(jié)假日加班") dlg.m_overtime=0; elseif(m_Datagrid.GetItem(4)=="周六日加班") dlg.m_overtime=1; elseif(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();}voidCOvertimeManDlg::OnDelButton()//刪除按鈕{cur.SqlDelete(m_Datagrid.GetItem(2),m_Datagrid.GetItem(0));}請假信息管理請假信息編輯對話框中,一方面點擊選取部門,在左側(cè)則列出所有部門及其員工信息,選取一種員工,會在右側(cè)下方顯示她請假狀態(tài)。選取出勤狀態(tài),請假分為病假和事假,并且需要輸入請假因素,然后單擊擬定按鈕,可以保存指定員工請假狀況。請假信息管理對話框中,通過點擊左邊部門,列出各個部門中員工及其員工信息,選中員工姓名則可以進行員工請假信息編輯。顧客可以依照實際狀況進行詳細(xì)操作,添加,修改和刪除。圖8請假信息圖重要代碼如下:voidCLeaveEditDlg::OnOK(){ UpdateData(TRUE); if(m_Adodc.GetRecordset().GetEof())//與否選取人員 { MessageBox("請選取人員"); return; } if(m_shijia==-1)//與否進行添加考勤狀態(tài) { MessageBox("請選取出勤狀態(tài)"); return; } CCheckInfocur; 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();//插入記錄} else { cur.UpdateLeave(cur.CheckDate,EmpId);//修改CheckInfo表記錄} CDialog::OnOK();}請假信息保存在表CheckInfo中,如果在出勤信息管理模塊中輸入了出勤信息,則不能再輸入請假信息。如果修改記錄,則程序調(diào)用UpdateLeave()函數(shù),更新表CheckInfo中Shijia,Bingjia和Memo等字段值。出差信息管理出差信息管理編輯對話框重要是對員工出差狀況添加和修改。一方面點擊選取部門,在左側(cè)則列出所有部門及其員工信息,選取一種員工,會在右側(cè)下方顯示她出差狀態(tài)。選取出差狀態(tài),寫出出差因素,然后單擊擬定按鈕,可以保存指定員工出差狀況。出差信息管理對話框中,通過點擊左邊部門,列出各個部門中員工及其員工出差信息。顧客可以依照實際狀況進行詳細(xì)操作,添加,修改和刪除。圖9出差信息重要代碼如下:voidCErrandEditDlg::OnOK(){UpdateData(TRUE); if(m_Adodc.GetRecordset().GetEof())//與否選取人員 { MessageBox("請選取人員"); return;} CCheckInfocur; 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();//插入記錄} else { cur.UpdateErrand(cur.CheckDate,m_Datagrid.GetItem(0));//修改CheckInfo表記錄} CDialog::OnOK();……}記錄查詢模塊記錄查詢模塊重要是實現(xiàn)了日考勤登記表,月考勤登記表,當(dāng)天缺勤人員列表3個功能。日考勤登記表日考勤登記表按日查詢所有員工出勤,加班,請假和出差等信息。一方面選取要查詢?nèi)掌?,在點擊查詢按鈕,即列出這日期員工信息,涉及員工編號,員工姓名,出勤日期,與否全勤,與否出差,與否請假,與否加班等等。圖10日考勤記錄圖重要代碼如下:voidCTimeSelDlg::RefreshData(){UpdateData(TRUE); CStringcTime;//依照部門編號設(shè)立SELECT語句 cTime=m_time.Format("%Y-%m-%d"); //設(shè)立SELECT語句 CStringcSource="SELECTc.EmpIdAS員工編號,e.NameAS姓名,c.CheckDateAS出勤日期,""c.QuanQinAS與否全勤,c.ChuChaiAS與否出差,c.ShiJiaAS與否事假,""c.BingJiaAS與否病假,c.KuangGongAS與否曠工,c.XiuXiAS與否休息,""c.ChiDaoAS與否遲到,c.ZaoTuiAS與否早退,c.MemoAS備注""FROMCheckInfoc,EmpInfoeWHEREc.EmpId=e.EmpIdANDc.CheckDate='"+cTime+"'"; //刷新ADOData控件記錄源 m_Adodc.SetRecordSource(cSource); m_Adodc.Refresh();}程序執(zhí)行SELECT語句,從表CheckInfo和EmpInfo中讀取選取日期中各員工考勤信息。月考勤登記表月考勤登記表是按月記錄所有員工出勤天數(shù),請假天數(shù),出差天數(shù)等信息。為了對各種考勤天數(shù)進行記錄,需要創(chuàng)立一組視圖,分別按月記錄所有員工全勤天數(shù),休息天數(shù),曠工天數(shù),遲到次數(shù),早退次數(shù),病假天數(shù),事假天數(shù)和出差天數(shù)。在表CheckInfo中,CheckDate字段保存考勤日期,LEFT(CheckDate)返回考勤日期年份和月份信息,使用COUNT()函數(shù)和GROUPBY子句記錄考勤月份和員工分組各種考勤天數(shù)。圖11月考勤記錄圖重要代碼如下:voidCDepDlg::RefreshData(){ UpdateData(TRUE); //依照部門編號設(shè)立SELECT語句 CStringcStrCnd,cDepId; cDepId.Format("%d",iDepId); if(iDepId>0) cStrCnd="Andd.DepId="+cDepId; else cStrCnd=""; CStringcTime;//查詢?nèi)掌?//得到年份和月份 m_year.GetLBText(m_year.GetCurSel(),cYear); m_month.GetLBText(m_month.GetCurSel(),cMonth); cTime=cYear+"-"+cMonth;//得到日期 //設(shè)立SELECT語句 CStringcSource="SELECTe.NameAS姓名," "ISNULL(v1.CountQuanQin,0)AS全勤天數(shù),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ù)" "FROMv_QuanQinv1,v_ChuChaiv2,v_ShiJiav3,v_BingJiav4,DepInfod," "v_KuangGongv5,v_XiuXiv6,v_ChiDaov7,v_ZaoTuiv8,EmpInfoe" "WHEREe.EmpId*=v1.EmpIdANDe.EmpId*=v2.EmpIdAnde.DepId=d.DepId" "ANDe.EmpId*=v3.EmpIdANDe.EmpId*=v4.EmpIdANDe.EmpId*=v5.EmpId" "ANDe.EmpId*=v6.EmpIdANDe.EmpId*=v7.EmpIdANDe.EmpId*=v8.EmpId" "ANDv1.CheckMonth='"+cTime+"'ANDv2.CheckMonth='"+cTime+ "'ANDv3.CheckMonth='"+cTime+"'ANDv4.CheckMonth='"+cTime+ "'ANDv5.CheckMonth='"+cTime+"'ANDv6.CheckMonth='"+cTime+ "'ANDv7.CheckMonth='"+cTime+"'ANDv8.CheckMonth='"+cTime+"'"+cStrCnd; //刷新ADOData控件記錄源 m_Adodc.SetRecordSource(cSource); m_Adodc.Refresh();…}程序執(zhí)行SELECT語句,從表EmpInfo和其她視圖中讀取選取月份中各員工考勤信息,ISNULL()函數(shù)是SQLServer內(nèi)部函數(shù),它功能是當(dāng)?shù)谝环N參數(shù)為NULL時,將第二個參數(shù)作為成果返回。當(dāng)天考勤人員列表當(dāng)天考勤人員列表查詢當(dāng)前系統(tǒng)日期中所有缺勤員工信息,缺勤指病假,事假和曠工等狀況。圖12當(dāng)天缺勤人員圖重要代碼如下:voidCAbsenceDlg::RefreshData(){ UpdateData(TRUE); CStringcTime;//依照部門編號設(shè)立SELECT語句 cTime=CurrentTime.Format("%Y-%m-%d"); //設(shè)立SELECT語句 CStringcSource="SELECTe.EmpIdAS員工編號,e.NameAS姓名,d.DepNameAS部門名稱," "e.MobileAS聯(lián)系電話FROMDepInfod,EmpInfoe" "WHEREe.DepId=d.DepIdANDe.EmpIdIN" "(SELECTEmpIdFROMCheckInfoWHERE(ShiJia='是'ORBingJia='是'ORKuangGong='是')" "ANDCheckDate='"+cTime+"')"; m_Adodc.SetRecordSource(cSource);//刷新ADOData控件記錄源 m_Adodc.Refresh();…}程序中使用了嵌套查詢語句,即在一種SELECT語句中嵌套使用了此外一種SELECT語句。主SELECT語句顯示員工和部門信息,在其查詢條件中使用IN子句嵌套另一種SELECT語句。從SELECT可以返回表CheckInfo中當(dāng)天事假,病假和曠工記錄。顧客管理模塊依照顧客類型不同,顧客管理模塊功能也不相似,重要涉及Admin顧客可以創(chuàng)立其她顧客,修改顧客密碼,刪除其她顧客,而其她顧客只能修改自身顧客信息。這個模塊涉及了顧客管理和密碼修改兩個功能。在顧客管理中只有Admin顧客才可以進行操作,可以添加刪除其她顧客信息。圖13顧客管理框圖重要代碼如下:voidCUserManDlg::RefreshData(){ UpdateData(TRUE); //

溫馨提示

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

最新文檔

評論

0/150

提交評論