毕业设计(论文)基于C#的人力资源管理系统的设计与实现

上传人:1888****888 文档编号:39331687 上传时间:2021-11-10 格式:DOC 页数:40 大小:603.01KB
收藏 版权申诉 举报 下载
毕业设计(论文)基于C#的人力资源管理系统的设计与实现_第1页
第1页 / 共40页
毕业设计(论文)基于C#的人力资源管理系统的设计与实现_第2页
第2页 / 共40页
毕业设计(论文)基于C#的人力资源管理系统的设计与实现_第3页
第3页 / 共40页
资源描述:

《毕业设计(论文)基于C#的人力资源管理系统的设计与实现》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于C#的人力资源管理系统的设计与实现(40页珍藏版)》请在装配图网上搜索。

1、人力资源管理系统的设计与实现学生姓名:XXX 指导老师:XXX摘 要:人力资源是企业最重要的资源,人力资源管理是现代化企业最复杂的管理。通过对现代企业人力资源结构和人力资源管理需求的深入调查,结合软件工程的思想,构建了本人力资源管理系统。其主要的功能包括对企业人员档案,人员调动,人员福利,劳动关系,人事档案资料以及考核信息的管理。系统关注的重点还有企业在人力资源更新中的新员工的管理,在系统内实现了招聘信息的资源共享,方便企业管理者掌握和交流人力资源流动,及时应对新的人才市场的变化。本系统可以使用户从繁重的人力资源管理程序中解脱出来,通过一系列的查询功能,用户可以方便地了解企业人力资源管理方面目

2、前状况和正待解决的问题。另外通过添加,修改功能可以动态地对企业中的人力资源进行管理。本系统采用VC+开发环境,SQL Server 2000作为后台数据库,操作简单,灵活性好,运行也比较稳定。关键词:人力资源管理系统;SQL Server 2000 ;Visual C+。Human Resources Management SystemAbstract: HRMS(Human resources management system) is the most important soft resource of the modern corporations,and so is the HR m

3、anagement. This system is builded on thorough investgation of the modern corporationsHR structure and requirement,which combines pensee of isoftware engineering.Its main function includes management of corporations staff archives,staff manoeuvre,staff welfare,labouring files and examine information.

4、The another important aspect the system care about is the new staff management,the system realize invite informent shared,which help the manager manage the staffs information and reply the change of labore marketable on time.The system can free user from heavy process of HR management,by realize a s

5、et of query function,user can get information of HR managements status and the problems desiderateable. Otherwise,by add and edit function,user can manage the HR in corporation dynamic.The system is realize base on VC+ and SQL Server 2000 environment.easy operate,well agility,and run steadily.Keywor

6、ds: Human resources management system;SQL server 2000;Visual C+。第一章 绪 论1.1引言近几年来,国内外与人力资源管理有关的系统和程序的发展都非常迅速,众多软件如雨后春笋般地不断涌现。国内企业目前实施人力资源管理的电子信息化的现况,进展仍然很慢。只有少数知名大型企业,处于逐梦踏实的阶段,正1步1步地建构人力资源管理的电子信息化的蓝图;中国集团企业的人力资源管理应用正处于市场导入期向成长期过渡的阶段。与之矛盾的是随着中国集团企业的发展,在复杂多元的全球化竞争环境驱动下,将人力资源管理上升到战略层次正在逐渐成为集团企业的迫切管理需求随

7、着计算机和网络技术的发展,信息化管理技术已经广泛地应用于各类企事业单位。针对中小型企业的现状,再配备合理的经营管理软件,就可以改善传统上数据不够准确、及时、全面和详细等诸多问题,管理者工作更方便,从而提高企业工作效率,使企业的管理更加科学化、合理化、制度化和规范化。而企业信息管理系统就满足了这些需求,填补了这个空白。人力资源管理系统的发展历史可以追溯到20世纪60年代末期。由于当时计算机技术已经进入实用阶段,同时大型企业用手工来计算和发放薪资既费时费力又非常容易出差错,为了解决这个矛盾,第1代的人力资源管理系统应运而生。当时由于技术条件和需求的限制,用户非常少,而且那种系统充其量也只不过是1种

8、自动计算薪资的工具,既不包含非财务的信息,也不包含薪资的历史信息,几乎没有报表生成功能和薪资数据分析功能。但是,它的出现为人力资源的管理展示了美好的前景,即用计算机的高速度和自动化来替代手工的巨大工作量,用计算机的高准确性来避免手工的错误和误差,使大规模集中处理大型企业的薪资成为可能。 目前,人力资源管理已经从传统的以“事务”为中心的管理模式转变到以“人”为中心的管理模式, 运用科学的管理手段与IT技术相结合营造良好的用人环境,真正做到人尽其才,才尽其用,成为提高人力资源管理部门管理水平的主要途径。本文针对企业人力资源管理的特色以及人力资源的优化配置,借鉴目前人力资源管理方面的先进方法,设计开

