企业考勤信息管理系统设计_第1页
企业考勤信息管理系统设计_第2页
企业考勤信息管理系统设计_第3页
企业考勤信息管理系统设计_第4页
企业考勤信息管理系统设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档倾情为你奉上精选优质文档倾情为你奉上专心专注专业专心专注专业精选优质文档倾情为你奉上专心专注专业课程设计(论文)论文题目 企业考勤信息管理系统 摘 要随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。员工考勤管理是企业信息管理的重要部分面对大量的人事工资信息,采用人力处理将浪费大量的时间、人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的员工考勤管理软件进行自动化处理变得十分重要,这正是本系统开发的目的和意义。本项目开发过程中,主要进行的工作是需求分析、概要设计、详细设计、项目应用的前期准备包括培训、硬件配置等。软件采用基本对话框界

2、面,能满足中小型企业员工考勤管理的基本需要。本论文针对该软件的各个方面, 开发过程中涉及到的技术和工具都分别进行了阐述。根据以上分析本系统主要模块如下:1 登录窗口模块,2主窗口模块, 3 添加出勤记录模块,4 加班记录模块,5请假记录模块,6出差记录模块,7月度出勤情况表模块。总之,本次设计工作是一次理论联系实际的过程。对我们来说不仅是一次难得的学习机会,而且通过实践使我们深刻地了解了这些抽象概念的实质,为我们将来的工作奠定了扎实地基础。 AbstractAlong with computer popularization and computer science technology ra

3、pid development, the people start to use the computer solution actual problem more and more many. The staff checks attendance the management is the enterprise information management important part facing the massive human affairs wages information, will use manpower processing to waste the massive t

4、ime, the manpower and the physical resource, also the data accuracy will be low. Therefore, develops a contact surface to be friendly, easy to operate the staff checks attendance the management software to carry on automated processing to become extremely important, this is precisely this system dev

5、elopment goal and the significance.In this project performance history, mainly carries on the work is the demand analysis, the outline design, the detailed design, the project application earlier period preparation including training, the hardware disposition and so on. The software uses the basic d

6、ialog box contact surface, can satisfy the small and medium-sized enterprise staffs to check attendance the management basic need. Present paper in view of this software each aspect, In the performance history involves the technology and the tool separately have all carried on the elaboration. Accor

7、ding to above analyzes this system main module to be as follows: 1 registers the window module, 2 main window modules, 3 increase going out on duty record module, 4 working overtime record module, 5 asks for leave the recording module, 6 business trip record module, in July going out on duty situati

8、on table module.In brief, this design work is a apply theory to reality process. Not only to me is a rare study opportunity, moreover made me through the practice to understand profoundly these abstract concept essence, future the work has laid solidly the foundation for me.Key word: Checking attend

9、ance, system, information 目录 TOC * MERGEFORMAT 1论 绪 PAGEREF _Toc h 11.1应用背景 PAGEREF _Toc h 11.2 开发工具的选择 PAGEREF _Toc h 11.2.1 Visual C+ 6.0简介 PAGEREF _Toc h 11.2.2使用Visual C+编程的理由 PAGEREF _Toc h 21.2.3 面向对象的应用服务层设计 PAGEREF _Toc h 21.3论文的工作介绍 PAGEREF _Toc h 32 系统总体设计 PAGEREF _Toc h 42.1系统需求分析 PAGEREF

10、 _Toc h 42.2系统概要设计 PAGEREF _Toc h 52.2.1 系统结构设计 PAGEREF _Toc h 52.2.2 数据库设计 PAGEREF _Toc h 72.3 系统详细设计 PAGEREF _Toc h 143 系统应用程序设计 PAGEREF _Toc h 163.1 系统程序框架的组成 PAGEREF _Toc h 163.2 登录认证对话框的实现 PAGEREF _Toc h 173.3 主对话框窗体功能的实现 PAGEREF _Toc h 183.4上班时间设置窗体功能的实现 PAGEREF _Toc h 193.5考勤修改窗体功能的实现 PAGEREF

11、 _Toc h 203.6添假出勤记录属性页的实现 PAGEREF _Toc h 213.7加班记录属性页功能的实现 PAGEREF _Toc h 223.8请假和出差属性页功能的实现 PAGEREF _Toc h 233.9考勤统计模块功能的实现 PAGEREF _Toc h 254 系统开发总结 PAGEREF _Toc h 264.1结束语 PAGEREF _Toc h 264.2参考文献 PAGEREF _Toc h 264.3致谢 PAGEREF _Toc h 265附录 PAGEREF _Toc h 281 绪论1.1应用背景随着经济的发展,企业的规模不断扩大,人员流动日趋频繁,人

