版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、65/65人事档案管理系统的设计与实现摘 要:企业管理信息化是现代企业发展的关键技术之一,人力资源管理是企业竞争战略中的一个重要部分, 在人力资源管理的过程中,人事档案管理是人事信息管理系统中的重要部分。本文利用VC+作为开发工具,以Access为后台数据库,设计、开发了一个人事档案管理系统。本系统能够实现人事档案信息的编辑录入、查询、统计等功能,为企业实现其经营目标提供了重要保证,对增强其企业竞争力,提高经济效益起着一定的作用。本系统也对其它公司的人事档案管理方面具有借鉴作用。关键词: 人事档案管理系统;数据库;设计与开发;VC+;目 录 TOC o 1-3 h z u HYPERLINK
2、l _Toc348448965 1引言 PAGEREF _Toc348448965 h 3 HYPERLINK l _Toc348448966 2系统采用的相关技术简介 PAGEREF _Toc348448966 h 4 HYPERLINK l _Toc348448967 2.1 VC+技术(主要MFC方式) PAGEREF _Toc348448967 h 4 HYPERLINK l _Toc348448968 2.2 Access数据库 PAGEREF _Toc348448968 h 5 HYPERLINK l _Toc348448969 2.3 ADO数据库开发技术 PAGEREF _To
3、c348448969 h 5 HYPERLINK l _Toc348448970 2.3.1 引入ADO库 PAGEREF _Toc348448970 h 5 HYPERLINK l _Toc348448971 2.3.2 ADO与数据库的连接 PAGEREF _Toc348448971 h 6 HYPERLINK l _Toc348448972 2.4系统运行环境支持 PAGEREF _Toc348448972 h 6 HYPERLINK l _Toc348448973 3需求分析 PAGEREF _Toc348448973 h 7 HYPERLINK l _Toc348448974 3.1
4、员工档案信息管理流程图 PAGEREF _Toc348448974 h 7 HYPERLINK l _Toc348448975 3.2数据字典 PAGEREF _Toc348448975 h 8 HYPERLINK l _Toc348448976 4概要设计 PAGEREF _Toc348448976 h 9 HYPERLINK l _Toc348448977 4.1 系统层次模块 PAGEREF _Toc348448977 h 10 HYPERLINK l _Toc348448978 4.2人事档案模块图 PAGEREF _Toc348448978 h 10 HYPERLINK l _Toc
5、348448979 4.3其它模块图 PAGEREF _Toc348448979 h 11 HYPERLINK l _Toc348448980 5数据库设计 PAGEREF _Toc348448980 h 11 HYPERLINK l _Toc348448981 5.1E-R图 PAGEREF _Toc348448981 h 11 HYPERLINK l _Toc348448982 5.2逻辑结构设计 PAGEREF _Toc348448982 h 12 HYPERLINK l _Toc348448983 6详细设计 PAGEREF _Toc348448983 h 16 HYPERLINK l
6、 _Toc348448984 6.1主控平台的实现 PAGEREF _Toc348448984 h 16 HYPERLINK l _Toc348448985 6.2 管理员登陆模块设计 PAGEREF _Toc348448985 h 18 HYPERLINK l _Toc348449029 6.3 人事档案管理子模块设计 PAGEREF _Toc348449029 h 21 HYPERLINK l _Toc348449030 6.3.1人事档案录入与编辑子模块的实现 PAGEREF _Toc348449030 h 21 HYPERLINK l _Toc348449031 6.3.2人事档案统计
7、模块的实现 PAGEREF _Toc348449031 h 24 HYPERLINK l _Toc348449032 6.3.3人事档案查询模块的实现 PAGEREF _Toc348449032 h 31 HYPERLINK l _Toc348449043 7 调试分析中遇到的问题是 PAGEREF _Toc348449043 h 34 HYPERLINK l _Toc348449044 8 用户使用说明 PAGEREF _Toc348449044 h 35 HYPERLINK l _Toc348449045 结束语 PAGEREF _Toc348449045 h 38 HYPERLINK l
8、 _Toc348449046 参考文献 PAGEREF _Toc348449046 h 391引言1.1设计背景XXX公司目前使用的档案系统为手工档案系统,手工档案系统易出错、修改更新程序烦琐、浏览不方便、保密性安全性不够高、效率低、时效性差、不能及时为决策者提供管理所需的信息,还易造成资源浪费,对财务、人事部门的工作困难加大、易混乱,无法进行统一现代化的科学高效管理。对于一个志力于集团化、多元化的远景发展战略的企业,标准、规范化管理是基本的要求,而一个集档案、基础数据管理为一体的管理系统的开发已迫在眉睫,以实现企业管理的数字化、信息化,提高人事资源管理的效率,为实施企业科学化、正规化管理的提
9、供强有力的硬件支持,提高企业要市场的竞争能力。1.2国内人事档案管理系统研究现状目前,国内人事档案管理信息系统的开发技术基本成熟,主要原因在于人事档案管理系统本身具有业务清晰、数据处理规范等许多优点,为其实现计算机信息化提供了必要的优越条件。国内近90%以上的应用计算机及开发管理信息系统的公司和单位均开发并运行了人事档案管理信息系统,人事档案管理信息系统的开发与应用在国内已经进入了相对成熟期;国内市场上的人事档案管理系统主要有:信创、锐达、 HYPERLINK /baidu.php?url=ggRK00KjzRq3Eb_UtiEf5BlmlYJY17sQLtD06wg9YsLwik1aBfZG
10、LJb2QWxfU3mYelVhxck1KAbe3zBdt4rGGU4XZ9VSfPVLrZJT0qN-hm45a_Tvy0 xTOc7au0H.7b_juum1WkC6vyyn3txQAON76ktVxWrGxvkr3ryZZn_nYQAHF_LU-0.U1Y10ZDq1_idViRzwoAC8rp4_OV0ZfqznE2soMTsrY0pyYqnW0L0ZTq0ATqXZ6s0APzm1YknjD1P6 t _blank 八百客、嘉扬Kayang等人事档案管理系统。信创通用人事管理系统, 功能多、操作方便、通用性强,缺点是不够专业;锐达、 HYPERLINK /baidu.php?url=
11、ggRK00KjzRq3Eb_UtiEf5BlmlYJY17sQLtD06wg9YsLwik1aBfZGLJb2QWxfU3mYelVhxck1KAbe3zBdt4rGGU4XZ9VSfPVLrZJT0qN-hm45a_Tvy0 xTOc7au0H.7b_juum1WkC6vyyn3txQAON76ktVxWrGxvkr3ryZZn_nYQAHF_LU-0.U1Y10ZDq1_idViRzwoAC8rp4_OV0ZfqznE2soMTsrY0pyYqnW0L0ZTq0ATqXZ6s0APzm1YknjD1P6 t _blank 八百客、嘉扬Kayang人事管理系统专业程度高、功能完备,缺点是操
12、作繁琐复杂、且价格高。1.3设计、开发的目的和意义针对XXX公司目前的情况以及国内外企业人事管理系统发展现状,决定设计设计一个针对本公司的,专业、实用性强、操作简便的企业人事档案信息管理系统,该系统为企业提供全面的人事档案管理解决方案提供一个以人为中心,各类人员之间、员工与公司之间的互动式人力资源管理平台。具体目标如下:1.提高企业人事档案管理的效率,节约相关的管理成本,增强人事档案管理的安全性。2.为企业建立规划化、人性化、实时互动化人事档案管理机制。3.满足企业战略层、管理层、人事业务操作层和企业全体员工的不同层次和不同方面的需要。4.为企业将来的整体信息化建设提供必要的支持。开发的系统将
13、改变过去传统的人事档案保管室式的人事管理,使用计算机对人事劳资信息进行管理,具有检索迅速,查找方便,可靠性高,存储量大,保密性好成本低等优点,能够极大地提高人事资源管理的效率,也是企业科学化、正规化管理的重要条件。为实施企业集团化、多元化的远景发展战略提供有力保障。2系统采用的相关技术简介2.1 VC+技术(主要MFC方式)VC+是 HYPERLINK /view/39784.htm t _blank 微软公司开发 HYPERLINK /view/4821.htm t _blank Windows平台上的一个C+编程环境,VC基于C,C+语言,主要由是MFC组成,是与系统联系非常紧密的编程工具
14、,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,几乎可说VC在 Windows平台无所不能。 VC+应用程序的开发主要有两种模式,一种是WIN API方式,另一种则是MFC方式,传统的WIN API开发方式比较繁琐,而MFC则是对WIN API再次封装,所以MFC相对于WIN API开发更具备效率优势。VC适用范围 1、 VC主要是针对Windows系统,适合一些系统级的开发,可以方便实现一些底层的调用。在VC里边嵌入汇编语言很简单。 2、 VC主要用在驱动程序开发 3、 VC执行效率高,当对系统性能要求很高的时候,可用VC开发。 4、 VC主要适用于游戏开发5、 VC多用于单片
15、机,工业控制等软件开发,如直接对I/O地址操作,就要用C+。 6、 VC适用开发高效,短小,轻量级的COM组件,DLL。比如WEB上的控件。 7、 VC可以开发优秀的基于通信的程序。 8、 VC可以开发高效灵活的文件操作程序。 9、 VC可以开发灵活高效的数据库操作程序。 10、VC在多线程、网络通信、分布应用方面,VC+有不可比拟的优势。本系统选用目前业界成熟,安全,稳定,流行的VC+作为技术支撑,克服VF安全性不够高,其它技术相对不太完善和成熟的缺点,在公司运作中,人事信息复杂多变要求系统的稳定性高, 而这更体现出其优越性。2.2 Access数据库Microsoft Office Acc
16、ess(前名 Microsoft Access)是由微软发布的关联式数据库管理系统。微软公司推出的Access是基于Windows的桌面关系数据库管理系统(RDBMS,即Relational Database Management System),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通管理员不必编写代码,就可以完成大部分数据管理的任务。Access能够存取 Access/Jet、 HYPERLI
17、NK /view/1626075.htm t _blank Microsoft SQL Server、Oracle(甲骨文软件公司),或者任何 ODBC 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的进阶用户则能使用它来开发简单的应用软件。2.3 ADO数据库开发技术 ADO(ActiveX Data Object) 是Microsoft 的数据库应用程序开发的新接口,是建立在OLE DB 之上的高级数据库访问技术。ADO技术基于COM,具有 COM组件的诸多优点,可以用来构造可复用应用框架,被多种语言支持,能够访问关系数据库、非关系数据
18、库以及所有的文件系统。另外,ADO还支持各种客户/ 服务器模式与基于Web 的数据操作,具有远程数据服务RDS(Remote Data Service)的特性,是远程数据存取的发展方向。2.3.1 引入ADO库 在Visual C+中,使用 ADO开发数据库之前需要引入ADO库。可以在 StdAfx.h 文件末尾处引入ADO库文件,方法如下。 #import c:Program Filescommon filessystemadomsado15.dll no_namespace rename(EOF,adoEOF); rename(BOF,adoBOF); 使用预处理指令 import 使程序
19、在编译过程中引入ADO 动态库(msado15.dll) 。no_namespace 表明不使用命令空间。rename(EOF, adoEOF)表明把ADO中用到的EOF改名为adoEOF,防止产生命名冲突。利用应用程序向导进行ADO数据库开发的时候,需要在程序向导的第二步,选择Automation 选项,使应用程序能够支持自动化。2.3.2 ADO与数据库的连接ADO Data控件属性Connection String的属性值设置为:Provider= Microsoft.Jet.OLEDB.4.0; Data Source=D:VC+RSDAGLDB.mdb(注意:此路径为数据库文件所放置
20、的路径,也行时注意修改后再运行系统);Persist Security Info=False;这些控件属性设置好后,在运行人事档案管理系统时就可以直接调用数据库表,来实现员工信息的录入、修改、查询、统计操作。2.4系统运行环境支持硬件环境:处理器Inter Pentium 4 以上,内存1G,硬盘160G,显卡SVGA显示适配器。 操作系统:Windows2000/xp,数据库Microsoft Office Access3需求分析通过对XXX公司业务流程调查分析得出:1.新员工进入,由店长批准的“调入人员通知”连同“职工登记卡”由调入人员一起交给了人事科,人事科将“职工登记卡”的信息登记入“
21、职工档案”,其数据项目有:职工代码,性别,出生年月,政治面貌,职务,职称,最高学历,固定工资,入职日期,所在部门“调入人员通知”存档,为统计调入人员所用。2.由店长批准的“人员信息变更通知”交人事科,人事科据此将其在“职工档案”中的信息进行修改3.由店长批准的“职工工资变动通知”交人事科,人事科据此修改“职工档案”中的职工固定工资数据。4.本公司职工凭各大专院校颁发的“学历证明”交人事科,人事科经查验属实后,据此修改“职工档案”中的最高学历数据。5.随时都有本公司各级管理人员来人事科查看职工档案,离退休人员档案,调出人员档案信息。6.年末,人事科需编制“职工统计表”,“职工文化程度统计表”,“
22、职工工资级别统计表”交给店长。3.1员工档案信息管理流程图员工档员工档案信息录入人事档案管理形成人事档案数据库基础数据录入基础数据管理形成基础数据库统 计报表 图1 员工档案信息的录入和统计、报表流程图档案档案查询P2人 事科建立档案P1人 事科D1员工档案档案统计表P3人 事科员工培训记录P4培训科图2 员工档案的建立和修改流程图3.2数据字典数据字典是对数据流程图中所有名字的定义及描述,并按特定格式予以记录,以备随时查询和修改。1.数据存储字典:管理员信息=管理员名+口令部门编码表 (bm_bm) =部门编码部门名文化程度编码表 (bm_wh) =文化程度编码+文化程度名称职称编码表(bm
23、_zc) =职称编码职称名称主要成员与社会关系表(cygx)=职工编码+与本人关系+姓名+从事何种工作档案登记表(m_dadj)=职工编码+姓名+性别+民族+出生+年月+婚姻状况+文化程编码康状况+政治面貌+职称编码+籍贯+身份证号码+毕业学校+专业或特长+户口所在地+户口性质+现住址+职务+工种名+何时技术培训+何时奖励和处分+需要说明问题+填表人签名+填表日期+公司审查意见+审查日期+人员性质+入厂时间+人员状态+备注+部门编码处理关系:P1,P2,P32.数据字典处理过程:(1)P1名称:档案信息的录入与编辑 编号:P1输入:档案登记表 输出:D1处理:以适当的方式输入员工档案中的数据项
24、(2)P2名称:档案信息的查询 编号:P2输入:档案登记表 输出:人事科处理:以姓名、职工编码的方式对员工档案中的数据项进行查询(3)P3名称:档案信息的统计 编号:P3输入:档案登记表 输出:人事科处理:以文化程度、总人数、性别、部门编码、职称编码的方式对员工档案中的数据项进行统计(4)P4名称:员工历史记录 编号:P4输入:员工培训情况 输出:培训处处理:以适当的方式输出员工培训情况4概要设计基于系统需求分析,该系统需要实现以下基本功能:管理员管理:管理系统操作人员,设置操作人员口令和权限。在满足不同系统管理员的操作需求的基础上,提高系统的安全性。基本数据管理:维护人事管理相关的一些基础数
25、据。主要包括以下功能:管理员信息,档案登记表,职称编码表,部门编码表,文化程度编码表的设置。人事档案管理:完成企业对员工档案员工人工档案(包括员工基本档案和在职信息)的管理及相关操作。管理员进行员工档案信息录入及更改,其中包括职工编码、姓名、性别、民族、出生、年月、婚姻状况、文化程编码康状况、政治面貌、职称编码、籍贯、身份证号码、毕业学校、专业或特长、户口所在地、户口性质、现住址、职务、工种名、何时技术培训、何时奖励和处分、需要说明问题、填表人签名、填表日期、公司审查意见、审查日期、人员性质、入厂时间、人员状态、备注、部门编码。管理员可以通过该模块为单位建立一个比较完整的人事档案系统,同时可以
26、对这些员工档案信息进行新增、删除、修改操作,同时可以进行浏览和查询的操作。人事变动管理:对于人事上的变动调整进行管理,对人员档案的信息进行更新(如:员工职务、员工职称、员工性质等的变动)。数据库管理:对现有的数据进行管理,包括数据备份和恢复,以方便管理员对数据库的管理和维护工作,提高系统的数据安全性。4.1 系统层次模块 该企业人事管理信息系统可分为五个模块:权限验证、管理员管理、基础数据管理、人事档案管理和数据库管理,如图421所示。权限验证权限验证用户管理基础数据设置人事档案管理数据库管理人事档案管理信息系统图3 人事管理信息系统主模块图人事档案录入人事档案修改人事档案删除人事档案浏览人事
27、档案查询人事档案统计人事档案管理4.2人事档案人事档案录入人事档案修改人事档案删除人事档案浏览人事档案查询人事档案统计人事档案管理4.3其它模块图基础数据包括: 管理员信息,档案登记表,职称编码表,部门编码表,文化程度编码表的设置。基础数据设置基础数据设置管理员信息档案登记表文化程度编码表职称、部门编码表图 4 基础数据设置模块图5数据库设计5.1E-R图本系统根据需求分析得出DFD画出设计实体有:管理员实体、数据库实体、基本用户信息实体、个人档案信息实体。实体间关系ER图,如图查询录入修改限查询录入修改限公司 有记载存入管理员用户信息管理员数据库纸质个人档案1111NN拥有修改限公司 有记载
28、存入管理员用户信息普通用户数据库纸质个人档案1111NNNNNN图5 E-R图用户用户用户名密码员工信息员工信息编号备注姓名年龄民族身份证号码职称职工类型部门地址电话图6 属性图5.2逻辑结构设计 根据系统功能设计的要求以及功能模块的划分,对于本系统的数据库,可以列出以下数据项和数据结构: 1名称:主要成员与社会关系表 表名称标识:cygx 数据来源:主要成员与社会关系设置模块进行录入表1主要成员与社会关系表序号字段名说明类型长度是否为空是否主键值相关表备注1zgbm职工编码VC26Not nullKey&Foreign keym_dadj2Brgx与本人关系VC210null3xm姓名VC2
29、10Null4hzgz从事何种工作VC260Null6autoid主键VC22key2名称:职称编码表 表名称标识:bm_zc 数据来源:职称编码设置模块进行录入表2 职称编码表序号字段名说明类型长度是否为空是否键值相关表备注1zcbm职称编码NUMBER2Not nullKey2zcmc职称名称VC220Not null3名称:部门编码表 表名称标识:bm_bm 数据来源:部门编码设置模块进行录入表3 部门编码表序号字段名说明类型长度是否为空是否键值相关表备注1bmbm部门编码41123456789035678VC24Not nullKey2bmm部门名VC260Null4名称:文化程度编码
30、表表名称标识:bm_wh数据来源:文化程度编码设置模块进行录入表4文化程度编码表序号字段名说明类型长度是否为空是否键值相关表备注1whbm文化程度编码NUMBER2Not nullKey2whcd文化程度名称VC216Not null5名称:档案登记表表名称标识:m_dadj数据来源:档案登记表模块进行录入表5档案登记表序号字段名说明类型长度是否为空是否主键 值相关表备注1zgbm职工编码VC26Not nullkey2xm姓名VC212Not null3xb性别VC21null4mz民族VC218null5csny出生年月Date8null6hyzk婚姻状况VC21null7whcd文化程度
31、编码NUMBER2nullbm_wh8jkzk健康状况VC210null9zzmm政治面貌VC22null10zcbm职称编码NUMBER2nullbm_zc11jg籍贯VC260null12sfzh身份证号码VC220null13byxx毕业学校VC240null14zytc专业或特长VC240null15hkszd户口所在地VC260null16hkxz户口性质VC220null17xzz现住址VC2100null18zw职务NUMBER2null19gzm工种名VC22null20jspx何时技术培训VC2400null21jlcf何时奖励和处分VC2400null22smwt需要说明问
32、题VC2200null23tbrqm填表人签名VC210null24tbrq填表日期datenull25gsyj公司审查意见VC2200null26scrq审查日期datenull27ryxz人员性质C1null28rcsj入厂时间date29ryzt人员状态C1null30bz备注VC240null31bmbm部门编码VC24nullbm_bm图7 主键图6详细设计人事档案管理系统的总体功能是能实现人事档案信息的编辑录入、查询、统计等功能内容。具体的功能就是能进行代码表及个人档案信息的录入与修改,同时能进行上一条及下一条档案信息的显示;能实现按姓名或职工号查询个人档案信息,按照档案表的形式显
33、示;能实现按照文化程度、性别、职称进行档案简单信息的列表显示与统计相关人数。图 8 主控平台界面6.1主控平台的实现1.主体框架:使用MFC AppWizard 创建一个单文档结构的应用程序工程,建立起系统主体框架,生成应用程序类(CAdoApp)、文档类(CAdoDoc)、视图类(CAdoView)、主体框架类(CmainFram)。2.背景图:通过修改系统对话框类Paint事件处理函数OnPaint()来实现加载背景图,其具体代码如下:void CAdoDlg:OnPaint() if (IsIconic()CPaintDC dc(this); / device context for p
34、aintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);/ Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;/ Dra
35、w the icondc.DrawIcon(x, y, m_hIcon);elseCDialog:OnPaint();/ The system calls this to obtain the cursor to display while the user drags/ the minimized window.HCURSOR CAdoDlg:OnQueryDragIcon()return (HCURSOR) m_hIcon; 6.2 管理员登陆模块设计 根据需求分析和总体设计,此模块主要是根据管理员输入管理员名和口令,验证管理员身份并决定其操作权限。1.权限验证IPO图输入:管理员名和口令
36、处理:(1)管理员登陆对话框启动。(2)管理员输入管理员名和口令。(5)如果管理员名和密码错误,进行提示。(6)如果输入的管理员名和相应口令正确,则根据该管理员的权限类别进行设置。(7)进入主控平台。 2.权限验证模块的界面设计 图 9 登陆界面图3.权限验证模块的实现 根据权限验证的IPO图,通过定义CLoginDLg类来实现权限验证模块的功能,下面介绍CLoginDLg类的设计与实现。管理员权限验证处理过程:从数据库中查找是否与管理员输入的管理员名和口令完全匹配的记录,如果有同根据数据库中的记录为该管理员分配权限,如果不存在则提示登录错误信息。主要代码:void CAdoDlg:OnOK(
37、) / TODO: Add extra validation here/(CEdit*)GetDlgItem(IDC_PassWord)-SetWindowText(123456);/调试用UpdateData(TRUE);/管理员名是否为空判断m_User.TrimLeft();m_User.TrimRight();if(m_User.GetLength()SetFocus();return;if(m_User.Compare(1)!=0)AfxMessageBox(管理员名不正确,请重新输入!初始名为:user,MB_ICONEXCLAMATION ) ;(CEdit*)GetDlgIte
38、m(IDC_PassWord)-SetWindowText();(CEdit*)GetDlgItem(IDC_PassWord)-SetFocus();return;else/用密码是否为空判断m_PassWord.TrimLeft();m_PassWord.TrimRight();if(m_PassWord.GetLength()SetFocus();return;/密码判断if(m_PassWord.Compare(1)!=0)AfxMessageBox(管理员密码不正确,请重新输入!初始密码为:123456,MB_ICONEXCLAMATION ) ;(CEdit*)GetDlgItem
39、(IDC_PassWord)-SetWindowText();(CEdit*)GetDlgItem(IDC_PassWord)-SetFocus();else/密码通过调用主界面m_ZhuJieMian.DoModal(); Invalidate();return; 6.3 人事档案管理子模块设计根据需求分析和总体设计,人事档案管理系统的总体功能是能实现人事档案信息的编辑录入、查询、统计等功能内容。具体的功能就是能进行代码表及个人档案信息的录入与修改,同时能进行上一条及下一条档案信息的显示;能实现按姓名或职工号查询个人档案信息,按照档案表的形式显示;能实现按照文化程度、性别、职称进行档案简单信
40、息的列表显示与统计相关人数。人事档案管理模块是本系统的主要核心功能之一,主要划分成三个子模块:人事档案录入与编辑子模块、人事档案查询子模块、人事档案统计子模块。?2013/1/10?6.3.1人事档案录入与编辑子模块的实现人事档案录入与编辑子模块功能:能进行管理员信息、档案登记表、职称编码表、部门编码表、文化程度编码表及个人档案信息的录入与修改,同时能进行上一条及下一条档案信息的显示。图 10 人事档案录入与编辑子模块图通过定义CbrowseDlg类来实现该子模块的主体功能,主要是员工基本档案登记处的浏览添加、修改和删除。另外,通过CbaseIfoDlg来实现基本档案属性页功能,通过Cfmil
41、yDlg来实现家庭成员属性页的功能,通过ChistoyryDLg来实现工作经历属性页功能,通过ChomorDLg来实现奖惩纪录属性页功能,通过CqualificationDlg来实现职称评定属性页功能,以及通过CtrainDLg来实现培训纪录属性页功能。 “录入与编辑”选项主要代码:void ZhuJieMian:OnLuRuBianJi() / TODO: Add your control notification handler code hereradio=8;m_cXuanZe.ResetContent();m_cXuanZe.Clear();AfxMessageBox(请点击下面的确
42、定,然后再点击主界面的确定按钮转到个人档案信息录入界面,MB_ICONEXCLAMATION ) ;m_TiShi.Empty(); m_TiShi.Insert(0, );UpdateData(FALSE);BOOL ZhuJieMian:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization herereturn TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should
43、return FALSE选择“录入与编辑”选项后点击确定后的直接跳出如图10所示的画面。其详细代码如下:void ZhuJieMian:OnQueDing() / TODO: Add your control notification handler code hereWenHuaDlg.fun_radio(radio);if(radio=0)MessageBox(GG);switch (radio)case 8 : m_index=m_cXuanZe.GetCurSel(); UpdateData(TRUE);/WenHuaDlg.reindex(m_index);/传递参数WenHuaDl
44、g.DoModal();Invalidate();break; default:m_index=m_cXuanZe.GetCurSel(); WenHuaDlg.reindex(m_index);/传递参数WenHuaDlg.DoModal();Invalidate(); break; 6.3.2人事档案统计模块的实现功能:根据管理员指定的统计条件从数据库中读取数据并汇总,并显示要列表中,输出员工基本档案信息。能实现按照文化程度、性别、总人数、职称编码、部门编码五个统计条件进行档案简单信息的列表显示与统计。通过定义ZhuJieMian类来实现该子模块的主体功能,相关记录集类可以通过ClassW
45、izard根据数据库表结构自动创建。档案统计处理过程:首先根据查询条件构造SQL语句,然后从数据库查询满足条件的记录,并将统计后的信息显示在员工列表中。核心代码: void CSearchDlg:OnButtonSearch() BOOL WenHuaJieMian:OnInitDialog() CDialog:OnInitDialog();CString sql1;FROM m_dadj WHERE whcd=初中/高中/大学/研究生/;/根据查询条件构造SQL语句/ /否则按所填信息查询(性别,民族,职位等) 1 按文化程度统计首先,进入登陆界面后,输入管理员账号和口令后进入主界面,在统计
46、模块选择“文化程度”选项,然后在右面的下拉菜单选择所要查询的文化程度,然后点击确定按钮后,即可显示查询结果。其具体的界面如图11所示。(a)选中“文化程度”选项 (b)选择所要统计的文化程度(研究生)(c)统计结果图 11按文化程度统计界面核心代码:void ZhuJieMian:OnWenHua() / TODO: Add your control notification handler code hereradio=1;m_cXuanZe.ResetContent();m_cXuanZe.InsertString(-1,初中);m_cXuanZe.InsertString(-1,高中);
47、m_cXuanZe.InsertString(-1,大学);m_cXuanZe.InsertString(-1,研究生);m_cXuanZe.Clear();AfxMessageBox(请选择文化程度,MB_ICONEXCLAMATION ) ;m_TiShi.Empty(); m_TiShi.Insert(0,请选择文化程度);UpdateData(FALSE);void ZhuJieMian:OnCloseupCOMBOXuanZe() / TODO: Add your control notification handler code herevoid ZhuJieMian:OnRenS
48、hu() / TODO: Add your control notification handler code hereradio=2;m_cXuanZe.ResetContent();CString str_zongrenshu;/wei yongm_cXuanZe.Clear();2按性别统计在主控界面中的统计模块中选择“性别”选项,然后在右面的下拉菜单选择所要查询的性别,然后点击确定按钮后,即可显示查询结果。其具体的界面如图12所示。(a)选中“性别”选项 (b)选择所要统计的性别(男)(c)统计结果图 12按性别统计界面核心代码:void ZhuJieMian:OnXingBie()
49、/ TODO: Add your control notification handler code hereradio=3;m_cXuanZe.ResetContent();m_cXuanZe.InsertString(-1,男);m_cXuanZe.InsertString(-1,女);m_cXuanZe.Clear();AfxMessageBox(请选择性别,MB_ICONEXCLAMATION ) ;m_TiShi.Empty(); m_TiShi.Insert(0,请选择性别);UpdateData(FALSE);3 按部门编码统计在主控界面中的统计模块中选择“部门编码”选项,然后在
50、右面的下拉菜单选择所要查询的部门(例如,人事部),然后点击确定按钮后,即可显示查询结果。其具体的界面如图13所示。(a)选中“部门编码”选项 (b)选择所要统计的部门(人事部)(c)统计结果图13 按部门编码统计界面核心代码:void ZhuJieMian:OnBuMen() / TODO: Add your control notification handler code hereradio=4;m_cXuanZe.ResetContent();m_cXuanZe.InsertString(-1,rsb(人事部);m_cXuanZe.InsertString(-1,cwb(财务部);m_c
51、XuanZe.InsertString(-1,hqb(后勤部);m_cXuanZe.InsertString(-1,qhb(企划部);m_cXuanZe.Clear();AfxMessageBox(请选择部门编码,MB_ICONEXCLAMATION ) ;m_TiShi.Empty(); m_TiShi.Insert(0,请选择部门编码);UpdateData(FALSE);4 按职称编码统计在主控界面中的统计模块中选择“职称编码”选项,然后在右面的下拉菜单选择所要查询的职称(例如,中级职称M),然后点击确定按钮后,即可显示查询结果。其具体的界面如图14所示。(a)选中“职称编码”选项 (b
52、)选择所要统计的职称(中级职称M)(c)统计结果图14 按职称编码统计界面核心代码:void ZhuJieMian:OnZhiCheng() / TODO: Add your control notification handler code hereradio=5;m_cXuanZe.ResetContent();m_cXuanZe.InsertString(-1,L(初级职称);m_cXuanZe.InsertString(-1,M(中级职称);m_cXuanZe.InsertString(-1,H(高级职称);m_cXuanZe.Clear();AfxMessageBox(请选择职称编码
53、,MB_ICONEXCLAMATION ) ;m_TiShi.Empty(); m_TiShi.Insert(0,请选择职称编码);UpdateData(FALSE);5按总人数统计在主控界面中的统计模块中选择“总人数”选项,然后点击确定按钮后,即可显示查询结果,并且在最下面以编辑框的形式显示人事档案管理系统里记录的总人数。其具体的界面如图15所示。图15 按总人数统计界面核心代码:case 2 :SetWindowText(总人数统计界面);m_wenhua_cadodc.SetRecordSource(Select zgbm AS 职工编码,xm AS 姓名, xb AS 性别, mz A
54、S 民族, csny AS 出生年月, hyzk AS 婚姻状况,whcd AS 文化程度编码,Jkzk AS 健康状况,zzmm AS 政治面貌,zcbm AS 职称编码,jg AS 籍贯,sfzh AS 身份证号码,byxx AS 毕业学校,zytc AS 专业或特长,hkszd AS 户口所在地,hkxz AS 户口性质,xzz AS 现住址,zw AS 职务,Gzm AS 工种名,jspx AS 何时技术培训,jlcf AS 何时奖励和处分,smwt AS 需要说明问题,tbrqm AS 填表人签名,tbrq AS 填表日期,gsyj AS 公司审查意见,scrq AS 审查日期,Ry
55、xz AS 人员性质,Rcsj AS 入厂时间, Ryzt AS 人员状态,bz AS 备注, bmbm AS 部门编码 ,zgbm FROM m_dadj );m_long=m_wenhua_cadodc.GetRecordset().GetRecordCount();UpdateData(FALSE);break;/统计总人数6.3.3人事档案查询模块的实现1按姓名查询在主控界面中的查询模块中选择“按姓名”查询选项,然后在右面的下拉菜单编辑框中输入所要查询的姓名(例如,姜东东),然后点击确定按钮后,即可显示查询姓名为“姜东东”的信息结果。其具体的界面如图16所示。图16 按姓名查询界面核心
56、代码:void ZhuJieMian:OnXingMing() / TODO: Add your control notification handler code hereradio=6;m_cXuanZe.ResetContent();m_cXuanZe.Clear();AfxMessageBox(请输入姓名,MB_ICONEXCLAMATION ) ;m_TiShi.Empty(); m_TiShi.Insert(0,请输入姓名);UpdateData(FALSE);2按职工编号查询图17 按职工编号查询界面核心代码:void ZhuJieMian:OnBianHao() / TODO:
57、 Add your control notification handler code hereradio=7;m_cXuanZe.ResetContent();m_cXuanZe.Clear();AfxMessageBox(请输入编号,MB_ICONEXCLAMATION ) ;m_TiShi.Empty(); m_TiShi.Insert(0,请输入编号);UpdateData(FALSE);7 调试分析中遇到的问题是问题1:各个独立的对话框和主界面做好后,如何实现“选择相应的选项后跳出相应的对话框”的功能?这个问题我们小组考虑了很久,与其他同学商量后,我才知道原来就是函数调用,即选择哪个
58、选项,就去调用WenHuaJieMian类的成员函数PreCreateWindow来重新创建统计、查询对话框窗口就可以实现该功能。其成员函数PreCreateWindow如下。BOOL WenHuaJieMian:PreCreateWindow(CREATESTRUCT& cs) / TODO: Add your specialized code here and/or call the base classreturn CDialog:PreCreateWindow(cs);问题2:在统计部分的总人数统计功能实现的过程中遇到了好多问题。就是统计总人数时刚开始采用WenHuaDlg.m_wenhua_cadodc.GetMaxRecords(),但是会出现总人数为负数的结果,通过上网查资料和与同组同学探讨后,最后采用如下代码实现了记录的总人数统计功能。其中m_long为We
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论