9、发了的企业人力资源管理系统,为建立企业人力资源管理系统提供了技术框架,具有良好的扩充性。1.2系统开发的意义随着企业公司规模的不断扩大,公司人力管理的工作量所占的比重逐渐增加。公司各部门的调查,工资计算、发放的工作量很大,并且不允许出错,如果实行手工操作,要手工填写大量工作表格,且易混易错,不便管理。人力资源管理系统是这样的一种管理软件,它能够快速、方便地显示结果,还可以对有关工资的各种信息进行统计,服务于财务部门及公司主要管理者。实施人力资源管理系统可以集中、整合各种信息来源,有利于降低管理成本,提高公司管理效率水平,从而促进公司的进一步发展和变革。这样一套综合性人事管理系统的研究与开发的目

10、的在于改进公司原有的人事管理系统,实现与人力资源相关的考勤考评、薪资结算等功能一体化,提高公司管理的信息化程度。用这样一个人事管理系统来完成平常需要更大业务量的工作,以提高公司管理部门人员的工作效率。同时利用计算机来管理、设置和保存公司人事、考勤考评和薪资结算等各项事物和资料。从而实现管理的信息化和资料信息的电子化储存。实现管理、查询、结算等方便快捷的同时保证信息的安全与稳定和数据的正确性。1.3系统开发的背景1.计算机技术的发展随着计算机和通信技术的的发展,相应的数据库技术,局域网组网技术以及各种系统开发工具和系统开发理论也日益成熟,互联网和计算机应用已深入人心,为本系统的开发提供了很好的技

11、术支持和应用基础。2.办公设备和环境的改善现代企业由于业务的发展,很多都能上网,计算机设备和办公环境有了极大的提高。很多组建了内部的局域网。然而,大多数的企业对以有的计算机硬件及软件设备没有很好的利用起来,使许多设备处于闲置浪费状态。企业在已有的设备环境下,进一步提高设备的利用率。从而带动办公自动化水平的提高和人员微机操作水平的提高,现在企业管理方面的无纸化。3业务发展本身的需求在人力资源管理信息征收的过程中,涉及到大量的单据,需各部门人员提交。在人力资源管理过程中需处理大量的数据来进行决策支持,如由手工整理,则需要大量的工作人员的时间。在人力资源部信息发布中也需人工完成,有工作人员每个部门通

12、知。整个过程浪费了大量的人力、时间,且不能实现数据的及时准确。1.3.1管理系统的产生生产技术的进步、社会活动的复杂化,特别是电子信息技术的迅速发展与广泛应用,使得各种管理工作越来越依赖于对信息的管理。信息作为一种资源,使得人们的工作、生活以及思维方式发生了重大的变革,为企业的生产与经营提供了日益完善的手段。信息的采集、传输、加工和利用成为人们特别是信息工作者的主要活动。企业信息处理者的百分之八十的时间用于信息的传输与处理,一些西方发达国家从事信息处理工作的人数多,在二十世纪八十年代就已经占职工总数的百分之五十以上,而美国1993年政府报告“国家信息基础结构:行动计划”中指出“2/3的美国劳动

13、者从事与信息有关的工作,其余1/3工作在高度依赖于信息的产业部门,”这种职工可以成为“知识工作者”,他们主要就是收集、传输和加工信息,包括编辑文件、写报告、分析信息、作计划等。所以现在各行各业对信息的管理要求越来越大4。显然,计算机在问世之初,只是为了想让它来辅助人们进行科学研究中复杂数值方面的计算,以减少劳动强度,提高工作效率。然而,随着计算机科学的不断发展和进步,是它跨越了数值计算领域,进入管理领域,成为信息处理的重要工具。使用计算机进行信息处理始于1954年,开始是计算机处理工资,现在是计算机在处理各种工作,如旅馆结账、飞机订票、银行存款、电子购物、电话计费等,已经相当普遍。利用计算机的

