考勤标准管理系统.doc
《考勤标准管理系统.doc》由会员分享,可在线阅读,更多相关《考勤标准管理系统.doc(11页珍藏版)》请在咨信网上搜索。
考勤系统开发方案及过程 编写人:Paul 编写时间:7月23日 一、设计目标 伴随计算机发展及网络技术应用,当今社会正快速向信息自动化社会前进,信息自动化作用也越来越大,尤其是各行业管理领域,智能化信息处理已是提升效率、规范管理、客观审查最有效路径。考勤作为一个企业基项管理,是单位对职员工作管理基础依据。开发考勤管理系统,正是完善企业信息化管理关键步骤。对于职员考勤假如仍使用传统手工方法录入将是一项复杂工作。面对庞大信息量,该方法现关键存在以下弊端: 1、 浪费人力、效率低下; 2、考勤结果反应速度慢(一月才能汇总一次),主管部门不能立即全方面地监督职员出勤情况; 3、难避免考勤中弄虚作假现象。部分单位上报工资人数往往大于实际考勤和领工资人数,造成企业大量工资流失; 4、因为考勤数据不正确,企业劳感人事工资管理系统很多基础数据也存在较大误差,给人事部门很多全局性统计工作也带来了不正确性; 5、考勤统计工作复杂繁重,难以确保统计结果正确性、立即性。 所以,人工考勤已极难满足企业规范化管理要求。建立现代化智能考勤管理系统势在必行。 经过考勤管理系统能满足企业多个考勤及管理要求,能为企业带来巨大经济效益: 1、考勤管理系统经过考勤机判定并统计职员上下班关信息,能够确保考勤数据正确、公正、安全,降低考勤人员工作负担,避免人为原因干扰和弄虚作假现象; 2、全部职员考勤信息可一次读回,考勤系统对信息统一处理,快速、全方面; 3、能为人事工资管理系统提供可靠数据资料,确保人事统计正确、可靠; 4、各管理用计算机及管理软件用Windows环境下全汉字界面平台,能灵活处理多种特殊情况,方便修改多种基础信息,提供丰富统计报表,查询方便,管理安全,操作简便易学; 二、设计任务 1. 能够方便地对上班时间进行设定; 2. 能够提供职员出入单位情况统计。出入情况关键由考勤机来统计,不过需要设置人工添加功效,如出勤统计、月度考勤统计、人员信息、部门设置等,已备特殊情况处理; 3. 能够提供请假、加班和出差情况统计,并实现查询、添加、修改、删除、浏览等处理功效; 4. 能够在每个月底进行整个月出勤情况统计; 5. 能够含有一定安全性、协调性和完整性。 三 、设计内容和步骤 在软、硬件方面对系统需求,软件要求易学,轻易掌握,能够很简单方便管理多种信息。硬件配置要求不能太高,这么能够很好适应该前企业情况。 1. 系统功效模块设计: 系统功效模块图1-1所表示。 考勤管理系统 上下班时间设置 工作情况统计 考勤统计 手工补计出勤 加班统计 请假统计 出差统计 图1-1系统功效模块图 2. 数据步骤图: 系统数据步骤图1-2所表示,出勤原始统计关键起源于考勤机,而且以固定格式保留在数据库中。考勤管理系统任务是怎样处理这些数据。 图1-2考勤管理系统数据步骤图 职员 上下班划卡 统计出勤时间 职员 出勤统计 请假、值班、出差统计 月度职员考勤统计表 多种统计信息 经理审批 请假、值班、出差 经过 考勤员 请假、值班、出差 上下班时间安排 上下班时间安排 管理人员 3.数据库概念结构设计(E-R图)以下所表示: 职员 职员号 职员密码 权限 姓名 所在部门 ┄┄ 出差统计 统计编号 起始时间 结束时间 具体描述 出勤统计 月度考勤统计 请假统计 加班统计 统计编号 出入状态 出入时间 统计编号 年月 累计工作时间 累计加班时间 累计请假时间 累计出差时间 迟到次数 早退次数 矿工时间 统计编号 起始时间 结束时间 缘由 统计编号 加班时间 日期 统计 统计 统计 统计 统计 图1-3 E-R 图 3. 数据库需求分析: 依据数据步骤,能够列出以下管理系统所需数据项和数据结构。 出勤统计:统计号、职员、出入情况和出入时间,图1-4所表示。 图1-4 ATTENDANCE出勤统计表 月度考勤统计:统计号、职员、年月、累计正常工作时间、累计请假时间、累计加班时间、累计出差时间、迟到次数、早退次数和旷工次数,图1-5所表示。 图1-5 ATTENDANCE_STAT月度考勤统计表 请假统计:统计号、职员、假期起始时间/结束时间和请假缘由,图1-6所表示。 图1-6 LEAVE 请假统计表 加班统计:统计号、职员、加班时间长度和日期,图1-7所表示。 图1-7 OVERTIME 加班统计表 出差统计:统计号、职员、出差起始时间/结束时间和具体描述,图1-8所表示。 图1-5 ERRAND 出差统计表 人员信息:职员号、密码、权限、姓名、部门和目前状态等,图1-9所表示。 图1-9 PERSON 人员信息表 部门设置:部门编号、名称等,图1-10所表示。 图1-10 DEPARTMENT 部门设置表 5.数据库操作准备: 为了使用ODBC类,需要在stdafx.h中加入#include”afxdb.h”一行。因本程序只需要连接一个数据库,所以定义了一个Cdatabase型全局变量db,一次性打开和关闭数据库。数据库打开在登录认证对话框中。在主程序结束前需关闭数据库,所以在App类ExitInstance()函数中加入代码:if (db.IsOpen()) db.Close();为了编程便捷,能够为数据库中每一个表映射一个统计集类(从CrecordSet类继承),其映射关系如表1-1所表示。这些类经过RFX(Record Field Exchange)机制将组员变量和表格中字段值联络起来,经过方问组员变量能够访问目前统计中字段值。 Crecordset派生类 表格 CAttendanceRS ATTENDANCE出勤统计表 CCounterRS COUNTER计数器表 CdepartRS DEPARTMENT部门信息表 CerrandRS ERRAND出差统计表 CLeaveRS LEAVE请假统计表 COvertimeRS OVERTIME加班统计表 CPersonRS PERSON职员个人信息表 CStatRS ATTENDANCE_STAT月度考勤统计表 表1-1 CRecordset派生类对应表格 6.主对话框设计: 主对话框界面图1-11所表示。用户能够经过菜单进行方便操作,如添加统计,统计统计等。每个菜单项关联了一个对话框,在对应菜单项初始化中使用:类名 dlg; dlg.DoModal();两条语句来进行实现。 图1-11 主对话框 6. 考勤统计对话框创建 考勤统计对话框界面设计图1-12所表示。用户可进行月度统计,也能够经过查找满足条件统计如年月、职员、姓名等来进行相关统计。 图1-12 考勤统计对话框 四、测试和评价 经过测试,该应用程序能够很好实现上班时间设定;能够提供职员出入单位情况统计;能够提供请假、加班和出差情况统计,并实现查询、添加、修改、删除、浏览等处理功效;能够在每个月底进行整个月出勤情况统计;能够拥有一定安全性、协调性和完整性。但在安全性上存在一定漏洞;功效不够完善,不能进行统一查询;界面相对简单,所以总体评价为中等。 期望能得到彭老师指导得以愈加完善此系统,添补漏洞。 五、附录 1.主界面源代码清单: BOOL CAttendanceDlg::OnInitDialog() { CDialog::OnInitDialog(); // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu); } } void CAttendanceDlg::OnBtnConfig() { // 显示工作时间设置对话框 CWorkplanDlg dlg; dlg.DoModal(); } 2.考勤修改对话框源代码清单: BOOL CAttDlg::OnInitDialog() //初始化对话框 { m_Sheet.Create(this, WS_CHILD | WS_VISIBLE, 0); //创建窗口 m_Sheet.ModifyStyleEx (0, WS_EX_CONTROLPARENT); //修改风格 m_Sheet.ModifyStyle( 0, WS_TABSTOP ); //修改风格 // 设置窗口位置 m_Sheet.SetWindowPos( NULL, 0, 100, 0, 0, SWP_NOZORDER | SWP_NOSIZE | SWP_NOACTIVATE ); return TRUE; } 为了方便地更新列表框内容,编写了UpdateList()函数,调用些函数可使列表框显示给定数据表格。 void CPage1::UpdateList(CAttendanceRS& rs) //更新列表框内容 { int i=0; CString strID,strTime; rs.Open(); // 打开出勤统计表 m_cList.DeleteAllItems(); // 清除列表框内容 while(!rs.IsEOF()) // 对数据表中全部统计进行处理 { m_cList.InsertItem(i, ""); // 添加新Item strID.Format("%d", rs.m_ID); // 转换为字符串 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(); // 关闭出勤统计表 } 添加部门和全体职员出勤统计过程最终可分解为添加单个职员统计过程。为了避免程序反复,设置了下面子程序: // 添加出勤统计函数 void CPage1::IO_Add(CString strPersonID) { int counter; // 用于计数 CString strIO; // 保留出入情况 CCounterRS rs_counter(&db); // 结构计数器统计表 // 统计编号 rs_counter.m_strFilter = "ID='A'"; // 设置过滤器,提取计数值 rs_counter.Open(); // 打开计数器统计表 counter=rs_counter.m_COUNTER_VALUE; // 提取计数值 counter++; // 计数值加1 rs_counter.Edit(); // 编辑计数器 rs_counter.m_COUNTER_VALUE=counter; // 保留目前计数 rs_counter.Update(); // 提交修改 rs_counter.Close(); // 关闭计数器统计表 // 添加统计 // 判定确定出入情况 if(((CButton*)GetDlgItem(IDC_RADIO_OUT))->GetCheck()) strIO="O"; else strIO="I"; // 转换出入时间类型 int nYear,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); // 得到分 // 得到出入时间 CTime IO_time(nYear,nMonth,nDay,nHour,nMinute,0); CAttendanceRS rs_attendance(&db); // 结构考勤统计表 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(); // 关闭考勤统计表 UpdateList(rs_attendance); // 更新列表框 } 3.考勤统计对话框源代码清单 当输入职员号时,检索职员姓名,用于确定输入。 void CStatDlg::OnChangeStatEdtSeekpersonid() { UpdateData(); // 更新数据 CPersonRS rs(&db); // 结构统计集 rs.m_strFilter = "ID='" + m_strPersonID + "'"; // 设置过滤条件 rs.Open(); // 打开统计集 if(rs.GetRecordCount()==1) // 判定职员统计是否存在 { m_strPersonName=rs.m_NAME; // 得到职员姓名 } else m_strPersonName.Empty(); // 清除职员姓名显示 rs.Close(); // 关闭统计集 UpdateData(FALSE); // 更新界面数据 } 在以上代码中用到了StrToTime函数,这是一个全局函数,代码以下: Ctime StrToTime(Cstring str) { //时间串格式“%Y-%m-%d %H:%M:%S”,如“1999-01-01 11:11:11” int nYear,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); //得到时 sscanf(str.Mid(14,2),”%d”,&nMinute); //得到分 sscanf(str.Mid(17,2),”%d”,&nSecond); //得到秒 //结构Ctime变量 Ctime result(nYear,nMonth,nDay,nHour,nMinute,nSecond); Return result; } 4.参考文件: 1、陈建春.Visual C++开发GIS系统,开发实例剖析,. 2、陈建春.Visual C++高级编程技术,开发实例剖析,1999年. 3、李于剑.Visual C++实践和提升,图形图象编程篇, . 4、同志工作室.Visual C++6.0开发技巧和实例教程, . 5、赵仕健. Visual C++6.0编程和实例解析, . 6、钱 能. C++程序设计教程, 1999年.- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考勤 标准 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文