考勤管理系統(tǒng)方案_第1頁(yè)
考勤管理系統(tǒng)方案_第2頁(yè)
考勤管理系統(tǒng)方案_第3頁(yè)
考勤管理系統(tǒng)方案_第4頁(yè)
考勤管理系統(tǒng)方案_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

....WORD.考勤系統(tǒng)開發(fā)方案及過程編寫人:Paul編寫時(shí)間:2023723一、設(shè)計(jì)目的隨著計(jì)算機(jī)的進(jìn)展及網(wǎng)絡(luò)技術(shù)的應(yīng)用,當(dāng)今社會(huì)正快速向信息自動(dòng)智能化信息處理已是提高效率、規(guī)治理、客觀審查的最有效途徑??记谧鳛橐粋€(gè)公司的基項(xiàng)治理,是單位對(duì)員工工作治理的根本依據(jù)。開發(fā)考勤治理系統(tǒng),正是完善企業(yè)信息化治理的重要環(huán)節(jié)。對(duì)于員工考勤假設(shè)仍使用傳統(tǒng)的手工方式錄入將是一項(xiàng)簡(jiǎn)潔的工作。面對(duì)浩大的信息量,該方式現(xiàn)主要存在以下弊端:1、鋪張人力、效率低下;全面地監(jiān)視員工的出勤狀況;于實(shí)際考勤和領(lǐng)工資的人數(shù),造成公司大量工資流失;數(shù)據(jù)也存在較大誤差,給人事部門的很多全局性的統(tǒng)計(jì)工作也帶來了不準(zhǔn)確性;5、考勤統(tǒng)計(jì)工作簡(jiǎn)潔繁重,難以保證統(tǒng)計(jì)結(jié)果的正確性、準(zhǔn)時(shí)性。因此,人工考勤已很難滿足公司規(guī)化治理的要求。建立現(xiàn)代化的智能考勤治理系統(tǒng)勢(shì)在必行。巨大的經(jīng)濟(jì)效益:證考勤數(shù)據(jù)的準(zhǔn)確、公正、安全,削減考勤人員的工作負(fù)擔(dān),避開人為因素的干擾和弄虛作假現(xiàn)象;、全面;、牢靠;能靈敏處理各種特別狀況,便利的修改各種根本信息,供給豐富的統(tǒng)計(jì)報(bào)表,查詢便利,治理安全,操作簡(jiǎn)便易學(xué);二、設(shè)計(jì)任務(wù)能夠便利地對(duì)上班時(shí)間進(jìn)展設(shè)定;記錄,但是需要設(shè)置人工添加的功能,如出勤記錄、月度考勤統(tǒng)計(jì)、人員信息、部門設(shè)置等,已備特別狀況的處理;能夠供給請(qǐng)假、加班和出差狀況的記錄,并實(shí)現(xiàn)查詢、添加、修改、刪除、掃瞄等處理功能;能夠在每個(gè)月底進(jìn)展整個(gè)月的出勤狀況統(tǒng)計(jì);能夠具有確定的安全性、協(xié)調(diào)性和完整性。三、設(shè)計(jì)容與步驟在軟、硬件方面對(duì)系統(tǒng)的需求,軟件要求易學(xué),簡(jiǎn)潔把握,可以很適應(yīng)當(dāng)前的企業(yè)狀況。1.系統(tǒng)功能模塊設(shè)計(jì):系統(tǒng)功能模塊如圖1-1所示??记谥卫硐到y(tǒng)上 工下 作 考置班 情 勤時(shí) 況 統(tǒng)間 記 計(jì)設(shè) 錄手工 加 請(qǐng) 出補(bǔ) 班 假 差計(jì) 記 記 記出 錄 錄 勤2.?dāng)?shù)據(jù)流程圖:系統(tǒng)的數(shù)據(jù)流程圖1-2些數(shù)據(jù)。員工記錄出勤時(shí)間員工出勤記錄月度員工考勤統(tǒng)計(jì)表出差記錄各種統(tǒng)計(jì)信息經(jīng)理審批通考勤員上下班時(shí)間安上下班時(shí)間安排治理人員....WORD.員工員工號(hào)權(quán)限姓名所在部門┄┄記錄 記錄 記錄 記錄 記錄出差記錄完畢時(shí)間出入時(shí)間累計(jì)工作時(shí)間完畢時(shí)間出入時(shí)間累計(jì)工作時(shí)間完畢時(shí)間 日期具體描述累計(jì)加班時(shí)間緣由累計(jì)請(qǐng)假時(shí)間累計(jì)出差時(shí)間遲到次數(shù)早退次數(shù)礦工時(shí)間