14、信息管理、处理能力还可以扩大组织拥有信息的用途。当前所未有的挑战是使用计算机神秘般的能力开始信息管理工作,包括高层管理活动和决策等。1.3.2管理系统的国内外状态世界经济发达国家的大中企业都拥有比较完备的企业信息系统,经济发达国家都是将经济信息服务于国民经济并取得辉煌成就的国家。如日本的各级情报机构,无论在人力和设备上都处于世界领先地位。目前800人以上的企业全部拥有信息处理中心和信息库,信息服务工作贯穿企业发展的全过程。又如美国的纽约地区,拥有员工3000人以上的企业,一半以上拥有信息中心,而且配置了先进的信息处理系统。值得一提的是,国外有许多大型企业,设置首席信息经理(chief info

15、rmation officer简称CIO)的高级职位,专门负责企业信息工作。据对美国500家大型企业的抽样调查,已有半数公司设立了CIO职位。CIO的出现标志着企业的经营管理和信息工作进入了一个新阶段13。 在市场需求的推动下,我国企业信息管理工作这些年得到了很大的发展,但仍然存在许多问题。除资源短缺外,尚有以下弊端。1. 经济信息系统建设落后。信息作为无形资源的可分享性,决定了任何信息过程都不是孤立的,企业信息工作的顺利开展,绝对离不开外部信息系统的支持和引导。企业信息管理系统应是开放式的,既包括企业内部生产、销售、技术、管理、财务等子系统的信息传递,也包括与外部环境的信息交流,构成一个相互

16、关联、相互制约的信息流网络。由于资金不足,产生文献信息资源短缺现象,更谈不上灵敏、通畅、高效的信息网络,以及以数据库为核心、能快速反映市场动态,各子系统之间保持通畅信息渠道的现代化网络系统。2. 企业未建立专门信息机构。虽然我国多数企业已开始重视经济信息工作,但是实施建立专门信息机构的只有少数大中型企业,多数企业无力也无心建立自己的信息管理机构,企业生产经营的全过程都在一种原始盲目的操作下进行,这无疑与我国市场经济发展的需要是脱节的。 3. 对其重要性认识不足。人们往往认为既然信息是一种资源,那么它和有形的物质资源、能源资源在经济过程中的作用就是一样的,并像对一般商品那样占有信息资源。实际上,

17、信息资源“储量”无限,而物质资源和能源资源在特定的空间和时间内储量是有限的。并且,信息可以重复被使用和开发,不断生成新的、有更高价值的信息。因此,仅仅掌握原始信息资源是不够的,必须不断进行深加工,才能真正发挥它作为社会经济发展支柱的作用。而事实上我国许多企业的信息工作,大多是原始的档案工作,重视的是“管”而不是用。4. 员工素质不高。作为第四产业的信息系统本来是高科技产业,而从事企业信息工作人员,应该既掌握信息管理的专门知识和技术,又通晓有关企业生产经营的各种管理知识,这样的人才才符合市场竞争的需要,但事实上,绝大多数企业的信息管理人员素质和工作能力不够理想。第二章 需求分析和可行性分析2.1

18、系统需求为了给现代人力资源管理带来了先进、完善的管理模式及规范的操作方法,减少不必要的人力劳动,有必要开发人力资源管理系统,把以往人工实现的过程使用计算机管理。利用计算机处理准确、高速、可靠的特性,以及数据库系统强大的管理功能,把以往繁琐的手工操作交给计算机来完成,以简化业务流程,提高工作效率和可靠性。人力资源管理系统用了企业的人力资源管理,安装于企业的人力资源部和相关部门。实现人力资源部的办公自动化。可与企业中其他部门进行有关数据的交流,实现无纸化。2.2功能需求该人力资源管理系统主要包括五大主功能,具体分析如下:1. 员工信息管理。包括实现人员的浏览,人员的添加,人员的调离,员工的家庭信息

19、管理,员工的教育及工作经历管理。2. 部门管理。包括部门的浏览,部门的添加,删除。3. 员工考勤管理。包括日出勤情况统计和月出勤情况统计。4. 员工考评管理。由上级部门对员工当月情况进行评定,并设置相对应的奖金与罚金与奖惩的原因。5. 用户管理。用户分为管理人员用户和普通员工用户。不同用户的权限管理,以及用户信息修改等。2.3性能需求2.3.1硬件需求在最低配置的情况下,系统的性能往往不尽如人意,现在的硬件性能已经相当出色,而且价格也很便宜,因此通常给服务器配置高性能硬件。处理器:Intel Pentinm 1600 MHz或更高内存:512M硬盘空间:80GB显卡:VGA或更高分辨率的监视器

20、2.3.2软件需求操作系统:Windows 9X/ME/2000/XP/2003/Vista数据库:SQL server 2000 前台界面:Visual C+6.02.4可行性研究可行性分析是在进行初步调查后所进行的对系统开发必要性和可能性的研究,所以也称为可行性研究。信息系统也应从系统问题可行性,技术可行性,经济可行性和社会可行性三方面来论证。通过长时间的观察与实践,对人事管理系统的可行性分析如下: 2.4.1 系统问题可行性分析人事管理系统的设计是公司改进原有管理软件,是公司管理规范化,信息化,与世界先进管理方式接轨的要求。是减轻管理人员的工作量,提高管理人员的工作效率,从而降低生产成本