12、员出入考勤管理的工作量也随之增加,以往的人工处理方式对于员工很多的企业来说就显得力不从心,利用现代计算机技术可使考勤人员管理从繁重的劳动中解脱出来,特别是对于人员出勤档案的查询可做到更及时,更准确。方便员工的出勤统计情况等各方面的工作。考勤制度是每个企业单位所必需的,计算机的出现使员工出勤情况的记录和统计工作变的十分简单。通过开发一个企业企业员工管理系统,可使企业员工的出勤管理工作系统化,规范化和自动化,从而达到全面提高企业员工考勤管理效率的目的。1.2 开发工具的选择本系统是在VC6.0开发环境下,采用Dialog based的应用程序框架。由一个主对话框和若干个功能对话框组成。系统采用mi

13、crosoft office中的Access 2000来设计数据库,再连接数据源。1.2.1 Visual C+ 6.0简介 Visual C+ 6.0是Microsoft公司开发的基于C/C+的集成开发工具,它是Visual Studio中功能最为强大、代码效率最高的开发工具。 Visual C+ 6.0与以前的版本相比有了多方面的改进。它的编译器、调试器、连接器、编辑器、资源编辑器都有所加强,在编辑器中还提供了自动语句生成功能,编辑器会像Visual Basic一样自动提示函数的参数、对象的成员。另外,Visual C+ 6.0还提供了很多向导。MFC提供了一些新的类,提供了更强大的数据访

14、问功能。 用户可利用Visual C+ 6.0以两种方式编写Win32应用程序,一种方式是基于Windows API的C编程方式,另一种是基于MFC的C+编程方式。C编程方式是传统的、久经考验的编程方式,代码的效率较高,但开发难度与开发的工作量大。C+编程方式代码运行效率相对较低,但开发难度小、开发工作量小、源代码效率高。C编程方式的用户己经很少,本书将以C+编程方式向用户介绍利用Visual C+ 6.0的程序设计。1.2.2使用Visual C+编程的理由Visual C+ 的集成开发环境提供了一个快速的框架,很大地提高了编程效率,但是,要真正掌握Visual C+ 6.0,还必须对C/C

15、+语言编程有深入地了解,理解MFC库和Windows下的编程方法.在Windows下编程,通常是调用Windows API得以实现. Visual C+ 6.0将大量地Windows API 以C+格式进行封装,通MPFC方式提供给开发人员,大大简化了开发人员地编程工作,提供了工作效率.因而,要学好Visual C+ ,MFC地掌握是关键.Visual C+ 6.0中,我们可以使用MFC完成大多熟地工作,也可以直接调用Windows API完成一些底层地开发.用Visual C+ 6.0开发的程序代码简练,运行速度快.Visual C+ 6.0中,提供了两个功能强大的编程工具:AppWizar

16、d和ClassWizard.利用Visual C+ 6.0的AppWizard可以在很短的时间内创建出Windows应用程序的框架;二ClassWizard,则可以在应用程序框架之上迅速增加新的类,成员变量与函数,使Windows编程得以快速实现,两者结合,让Windows下的编程变得非常简单.1.2.3 面向对象的应用服务层设计N层的应用软件系统,由于其众多的优点,已经成为典型的软件系统架构,也已经为广大开发人员所熟知。在一个典型的三层应用软件系统中,应用系统通常被划分成以下三个层次:数据库层、应用服务层和用户界面层。如下图所示: 本系统也是采用三层应用服务设计,分别是数据库层、应用服务层和

17、用户界面层,分三层逐步展开详细的设计。1.3论文的工作介绍绪论部分介绍了本系统的应用背景以及对数据库开发工具的选择。第二章是本文的主体,按照软件工程的要求,从需求分析开始,经过概要设计最后到详细设计,完成对整个系统的设计。第三章根据第二章的设计结果利用Access 2000和Visual C+6.0进行了具体的窗体和应用程序设计。总结部分介绍了设计体会和编程体会,并指出了系统设计中的不足和改进的方向3 系统总体设计软件系统的总体设计大约要经历可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试以及维护等七个阶段。可行性分析和项目开发计划在前面已经叙述,下面所要做的是进行软件需求分