出勤記錄

記錄編號(hào)年月

請(qǐng)假記錄

加班記錄

1-3E-R圖。出勤記錄:記錄號(hào)、員工、出入狀況和出入時(shí)間,如圖1-4所示。1-4ATTENDANCE1-51-5ATTENDANCE_STAT請(qǐng)假記錄:記錄號(hào)、員工、假期起始時(shí)間/完畢時(shí)間和請(qǐng)假緣由,如1-61-6LEAVE請(qǐng)假記錄表加班記錄:記錄號(hào)、員工、加班時(shí)間長(zhǎng)度和日期,如圖1-7所示。1-7OVERTIME加班記錄表1-81-5ERRAND出差記錄表1-9所示。1-9PERSON人員信息表部門設(shè)置:部門編號(hào)、名稱等,如圖1-10所示。1-10DEPARTMENT部門設(shè)置表數(shù)據(jù)庫(kù)操作的預(yù)備:....WORD.為了使用ODBC類需要在stdafx.h中參與#include”afxdb.h”一行。因本程序只需要連接一個(gè)數(shù)據(jù)庫(kù),所以定義了一個(gè)Cdatabase型的全局變量db,一次性翻開和關(guān)閉數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)的翻開在登錄認(rèn)證對(duì)話框中。在主程序完畢前需關(guān)閉數(shù)據(jù)庫(kù),因此在 App類的數(shù)中參與代碼:if(db.IsOpen)db.Close;為了編程便捷,可以為數(shù)據(jù)庫(kù)中的每一個(gè)表映射一個(gè)記錄集類〔從CrecordSet類繼承,其映射關(guān)系如表1-1所示。這些類通過〔RecordFieldExchange〕機(jī)制將成員變量與表格中的字段值聯(lián)系起來,通過方問成員變量可以訪問當(dāng)前記錄中字段的值。Crecordset派生類 表格CAttendanceRS ATTENDANCECCounterRSCdepartRSCerrandRSCLeaveRSCOvertimeRSCPersonRSCStatRS

COUNTERDEPARTMENTERRANDLEAVEOVERTIMEPERSONATTENDANCE_STAT1-1CRecordset主對(duì)話框的設(shè)計(jì):如添加記錄,統(tǒng)計(jì)記錄等。每個(gè)菜單項(xiàng)關(guān)聯(lián)了一個(gè)對(duì)話框,在相應(yīng)的菜單項(xiàng)的初始化中使用:類名dlg;dlg.DoModal;兩條語(yǔ)句來進(jìn)展實(shí)現(xiàn)。6.考勤統(tǒng)計(jì)對(duì)話框的創(chuàng)立也可以通過查找滿足條件的記錄如年月、員工、等來進(jìn)展相關(guān)的統(tǒng)計(jì)。....WORD.四、測(cè)試與評(píng)價(jià)