21、,提高公司效益的必要措施。同时一个安全稳定的管理系统可以避免很多的数据错误,减少很多的重复劳动以及其他的更为严重的后果。建立一个功能强大的人力资源管理、工资管理和考勤考评管理一体化的管理系统的是公司的客观要求。本系统在开发前,与公司的领导和有关的操作人员密切沟通,认真听取他们的意见,并吸收他们的积极观点,使本系统的开发在相当大的程度上具有一定的先进性和合理性。2.4.2 经济可行性分析 费用主要考虑两个方面的费用,一方面是支出的费用,其中包括设备购置费,软件开发费,管理和维护费,人员工资和培训费等。另一方面是取得的收益中可以用钱来衡量的那部分(收益的另一部分难以用钱来表示)。原有设备已经可以满

22、足新系统的硬件要求,不必购买新的设备。基于企业的现有计算机及配套设备,建设MIS系统,但能大大减少重复性的书面报告,降低办公费用,提高办公室效率,且能提高检测数据效用,为企业提供很方便。由于企业人事管理系统是一个较小型的系统,所以从人力、物力、财力方面来说都是可行的,经济可行性是显然的。2.4.3 技术可行性分析 技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。本系统的功能主要是完成公司的人事管理,考勤考评管理和工资管理。这一特点非常适合计算机特点,通过现代数据库技术,发挥计算机的信息传输速度快、准确度高的优势。

23、计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。依据现有的技术和以往的经验,完全可以实现系统的要求,满足技术可行性要求。2.4.4 社会可行性 社会可行性有时也称为操作可行性,主要论证新系统在企业或机构开发和运行的可能性以及运行后可能一起的对企业或机构的影响,即组织内外是否具备接受和使用新系统的条件。在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新使现代企业完全有可能也有能力采用这样先进的管理技术。同时,从它对现代企业管理的影响可以看到: 对传统管理理念的冲击,可能引起管理层的变动和人员的调整。对企业工作人员的要求提高,使公司在一定的可能下进行机构精简,迫使工作人员继续

24、学习新知识,拓宽企业在市场环境下的生存空间,增强企业的竞争力。第三章 系统总体设计3.1 系统目标对于人力资源管理系统这样的管理软件要求操作简单、灵活、方便、反映速度快、准确。根据需求分析的描述以及用户沟通,本系统在设计时应达到以下目标: 系统界面设计美观、有好。 智能化程度高、操作灵活、方便。 系统运行速度稳定、安全可靠。 反映快速、计算准确。 实现员工信息浏览,新员工增加、修改、删除,人员的调离,员工家庭信息、教育及工作经历管理。实现部门管理,包括部门的浏览,添加,删除。 登记并可以浏览日常考勤信息。 记录公司定期的员工考核成绩。 实现用户的管理包括新增、修改删除。3.2系统功能结构 人力

25、资源管理系统的功能结构图如图3.1所示。人力资源管理系统员工信息管理部门信息管理滚考评管理系统管理基本信息家庭信息工作经历工作评定高级查询添加部门修改部门删除部门日考统计用户登录用户管理考勤管理月考统计图3.1 人力资源管理系统功能结构图(人力资源统计分析、查询、报表)3.3 系统业务流程图人力资源管理系统操作流程图如图3.2所示。图3.2 人力资源管理系统操作流程图3.4数据库设计3.4.1数据库概要说明人力资源管理系统在运行过程中需要对大量的数据表进行插入、修改、删除、检索等操作,因此在设计时使用了Microsoft SQL Server 2000 数据库来满足运行需要。数据库名为“人力资

26、源管理系统”,共存储了7张数据表用于存储不同的信息。3.4.2数据库概念设计本章涉及大量的数据表, 下面选取几个重要的数据表进行详细分析。(1)员工信息实体员工信息实体包括员工编号、姓名、性别、生日、手机号、婚姻状况、所在部门、职务、工作岗位、家庭地址和入职时间等。员工信息实体E-R图,如图3.4所示。员工信息编号性别姓名 职务工作岗位手机号生日所在部门入职时间家庭住址婚姻状况图3.3员工信息实体E-R图(2)员工家庭实体员工家庭信息实体包括员工编号、姓名、年龄和员工的关系、工作单位,员工家庭实体E-R图,如图3.5所示。员工家庭成员员工编号性别姓名年龄工作单位关系图3.4员工调动信息实体E-