18、析,概要设计和详细设计。编码过程将在下一节论述,而测试和维护过程不在本文叙及.3.1系统需求分析在经过前一阶段的分析之后,我确定了我的开发课题为企业员工考勤管理系统。现在所要做的是要准确定义系统必须做什么以及系统必须具备的功能。软件需求分析中我采用结构化分析方法(structured analysis,简称sa),sa是面向数据流进行需求分析的方法,像所有的软件分析方法(如面向对象分析方法、idef方法等等)一样,sa也是一种建模活动,它使用简单易读的符号,根据软件内部数据传递、变换的关系,自顶向下逐层分解,描绘满足功能要求的软件模型。在系统中我采用数据流图(dfd)这种半形式化的描述方式表达

19、需求。它是一种功能模型,以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能。它有四种基本图形符号: :箭头,表示数据流; :圆或椭圆,表示加工; :双杠,表示数据存储; :方框,表示数据的源点或终点。,顶层流图仅包含一个员工,它代表被开发系统,它的输入流是该系统的输入数据了,输出流是该系统的输出数据;底层流图是指其加工不需要再做分解的数据流图,中间层流图表示对其上层父图的细化,它的每一步操作可能继续细化成子图。出勤的原始记录主要来源于考勤机,并且以固定格式保存在数据库中。考勤管理系统的任务是如何处理这些数据.系统的数据流程如下:通过以上的数据流图之后,我们已大体地了解了

20、系统的功能和目标,接下来所要做的就是系统功能模块的划分和数据库的设计,也就是系统的概要设计。3.2系统概要设计在软件需求分析阶段,搞清楚了软件“做什么”的问题,形成了目标系统的逻辑模型。现在我们所要做的就是要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求。首先,我们需要描述的是系统的总的体系结构。2.2.1 系统结构设计系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。将系统划分为多个模块是为了降低软件系

21、统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。在系统的概要设计中我采用结构化设计(structure design,简称sd),sd以需求分析阶段产生的数据流图dfd为基础,按一定的步骤映射成软件结构。我首先将整个系统化分为几个小问题,小模块,在系统中,我设计了上下班时间设置、出勤记录管理、和考勤统计管理3个小模块。然后,进一步细分模块,添加细节。比如,出勤记录管理我又将其分为添加修改出勤管理、加班管理、

22、请假管理;出差管理(即是代理出勤管理)等等。以下就是系统的结构图:(在这里为了表达方便我将结构图分开来表达。)上下班时间设置出勤统计情况出勤情况记录考勤管理系统在得到系统的第一层功能模块图后,经过进一步地细化,得一系统的子功能模块图:出勤情况记录出差情况记录添加出勤情况请假情况记录加班情况记录2.2.2 数据库设计1、er图设计在系统设计的开始,我首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用“实体联系模型