1-12考勤統(tǒng)計(jì)對(duì)話框相對(duì)簡(jiǎn)潔,所以總體評(píng)價(jià)為中等。期望能得到教師的指導(dǎo)得以更加完善此系統(tǒng),添補(bǔ)漏洞。五、附錄主界面源代碼清單:BOOLCAttendanceDlg::OnInitDialog{CDialog::OnInitDialog;....WORD.//Add“About...“menuitemtosystemmenu.//IDM_ABOUTBOXmustbeinthesystemcommandrange.ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX<0xF000);CMenu*pSysMenu=GetSystemMenu(FALSE);if(pSysMenu!=NULL{ CStringstrAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if(!strAboutMenu.IsEmpty){ pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);}}voidCAttendanceDlg::OnBtnConfig{//顯示工作時(shí)間設(shè)置對(duì)話框CWorkplanDlgdlg;dlg.DoModal;}考勤修改對(duì)話框源代碼清單:BOOLCAttDlg::OnInitDialog//初始化對(duì)話框{m_Sheet.Create(this,WS_CHILD|WS_VISIBLE,0);//創(chuàng)立窗口m_Sheet.ModifyStyleEx(0,WS_EX_CONTROLPARENT);//修改風(fēng)格m_Sheet.ModifyStyle(0,WS_TABSTOP);//修改風(fēng)格//設(shè)置窗口位置m_Sheet.SetWindowPos(NULL,0,100,0,0,SWP_NOZORDER|SWP_NOSIZE|SWP_NOACTIVATE);returnTRUE;}為了便利地更列表框容,編寫了UpdateList函數(shù),調(diào)用些函數(shù)可使列表框顯示給定的數(shù)據(jù)表格。voidC1::UpdateList(CAttendanceRS&rs)//更列表框容{inti=0;CStringstrID,strTime;rs.Open;//翻開出勤記錄表m_cList.DeleteAllItems;//while(!rs.IsEOF)//對(duì)數(shù)據(jù)表中全部記錄進(jìn)展處理{m_cList.InsertItem(i,““);//添加ItemstrID.Format(“%d“,rs.m_ID);//轉(zhuǎn)換為字符串m_cList.SetItemText(i,0,strID);m_cList.SetItemText(i,1,rs.m_PERSON);m_cList.SetItemText(i,2,rs.m_IN_OUT);m_cList.SetItemText(i, 3,rs.m_IO_TIME.Format(“%Y-%m-%d%H:%M“));rs.MoveNext;//跳到下一條記錄i++;}rs.Close;//關(guān)閉出勤記錄表}添加部門和全體員工出勤記錄的過程最終可分解為添加單個(gè)員工記錄的過程。為了避開程序的重復(fù),設(shè)置了下面的子程序://添加出勤記錄函數(shù)voidC1::IO_Add(CStringstrPersonID){intcounter;//用于計(jì)數(shù)CStringstrIO;//保存出入狀況CCounterRSrs_counter(&db);//構(gòu)造計(jì)數(shù)器記錄表//記錄編號(hào)rs_counter.m_strFilter=“ID=”A”“;//設(shè)置過濾器,提取計(jì)數(shù)值rs_counter.Open;//counter=rs_counter.m_COUNTER_VALUE;//counter++;//1rs_counter.Edit;//編輯計(jì)數(shù)器rs_counter.m_COUNTER_VALUE=counter;//保存當(dāng)前計(jì)數(shù)rs_counter.Update;//提交修改rs_counter.Close;////添加記錄//推斷確定出入狀況if(((CButton*)GetDlgItem(IDC_RADIO_OUT))->GetCheck)strIO=“O“;elsestrIO=“I“;//轉(zhuǎn)換出入時(shí)間類型intnYear,nMonth,nDay,nHour,nMinute;//sscanf(m_strIOTime.Left(4),“%d“,&nYear);//sscanf(m_strIOTime.Mid(5,2),“%d“,&nMonth);//sscanf(m_strIOTime.Mid(8,2),“%d“,&nDay);//sscanf(m_strIOTime.Mid(11,2),“%d“,&nHour);//sscanf(m_strIOTime.Mid(14,2),“%d“,&nMinute);////得到出入時(shí)間CTimeIO_time(nYear,nMonth,nDay,nHour,nMinute,0);CAttendanceRSrs_attendance(&db);//構(gòu)造考勤記錄表rs_attendance.Open;//rs_attendance.AddNew;//rs_attendance.m_ID=counter;rs_attendance.m_PERSON=strPersonID;rs_attendance.m_IN_OUT=strIO;rs_attendance.m_IO_TIME=IO_time;rs_attendance.Update;rs_attendance.Close;//關(guān)閉考勤記錄表UpdateList(rs_attendance);//更列表框}考勤統(tǒng)計(jì)對(duì)話框源代碼清單當(dāng)輸入員工號(hào)時(shí),檢索員工,用于確認(rèn)輸入。voidCStatDlg::OnChangeStatEdtSeekpersonid{UpdateData;//更數(shù)據(jù)CPersonRSrs(&db);//構(gòu)造記錄集rs.m_strFilter=“ID=”“+m_strPersonID+“”“;//rs.Open;//if(rs.GetRecordCount==1)//推斷員工記錄是否存在{m_strPersonName=rs.m_NAME;//得到員工}elsem_strPersonName.Empty;//去除員工的顯示rs.Close;//UpdateData(FALSE);//更界面數(shù)據(jù)}在以上代碼中用到了StrToTime函數(shù),這是一個(gè)全局函數(shù),代碼如下:CtimeStrToTime(Cstringstr){/%Y-%m-%d%H:%M:%1999-01-011111”intnYear,nMonth,nDay,nHour,nMinute,nSecond;sscanf(str.Left(4),”%d”,&nYear); //得到年sscanf(str.Mid(5,2),”%d”,&nMonth); //得到月sscanf(str.Mid(8,2),”%d”,&nDay); //得到日sscanf(str.Mid(11,2),”%d”,&nHour); //得到時(shí)sscanf(str.Mid(14,2),”%d”,&nMinute);//得到分sscanf(str.Mid(17,2),”%d”,&nSecond);//得到秒//

溫馨提示

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

評(píng)論

0/150

提交評(píng)論