27、R图(3)员工工作经历实体员工工作经历实体包括员工编号、员工职务、工作单位、开始时间、结束时间,员工工作经历实体E-R图如图3.5所示。员工工作经历员工编号 工作单位开始时间结束时间员工职务图3.5员工工作经历实体E-R图(4)员工部门信息实体员工部门信息实体包括编号、部门名称、上级部门以及描述。员工部门信息实体E-R图如图3.6所示。员工部门编号 部门名称上级部门描述图3.6员工部门信息实体E-R图(5)员工考勤实体员工考勤信息实体包括考勤日期、全勤天数、出差天数、病假天数、事假天数、年修天数、加班天数和迟到时间等。工资考勤实体E-R图如图3.7所示。全勤天数考勤日期员工考勤考勤日期出差天数

28、病假天数员工编号事假天数年休天数迟到时间加班天数图3.7员工考勤实体E-R图(6)员工考评信息实体员工考核信息实体包括员工编号、奖励事由、奖励金额、出发事由、出发金额和考核月份。员工考核信息E-R图如图3.8所示。员工考评员工编号奖励事由奖励金额考评月份处罚事由处罚金额图3.8员工考核信息E-R图(7)用户信息实体员工考核信息实体包括用户姓名、用户性别和用户权限。用户实体图如图3.9所示。用户用户姓名用户性别用户权限图3.9用户信息E-R图3.4.3数据库逻辑结构设计(1)员工信息表(Yuangong)该表记录了员工的姓名、性别、出生年月等自然信息和员工的编号、所在部门、职位以及联系方式等业务

29、信息,员工的信息表如表1所示。表1员工基本信息表列名数据类型允许空否功能描述yg_IDChar(10)主键员工编号yg_NameChar(50)Not null员工姓名SexChar(2)性别Nationalityvarchar(40),民族Birthvarchar(20)生日Political_Partyvarchar(40)政治面貌Culture_Levelvarchar(40)文化水平Marital_Conditionvarchar(20)婚姻状况Family_PlaceVarChar(60)家庭住址Id_Cardvarchar(20)身份证号Mobilevarchar(30)手机号Hu

30、kouvarchar(100)户口所在地HireDatevarchar(20)上岗日期BumenIDint所在部门IDPositionvarchar(40)工作岗位Titlevarchar(20)职务(2)员工家庭表(Family)该表主要存储了员工的家庭成员的信息,该表的结构如表2所示。表2员工家庭表 列名数据类型允许空否功能描述yg_IDintNot null员工编号Namevarchar(50)Not null姓名Sexchar(2)性别Agetinyint年龄Relationshipvarchar(20)关系WorkingOrgvarchar(40)工作单位(3)员工工作经历表该表记录

31、了员工的工作经历,如曾工作的单位、担任的职务和工作的起至时间等,该表的结构如表3所示。表3员工工作经历表 列名数据类型允许空否功能描述yg_IDintNot null员工IDStartDatechar(10)开始日期EndDate char(10)结束日期Unitvarchar(50)工作单位 Titlevarchar(20)担任职务(4)部门信息表部门信息表包括部门编号、部门名称和部门描述等,该表的结构如表3所示。表4部门信息表 列名数据类型允许空否功能描述BumenIDint主键部门编号BumenNamevarchar(40)Not null部门名称Describe varchar(400

32、)部门描述UpperIDint上级部门编号(5)员工考核结果表(Kaoqin)该表记录了员工的考核信息,如事假、病假、出差、迟到、早退等。该表的结构如表5所示。表5员工考核结果表 列名数据类型允许空否功能描述CheckDatechar(10)Not null考勤日期yg_IDintNot null员工号qqDaysdecimal(4,1)全勤天数ccDaysdecimal(4,1)出差天数bjDaysdecimal(4,1)病假天数sjDaysdecimal(4,1)事假天数nxjDaysdecimal(4,1)年修假天数cdMinutestinyint迟到时间(分钟)ztMinutestin

33、yint早退时间Daysdecimal(4,1)加班天数Memovarchar(200)备注信息(6)员工考评结果表(Pingjia)该表记录了员工的总体评价、奖励和处罚等情况。该表的结构如表5所示。表6员工考评结果表 列名数据类型允许空否功能描述EvaMonthchar(10)Not null考评月份yg_IDintNot null员工编号ztEvavarchar(200)总体评价jlReasonvarchar(200)奖励事由jlAmountfloat奖励金额cfReasonvarchar(200)处罚事由cfAmountsmallint处罚金额Memovarchar(200)备注信息(7

34、)用户管理信息表(Admin)该表记录了用户的姓名、密码和权限。该表的结构如表4所示。表7用户信息表 列名数据类型允许空否功能描述UserNamevarchar(40)主键用户姓名Pwdvarchar(40)Not null用户密码UserType tinyintNot null用户权限3.4.4数据库表之间的关系数据库表之间的关系如下图3.10所示:图3.10数据表之间的关系对应于数据库中的表,程序中为每个表建立了一个操作数据库的类,这样以后需要操作数据库时,直接调用这些类的成员函数就可以了,使程序更加设计面向对象:管理员表Admin-CAdmin类部门表 Bumen-CBumen类员工表