23、”(er模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。er模型直接从现实世界抽象出实体类型及实体间联系,然后用er图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。但er模型只能说明实体间语义的联系,不能进一步说明详细的数据结构,它只是数据库设计的第一步。er图是直观表示概念模型的工具,它有四个基本成分: 矩形框,表示实体类型(考虑问题的对象)。 菱形框,表示联系类型(实体间的联系)。 椭圆形框,表示实体类型和联系类型的属性。对于关键码的属性,在属性名下划一横线。直线,联系类型与其涉及的实体类型之间以直线连接。本系统为企业员工考勤管理,主

24、要管理员工的出勤、请假、出差和加班等事项。系统根据需要可以记录出勤人员的信息,同时还需要了解员工的请假、出差和加班等的记录情况。依据考勤管理的实际情况,考虑了多方面的因素以后,确定系统的er图。考勤管理系统的E-R图如图所示在该数据库中,我们设计了六个实体,分别是员工、出勤管理、加班管理、请假管理;出差管理,月度考勤统计管理。在本系统中员工是核心,也是基本,没有了员工其它的也就没有什么意义了。员工记录的添加是考虑到出勤记录问题,也就是说,在出勤管理的实际运用中,需要记录每个员工的具体情况这样才方便月度的统计,特别是由于员工的工资要按工作时的多少发放,所以在设计数据库时,员工记录这一实体非常重要

25、。通过这一个er图我们可以比较清楚地了解员工工作时间的多少,及其具体的情况,从员工的出勤到请假,加班等情况的勤奋情况及其员工的素质,同时也可以为以后的查询或核对提供一定有用的信息。下面就是各实体及联系类型的属性即数据库的逻辑设计,所以考勤管理系统的E-R图转换为关系表为:员工(员工号,员工密码,权限,姓名)出勤记录(员工号,记录编号,出入状态,出入时间)加班记录(员工号,记录编号,加班时间,日期)请假记录(员工号,记录编号,起始时间,结束时间,缘由)出差记录(员工号,记录编号,起始时间,结束时间,具体描述)因为每一个基本表关系都是完全依赖且没有传递依赖,所以关系达到3NF范式2、数据库表格设计

26、在完成系统的er图之后,需要将er模型转化为关系模型,也就是说,要设计出数据库所需要的表格。在这里,我选用的是关系数据库。因为关系数据库中的二维表格可以很清楚地描述数据之间的联系。我在系统中定义的表格都严格地按照范式的思想和要求去完成,数据库中的所有表格都达到了三范式的要求。根据系统er图,针对本系统的特点,在对所搜集的数据进行规范化之后,定义了如下六张表格,分别是ATTENDANCE 出勤记录表,LEAVE请假记录表,OVERTIME加班记录表,ERRAND出差记录表,员工及密码信息表。通过对这六张表格的操作可以较好地完成系统设计的各项功能,六张表格之间有着不同程度的联系。ATTENDANC

27、E 出勤记录表字段名称数据类型 说明person 文本 员工编号in_out 文本 出入情况io_time 日期/时间 出入时间图1 ATTENDANCE 出勤记录表出勤记录表主要用于记录员工出入情况和时间的详细信息,包括记录号、员工、出入情况和时间、各类信息,它即是该数据库的主表,是系统主界面的主要内容。在该表中员工编号是主键,出入情况和时间为其属性成员。做为备注有一点说明,我的数据库中备注的数据类型是文本,而不是备注类型,主要考虑到该字段的长度并不大,而且在Visual C+中文本数据类型的处理也比较方便一点。图2 LEAVE请假记录表字段名称 数据类型 说明person 文本 员工编号s

28、tart_time 日期/时间 假期开始时间end_time 日期/时间 假期结束时间reason 文本 请假缘由LEAVE请假记录表主要是记录员工的请假情况,请假的开始时间和结束时间,以方便以后员工的统计情况。图3 OVERTIME加班记录表person 文本 员工编号work_hours 数字 加班时间work_date 日期/时间 加班日期OVERTIME加班记录表主要是记录员工的加班时间长度和日期如图3所示。图4 ERRAND出差记录表person 文本 员工编号start_time 日期/时间 假期开始时间end_time 日期/时间 假期结束时间discription 文本 具体描

29、述 ERRAND出差记录表主要是记录员工的出差起始时间/结束时间和具体描述。图5 PERSON 员工信息表字段名称 数据类型 说明Person 文本 员工编号passwd 文本 密码authority 文本 用户权限name 文本 员工姓名sex 文本 性别birthday 日期/时间 生日job 文本 职务edu_level 文本 受教育程度specialty 文本 专业技能address 文本 家庭住址 tel 文本 联系电话PERSON 员工信息表员工信息表主要用于记录有关员工的各类信息,包括姓名、职称、出生日期、联系电话、联系地址等。它主要用来为系统提供员工的有关信息,因为在系统中,出

30、勤管理、加班管理、请假管理;出差管理,月度考勤统计管理操作均与员工有着一定的联系,需要查找有关此项记录有关的员工信息等都要用到这个表。 图6COUNTER信息表字段名称 数据类型 说明Counter_value 数字 计数值Descrtption 文本 描述COUNTER信息表主要是记录员工的统计工作。图7 DEPARTMENT信息表字段名称 数据类型 说明Name 文本 部门名称Manager 文本 部门经理Intro 备注 简介DEPARTMENT信息表主要是记录员工部门里面的各种信息。图8 ATTENDANCESTAT信息表字段名称 数据类型 说明Year_month 文本 统计月份Pe

31、rson 文本 员工号Work_hour 数字 累计工作时间Over_hour 数字 累计加班时间Leave_hour 数字 累计请假时间Errand_hday 数字 累计出差时间Late_times 数字 迟到次数Early_times 数字 早退次数Absent_times 数字 旷工次数ATTENDANCESTAT信息表主要用于记录有关统计的详细信息,主要是按月度来统计包括员工的工作时间、加班时间,累计请假时间,累计出差时间,迟到和早退的次数等信息。通过以上设计已经完成了系统的概要设计,当我们有了系统的功能模块图和数据库之后,就需要着手去实现每一个模块,为每一个功能设计程序流程图,这也就

32、是系统的详细设计。3.3 系统详细设计在前面的概要设计中,已将系统划分为多个模块,并将它们按照一定的原则组装起来,同时确定了每个功能及模块之间的外部接口。现在所要做的就是确定每个模块具体执行过程,也可以说是“过程设计”。 由前一阶段产生的系统功能模块图,我为系统的主要部分设计了如下程序模块图:通过以上步骤,基本上完成了对整个系统的总体设计,接下来所要做的就是软件的编码工作。 3 系统应用程序设计3.1 系统程序框架的组成本实例采用dialog based的应用程序框架. 由一个主对话框和若干个功能对话框组成,其中功能对话框登陆对话框和上下班时间设置对话框都是非模态对话框用AppWizard生成

33、程序框架,加入数据库支持.在MFC AppWizar-Step1 中选择DialogBased选项,其余均采用缺省配置.本程序数据库的操作是通过MFC的ODBC类实现的,为了使用ODBC类,需要在stdafx.h中加入#include “ afxdb.h”一行. 因本程序只需连接一个数据库,所以定义了一个CDatadase型的全局变量db,一次性打开和关闭数据库,方便程序的编写. 数据库的打开在登录认证对话框中. 在主程序结束前关闭数据库,因此在App类的ExitInstance()函数中加入以下代码; if(db.Isopen() db.Close(); 使用全局数据库变量db,需要在其他地

34、方使用他的文件中加入以下语句: Extern Database db;为了访问数据库中的表格,本程序从CRecordset中派生8个类,分别用于封装所需访问的表格,如下列图表所示. 这些类通过RFX(Record Field Exchange)机制将成员变量也表格中的字段值联系起来,通过访问成员变量可以访问当前记录中字段的值.CRecordset 派生类在Acess数据库中对应的表格:CRecordset 表格CAttendanceRS ATTENDANCE出勤记录表CCounterRS COUNTER计数器表CdepattRS DEPARTMENT部门信息表CerrandRS ERRAND出

35、差记录表CerrandRS CLeaveRS COvertimeRS OVERTIME加班记录表CPersonRS PERSON员工个人信息表CStatRS ATTENDANCE_STAT月度考勤统计表3.2 登录认证对话框的实现首先在控制面板中建立ODBC数据源,数据源名称为MISDB,运行程序Attendance.exe,进入登陆界面(界面一)。用户名为HONG,密码为123。登陆窗口对话框,包括三个输入框和两个按钮。主要控件类型,ID和对应的成员变量及说明见见表。登陆窗口对话框的封装类为CLoginDlg。界面一:登录认对话框其中两个Button采用了缺省ID,即IDOK和IDCANCE

36、L,其中对IDOK的点击加了登录代码, CLoginDlg类需要用到加密类,为了保证统一,加密类使用了CCrypt类,需要在cpp文件开头加入#include“CCrypt”一行。另外,为了使用全局变量数据库变量db,需要在cpp文件开头加入下面的语句:extern CDatabase db;改变登录人事管理系统字体的类型为华文彩云和需要在OnInitDialog()添加下面的代码。BOOL CLoginDlg:OnInitDialog() CDialog:OnInitDialog(); m_font.CreatePointFont(180,华文彩云,NULL); GetDlgItem(IDC

37、_STATIC_LOGINTEXT)-SetFont(&m_font,true); / 如数据库为打开状态,则关闭if(db.IsOpen() db.Close();在用户的“登陆”按钮功能实现的代码在void CLoginDlg:OnOK() 函数中见附录最侯为了先运行登录认证对话框,还需在App类的InitInstance()函数中加代码:/ 显示登录对话框CLoginDlg LoginDlg;if(LoginDlg.DoModal()!=IDOK) return FALSE;3.3 主对话框窗体功能的实现用户登录后即显示主对话框窗口,主对话框包括5个按钮,分别实现5项功能,封装主对话框的

38、类是CAttendanceDlg,主要界面及说明如下:界面二:主对话框在CAttendanceDlg中定义以下成员变量: CBrush m_brush;CStatDlg * m_pStatDlg; CAttDlg * m_pAttDlg;CFont m_font;/ 改变标题字体类型m_font.CreatePointFont(180,华文彩云,NULL);GetDlgItem(IDC_STATIC_HEAD)-SetFont(&m_font,true);/ 初始化对话框指针为空 m_pAttDlg=NULL;m_pStatDlg=NULL;对话框中的5个按钮的功能主要就是显示相应的功能对话框

39、.。各按钮的功能主要是显示相应的功能对话框。各按钮的事件处理代码见附录。3.4上班时间设置窗体功能的实现点击“设置”进入界面三设置上下班时间。在界面三中,你可以修改上下班时间,点击“修改”,设置的时间会记录到配置文件“workplan.ini”中。如果配置文件不存在,上下班时间就被设定为程序中的默认值。 界面三:上班时间设置窗体公司的上下班时间相当固定,而且需要在统计时频繁使用,所以不需要保存在数据库中.本例采用标准的INI设置文件来保存这些数据; “修改”按钮的BN_CLICKEN事件处理程序用于保存当前的设置. “恢复默认设置”按钮的BN_CLICKED事件处理程序用于恢复原来的设置.这个

40、函数也同时被OnInitDialog()函数引用,以实现初始化操作. OnWorkplanReset()函数则存放恢复默认设置按钮的码3.5考勤修改窗体功能的实现考勤修改对话框主要用来人工输入出勤情况. 如果考勤机出现问题,这个功能及时弥补数据.同时加班,请假,出差的记录都需要通过这个对话框来输入.对话框的布局如下图所示.为了区分不同的输入,在对话框中嵌入了CPropertySheet和4个CPropertyPage,4个CPropertyPage分别放置出勤,加班,请假和出差记录的修改界面.4个界面共用一个查询条件设置,下图中下方的空白界面即是用来放置CPropertySheet和CProp

41、ertyPage的,考勤修改对话框的封装类是CAttDlg。对话框界面如下:界面四在对话框中嵌入了CPropertySheet和4个CPropertyPage,就需要定义类的变量CPage1 m_Page1(出勤页),CPage2 m_Page2(加班页),CPage3 m_Page3( 请假页),CPage4 m_Page4( 出差页),和CPropertySheet m_Sheet。然后修改它的初始化函数BOOL CAttDlg:OnInitDialog()的代码,见附录。在输入员工号时,需要及时检索员工姓名,以确定设置的条件有效.通过Class Wizard加入处理IDC_EDT_SEE

42、KPERSONID的EN_CHANGE消息处理的函数OnChangeEdtSeekpersonid()。3.6添假出勤记录属性页的实现再加入一个对话框资源将其封装类设为CPropertyPage他的继承类为CPage1,对话框的界面如下界面五在界面五中,可以检索或修改出勤记录。 检索考勤记录:在“记录检索条件”中,选中“时间范围”复选框,输入时间范围,或选中“员工”复选框,输入员工号,在右边的文本框中会自动显示员工号对应的员工名字,然后点击“按条件检索”,在“出勤记录列表”中会显示出选定时间范围或员工的出勤记录。:添加记录: 在“添加记录”中输入出入时间,出入情况,部门缩写(输入后右边会显示部

43、门名称),员工号(输入后右边会显示员工名字)。点击“全部员工”把全部员工每人一条出勤记录添加到数据库并在出勤列表中显示,点击“部门员工”为该部门的每位员工添加一条出勤记录到数据库并在出勤列表中显示,点击“单个员工”为该员工添加一条出勤记录到数据库并在出勤列表中显示。下面的进度条会显示添加记录的进度。 删除记录:在“出勤记录列表”中选定记录编号,然后点击“删除所选记录”,把记录从列表和数据库中删除。他的属性页面的初始化函数为OnInitDialog() 。为了更新列表框内容,编写的UpdateList()函数调用此函数可使列表框显示给定的数据表格, 当输入部门编号时,自动检索部门名称.他的实现函

44、数为OnChangeEdtDepartid()。在输入员工号时,也需要及时检索员工姓名,以确定设置的条件有效,在函数OnChangeEdtPersonid()中实现。添加部门和全体员工出勤记录的过程最终客分解为添加单个员工记录的过程. 通过添加出勤记录函数IO_Add(CString strPersonID)实现。添加记录的3个按钮的处理程序分别调用以上的函数。:OnBtnAddall()为 添加所有员工出勤记录,OnBtnAdddepart() 为追加部门员工考勤记录,OnBtnAddperson() 为追加单个员工考勤记录。3.7加班记录属性页功能的实现这个属性页的创建以上面的添假出勤记录属性页的创建类似,封装类都为CPropertyPage类他的继承类为CPage2,对话框的界面如下。同时也要对他的初始化函数OnInitDialog(),UpdateList()函数,OnChangeEdtOvertimePersonid()略做修改。添加按钮的实现如下函数为OnBtnOvertimeAdd(),下面的“删除所以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论