35、Yuangong-CYuangong类家庭表 Jiating-CJiating类考勤表 Kaoqin- -CKaoqin类考评表 Kaoping-CKaoping类工作经历Jingli-CJingli类/*建立数据库连接和执行SQL语句的类CADO定义如下*/#if !defined AFX_CADO_H_#define AFX_CADO_H_#pragma once#import C:Program FilesCommon FilesSystemadomsado15.dll no_namespace rename(EOF,adoEOF) rename(BOF,adoBOF)/*/class

36、CADO private:_ConnectionPtr m_pConn;/数据库连接对象_RecordsetPtr m_pRS; /记录集对象public:CADO();/在构造函数中创建连接virtual CADO(); /在析构函数中关闭记录集,释放连接public:_RecordsetPtr& GetRS(CString strSQL); / 执行 返回记录集的SQL语句BOOL Execute(CString strSQL); / 执行不返回记录集的SQL语句;第四章 详细设计4.1用户登录模块设计4.1.1用户登录模块概述人力资源管理系统的信息安全是至关重要的,对不同的人要进行不同的

37、操作限制。用户可以以普通用户登录进入程序,也可以超级管理员登录进入程序。对于超级管理员登录的用户开户开放所有权限,而一般用户只可以浏览相关信息而没有修改、插入数据的权限。用户登录模块的运行效果如图4.2示。图4.2 登录模块4.1.2用户登录技术分析漂亮的用户界面是给人一个好印象的开始,下面我们介绍整个登陆框的绘制方法。其中,标题栏的绘制时本节的重点。其实绘制标题栏和平时大家在客户区上绘制其他东西一样,只不过标题是画在客户区上的。CWindowDC可以直接存取CWnd窗口的所有区域包括客户区和非客户区,是绘制标题栏所使用的DC。当然登录框的功能是实现登录和权限限制,这里使用了数据表Admin来

38、记录用户名和登录密码。这样,检查用户名和密码的有效性就等于判断数据表Admin中没有对应的数据库。4.2.3用户登录实现过程登录框的主要功能是登录和安全控制,下面介绍人力资源管理系统的登录过程的实现,代码如下。void CAdminEditDlg:OnOK() UpdateData(TRUE);CAdmin usr;usr.SetUserName(m_strName);usr.SetPwd(m_strPwd);usr.SetUserType(m_iUserType);/1为超级管理员,为普通用户if (usr.HaveName(m_strName) /如果要添加的用户已经存在了MessageB

39、ox(当前用户已存在,请选择其他用户名,管理员,MB_ICONINFORMATION|MB_OK);return;4.1.4用户密码修改修改密码是信息安全的一个重要环节,所以修改密码的环节必不可少。用户可以随时更改自己的密码,以确保自己的密码安全和数据库数据安全。密码字符是隐藏的。如下为修改密码的界面如图4.3所示图4.3密码修改首先给对话框建立相应的对话框类,然后编写对话框实现代码。对话框实现代码如下:void CAdminPwdDlg:OnOK() UpdateData(TRUE);/检查数据有效性if (m_OldPwd = )MessageBox(请输入旧密码);return;if (

40、m_NewPwd1 = )MessageBox(请输入新密码);return;if (m_NewPwd1 != m_NewPwd2)MessageBox(两次输入的新密码不同);return;/定义CAdmin对象,用于从表Admin中读取数据CAdmin user;user.GetData(m_UserName);/如果读取的数据与用户输入数据不同,则返回if (user.GetPwd() != m_OldPwd)MessageBox(用户密码不正确!);return;user.SetPwd(m_NewPwd1);user.sql_updatePwd(m_UserName);MessageB

41、ox(密码修改成功,下次登录请使用新密码);CDialog:OnOK();4.2 用户管理模块用户有管理员用户和普通用户2类。超级管理员拥有所有权限,可以添加其他管理员。而普通管理员登陆后,只能浏览信息,而不能修改信息。其实现代码如下:void CAdminView:OnModiButton() POSITION pos = m_list.GetFirstSelectedItemPosition();int m_nIndex = m_list.GetNextSelectedItem(pos); / 得到项目索引if(m_nIndex=-1)MessageBox(请选择一项在删除!,提示,MB_

42、ICONINFORMATION);return;if (g_curAdmin.GetUserType() =0& m_list.GetItemData(m_nIndex) =1)MessageBox(你是普通用户,不能对管理员的密码复位!);return;if (MessageBox(是否对当前用户进行密码复位,请确认, MB_YESNO) = IDYES)this-m_admin.SetPwd(e); /设置默认密码this-m_admin.sql_updatePwd(m_list.GetItemText(m_nIndex,0);MessageBox(该用户的密码已经复位,默认的密码为e,O

43、K,MB_ICONINFORMATION|MB_OK);void CAdminView:OnDelButton() POSITION pos = m_list.GetFirstSelectedItemPosition();int m_nIndex = m_list.GetNextSelectedItem(pos); / 得到项目索引if(m_nIndex=-1)MessageBox(请选择一项在删除!,提示,MB_ICONINFORMATION);return;if (g_curAdmin.GetUserName() = m_list.GetItemText(m_nIndex,0)Messag

44、eBox(不能删除当前已登陆的用户!,删除,MB_ICONEXCLAMATION|MB_OK);return;if (MessageBox(你真的要删除这个用户吗?,请确认, MB_YESNO) = IDYES)this-m_admin.sql_delete(m_list.GetItemText(m_nIndex,0);/删除数据库中的信息m_list.DeleteItem(m_nIndex); /删除列表控件中的信息UINT flag = LVIS_SELECTED|LVIS_FOCUSED;m_list.SetItemState(m_nIndex-1, flag, flag);/选种该项的

45、上一项4.4 员工信息管理模块设计员工信息是此系统最重要的信息之一。确保员工的信息的完整和正确性对于整个系统都有很重要的意义。此界面力求达到最强的实用性。为了保证信息安全,必须为各模块设置权限,即系统管理员或人事专员具有管理功能,而普通用户只有查询的功能。权限的设置采用将当前用户不具有的功能按钮置灰的办法。员工信息编辑界面如图4.4所示。同样也为对话框建立一个相对应的对话框类。其中上级员工的选择用一个弹出对话框来选择。填表人和填表时间为当前用户用户名和当前时间,由系统自动读入。员工相片只能选用BMP图片,可以选择在当前主机上任何位置的图片。相关的实现代码在这里就省略不写,具体可见如下代码:BO

46、OL CYuangongEditDlg:OnInitDialog() CDialog:OnInitDialog();/设置性别if (cSex = 男)m_Sex.SetCurSel(0);elsem_Sex.SetCurSel(1);/设置状态m_State.SetCurSel(iState-1);/如果是添加新员工,则将设置和删除照片的按钮置灰if (YgID = 0)/GetDlgItem(IDC_SETPHOTO_BUTTON)-EnableWindow(FALSE);else /读取照片图像信息/清除原图像数据if(m_hBitmap)DeleteObject(m_hBitmap);

47、m_hBitmap = NULL;/将当前员工记录读取到m_pRs对象中CString cYgID;cYgID.Format(%d, YgID);CString vSQL(SELECT * FROM Yuangong WHERE yg_ID= + cYgID);_RecordsetPtr m_pRs= theApp.m_ado.GetRS(vSQL);if(m_pRs-adoEOF | m_pRs-adoBOF) GetDlgItem(IDC_SETPHOTO_BUTTON)-EnableWindow(FALSE);/如果不存在此记录,则将设置按钮置灰并返回return FALSE;/将用户输

48、入的数据赋值到对象Bumen中,为更新数据库做准备Yg.Setyg_Name(m_YgName);int index;index = m_Sex.GetCurSel();if (index = 0)Yg.SetSex(男);elseYg.SetSex(女);Yg.SetNationality(m_Nation);Yg.SetBirth(m_Birth.Format(%Y-%m-%d);Yg.SetPolitical_Party(m_Political);Yg.SetCulture_Level(m_Culture);Yg.SetMarital_Condition(m_Marital);Yg.Se

49、tFamily_Place(m_Family);Yg.SetID_Card(m_IDcard);Yg.SetBadgeID(m_Badge);Yg.SetOffice_phone(m_Office);Yg.SetMobile(m_Mobile);Yg.SetFiles_Keep_Org(m_File);Yg.SetHukou(m_Hukou);Yg.SetHireDate(m_HireDate.Format(%Y-%m-%d);Yg.SetBumenID(BumenID);Yg.SetPosition(m_Position);Yg.SetTitle(m_Title);Yg.SetState(m

50、_State.GetCurSel() + 1);Yg.SetUpperID(UpperID);Yg.SetContract_Duration(m_Contract);Yg.SetMemo(m_Memo);/自动保存填表人和填表时间m_Fillperson = g_curAdmin.GetUserName();CTime t = CTime:GetCurrentTime();m_Filltime = t.Format(%Y-%m-%d);Yg.SetFillAdmin(m_Fillperson);Yg.SetFillDate(m_Filltime);if (YgID = 0) /表示插入数据/判

51、断部门名称是否存在if (Yg.HaveName(m_YgName) = 1)MessageBox(员工姓名已经存在,请重新输入!);return;else/返回插入记录的编号Yg.sql_insert();else/如果用户修改了部门名称,则判断新部门名称是否存在if (m_YgName != YgName)if (Yg.HaveName(m_YgName) = 1)MessageBox(员工姓名已经存在,请重新输入!);return;/根据BumenID的值更新记录CString cYgID;cYgID.Format(%d, YgID);Yg.sql_update(cYgID);CDial

52、og:OnOK();4.5 部门信息管理模块设计部门管理模块设计中,用“部门信息”作为树控件的根结点。采用递归算法实现部门信息树的显示。添加代码之前需要先导入需要的“Icon”文件。为了保存所选部门信息,必须先在对话框的类中添加公共变量DepId,DepName。当用户单击“确定”时,将执行OnOk()函数,该函数从Tree控件中读取选择的部门的信息,然后将其赋值到公共变量DepId,DepName,其他模块可以通过访问此公共变量来获得所选择的部门信息。实现过程与员工信息管理模块类似。相关实现代码如下:void CBumenSelDlg:AddtoTree(HTREEITEM m_node,

53、int UpperID)int i;HTREEITEM m_child;/依次访问Bumen对象中的部门数组,查找满足条件的记录添加到Tree控件中for(i=0; iBumen.a_UpperID.GetSize(); i+)/ 打开a_UpperID数组中等于UpperID的元素/ 表明此元素为当前根节点的子节点,因此将其添加到Tree控件中,新节点为m_child/ 使用SetItemData()函数将部门编号值也保存在新节点中/ 以新节点为根节点,再次递归调用AddtoTree()函数,将其子节点添加到Tree控件中if (UpperID = atoi(Bumen.a_UpperID.

54、GetAt(i)m_child = m_tree.InsertItem(Bumen.a_BumenName.GetAt(i), m_node);m_tree.SetItemData(m_child, atol(Bumen.a_BumenID.GetAt(i);m_tree.Expand(m_node,TVE_EXPAND);AddtoTree(m_child, atoi(Bumen.a_BumenID.GetAt(i);BOOL CBumenSelDlg:OnInitDialog() CDialog:OnInitDialog();Bumen.LoadBumenInfo();/添加根节点m_tr

55、eeImageList.Create(16,16,ILC_COLOR24,1,0); /创建CImageList控件/装入ICON资源HICON hIcon = :LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON1);m_treeImageList.Add(hIcon); /将ICON资源添加到CImageList控件中/将CImageList控件与Tree控件相关联m_tree.SetImageList(&m_treeImageList, LVSIL_NORMAL);m_root = m_tree.InsertItem(部门信

56、息); /添加根节点/调用AddtoTree() 函数,将所有部门信息添加到Tree控件中AddtoTree(m_root, 0);m_tree.Expand(m_root, TVE_EXPAND); /展开根节点return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE4.6 员工考勤信息模块设计考勤管理模块的实现分为日考勤信息管理和月考勤信息统计。在日考勤信息管理中必须先选择部门在表中出现相应的员工的考勤记录。选择记录

57、,点击“设置”可以设置和修改考勤信息,点击“月度考勤”可以统计每月的考勤信息。权限的设置与4.3类似。考勤管理对话框界面如下所示相关代码如下所示:BOOL CKaoqinSumDlg:OnInitDialog() CDialog:OnInitDialog();CTime t = CTime:GetCurrentTime(); /读取当前系统日期int iYear, iMonth;iYear = t.GetYear();iMonth = t.GetMonth()m_year.SetCurSel(iYear - 2000);m_month.SetCurSel(iMonth - 1);Refresh

58、_Data();return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid CKaoqinSumDlg:OnSetBumenButton() CBumenSelDlg dlg;/打开选择部门对话框dlg.DoModal();/从对话框中读取选择部门的信息iBumenID = dlg.BumenID;m_BumenName = dlg.BumenName;UpdateData(FALSE);/根据选择的部门信息,刷新表格数据Refresh_Data();

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!