基于企事业人事管理系统的设计与实现毕业论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于企事业人事管理系统的设计与实现
毕业论文
目录
1 绪论 (1)
1.1 引言 (1)
1.2 开发背景 (1)
1.3国内外研究现状 (1)
1.4 设计思想和目的 (2)
2 开发工具简介 (3)
2.1 .NET介绍 (3)
2.2 SQL Server 2005介绍 (3)
2.3 Visual Studio 2005介绍 (3)
2.4 C#介绍 (4)
3 系统分析 (5)
3.1 系统说明与介绍 (5)
3.2 系统需求分析 (5)
3.3系统开发工具 (5)
4 系统总体设计 (6)
4.1 系统模块总体设计 (6)
4.1.1 系统管理模块 (6)
4.1.2 人事档案管理模块 (6)
4.1.3 日常人事管理模块 (6)
4.1.4 薪资管理模块 (6)
4.2 系统文件架构 (7)
4.3 数据库设计 (9)
4.3.1 数据表的概要说明 (9)
4.3.2 主要数据库表结构设计 (10)
5 系统详细设计 (13)
5.1 通用程序设计 (13)
5.1.1 Certification类设计 (13)
5.1.2 DataAccess.cs类设计 (13)
5.2 设计系统主窗体 (14)
5.2.1 界面设计 (14)
5.2.2 FormMain类设计 (16)
5.3 权限设置模块的实现 (16)
5.4 人事档案管理模块的实现 (17)
5.4.1 人事档案管理窗体的实现 (17)
5.4.2 添加、修改员工信息窗体(FormAddEmp)的实现 (21)
5.5 部门及其他设置模块的实现 (24)
5.5.1 部门设置窗体的实现 (24)
5.5.2 添加内容窗体(FormTreeNode)的实现 (26)
6.系统测试 (27)
6.1 测试方法 (27)
6.2 测试项目 (27)
结论 (29)
致谢 (30)
参考文献 (31)
附录 (31)
附录1 ........................................................................................................... 错误!未定义书签。
1 绪论
1.1 引言
最初的人事管理,都是靠人力来完成的。
当企业规模比较小的时候,人力可以完成。
随着企业的规模越来越大,企业的员工人数也越来越多,依然维持着人力进行人事管理,必然会造成工作效率低,工作错误增高的问题。
在这种情况下,一个可以规范化,自动化的企业人事管理系统就显得非常必要。
人事管理系统就是把分散的企事业单位的职工信息实行统一,集中,规范的收集管理,建立现代化,专业化的管理系统,为企事业单位和职工解除后顾之忧。
通过人事管理系统对企业人事进行管理,使企业适应时代的发展要求,大大提高了企业的核心竞争力。
本课题就人事管理系统的设计与实现进行了认真的分析研究,结合实际工作环境和实际管理需求,建立了一个高效、稳定的人事管理系统,达到了先进、安全、实用、可靠的目标。
在系统安全问题上,主要考虑如何为合法用户分配权限以及如何控制防范非法用户的非法访问。
1.2 开发背景
人事管理系统是现代企事业单位信息化中最基础的部分,它对于单位决策者和管理者来说都至关重要,同时计算机系统具有手工管理所无法比拟的优点,如检索迅速、查询方便、可靠性高、存储量大、保密性好、寿命长和成本低等。
这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理的重要条件。
因此,提供一套合理、有效、规范和实用的人事管理系统,完成人事信息的检索、更新和维护工作已成为企事业单位信息化过程中必不可少的一环。
人事管理系统综合运用人事管理相关领域的知识,结合计算机技术,科学地管理企业的人事档案、薪水发放等信息,具有检索迅速、操作方便、存储量大、保密性高、成本低等特点,可以大大地提高工作效率;同时可以引导企业按照科学的管理理念对人力资源进行规范化的管理。
1.3国内外研究现状
据统计,目前,美国在财务会计上占有90%的工作由计算机完成,人事管理中80-100%的信息处理由计算机完成,计划管理是80—90%,在计算机应用发展较快的国家中,计算机应用于经济管理的占80%,由此可以看出,在国外经济管理是计算机应用的主要领域。
我国的人事管理等信息系统的开发应用是从1973年开始的,83年以后才开始了大量的实际的开发和研究工作。
因此,信息资源的开发和利用已被确立为国民经济信息的核心内容,信息数字化,传输的网络化是缩小发展中国家与发达国家差距的捷径。
我们国家一直以来使用传统人工的方式管理文件档案,这种管理方式存在着许多缺
点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
作为计算机应用的一部分,使用计算机对人事档案信息进行管理,具有手工管理所无法比拟的优点。
所以建立人事管理系统,使人事管理自动化,提高信息处理的速度和准确性十分必要。
1.4 设计思想和目的
本系统以中小型企业的人事管理流程为依托,结合人力资源管理理论,设计并开发一个企业人事管理系统,提供一个“以人为本”,科学合理的人事管理解决方案。
该系统针对企业不同管理层的职员,就人事管理的方方面面,提供一个互动式的人事管理平台。
系统目标:
⑴尊重传统的企业人事管理制度和文化,满足企业不同管理层的员工和企业和普通员工对人事管理相关内容的不同需求。
⑵通过人事管理系统的实现,使企业的人事管理更加科学化。
⑶提供灵活、方便的操作。
⑷节约人事管理的成本,提高企业人事管理的效率。
⑸对系统提供必要的权限管理。
⑹为企业实现整体信息化的其他相关系统提供必要的数据支持。
2 开发工具简介
2.1 .NET介绍
NET 是 Microsoft XML Web services 平台。
XML Web services 允许应用程序通过Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。
Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。
对个人用户的好处是无缝的、吸引人的体验。
是微软以服务方式递交的一种策略。
它是微软公司的新战略,所有微软的产品都将围绕这个战略开发。
微软为了推行.Net战略,特别为.NET平台设计了一种新语言C#。
C#是由C和C++发展而来的一种“简单、高效、面向对象、类型安全”的程序设计语言,其综合了Visual Basic的高效和C++的强大功能。
C#是.NET的关键语言,是整个.NET平台的基础。
SQL Server 2005是微软开发的新一代企业级数据库产品,它提供了集成的数据解决方案,增强了企业数据的安全性、可伸缩性,更加易于创建、部署和管理。
SQL Server 2005集成了分析、报表和通知功能,使得企业可以构建和部署高效的商业智能解决方案。
2.2 SQL Server 2005介绍
SQL Server 2005的各个版本。
⑴SQL Server 2005 Enterprise Edition(32 位和 64 位)
⑵SQL Server 2005 Standard Edition(32 位和 64 位)
⑶SQL Server 2005 Workgroup Edition(仅适用于 32 位)
⑷SQL Server 2005 Developer Edition(32 位和 64 位)
⑸SQL Server 2005 Express Edition(仅适用于 32 位)
2.3 Visual Studio 2005介绍
今天,企业要获得成功,就必须正视构建和维护日益复杂的信息技术 (IT) 解决方案的需求。
此外,他们还要借助于新技术来拓展业务功能并开发全新的业务机会。
自 IT 部门接受了技术支持任务的那一刻起,他们便成为绝大部分业务策略中的关键角色。
企业当然希望能从他们在 IT 项目的投资中获得最大利润,这就意味着 IT 部门需要在越来越大的压力下多快好省地完成工作。
对更高成本效益的追求使得 IT 项目的预见性需求日渐增加。
然而,这样做通常造成繁琐的过程和对成本消耗的监控,这只不过是将费用转嫁到不同的问题。
付出的代价是开发机会的时间投入以及膨胀的 IT 预算。
复杂的应用程序需要多支训练有素的开发团队来实现。
对于开发团队作出的任何主要承诺来说,信息交流都是成功的一个基本元素。
新的 Visual Studio Team System 扩展了 Microsoft 的优秀功能,即,通过提供与业务紧密集成的、可扩展的、能够增加成功几率的生命周期工具,从而为用户提供高效的工具。
能否成功主要取决于,为了降低交付
解决方案的复杂性,团队间是否进行了充分的交流。
2.4 C#介绍
C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。
它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。
C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
并且C#成为ECMA与ISO标准规范。
C#看似基于C++写成,但又融入其它语言如Delphi、Java、VB等。
微软C#语言定义主要是从C和C++继承而来的,而且语言中的许多元素也反映了这一点.C#在设计者从C++继承的可选选项方面比Java要广泛一些(比如说struts),它还增加了自己新的特点(比方说源代码版本定义).但它还太不成熟,不可能挤垮Java.C#还需要进化成一种开发者能够接受和采用的语言.而微软当前为它的这种新语言大造声势也是值得注意的.目前大家的反应是:"这是对Java的反击."
C#更像Java一些,虽然微软在这个问题上保持沉默.这也是意料中的事情,我觉得,因为Java近来很成功而使用Java的公司都报告说它们在生产效率上比C++获得了提高.
3 系统分析
3.1 系统说明与介绍
人事管理系统是现代企事业单位信息化中最基础的部分,它对于单位决策者和管理者来说都至关重要,同时计算机系统具有手工管理所无法比拟的优点,如检索迅速、查询方便、可靠性高、存储量大、保密性好、寿命长和成本低等。
这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理的重要条件。
因此,提供一套合理、有效、规范和实用的人事管理系统,完成人事信息的检索、更新和维护工作已成为企事业单位信息化过程中必不可少的一环。
3.2 系统需求分析
人事管理系统是一类通用的管理信息系统,包括员工档案管理、薪资管理和日常人事工作管理等。
下面是一份本系统简单的需求说明文本,是在对系统的终端用户和客户进行调研后编写的,这里只列出比较关键的部分。
⑴人事管理系统需要对人事档案进行管理,包括添加、删除、修改员工信息;对员工进行分类查询、统计等操作。
⑵人事管理系统需对日常人事工作进行管理,包括员工工作关系、社会关系、奖惩情况、职称评定和工作调动情况等内容。
⑶人事管理系统应具备人员薪资管理功能,包括工资管理、养老和医疗保险管理等。
⑷系统运行在windows平台上,要求有一个较好的图形用户界面,操作要求简单。
⑸系统应该有良好的架构及可扩展性,以便不同类型的企事业单位根据实际情况对原有系统进行补充与修改。
3.3系统开发工具
设计开发平台为Visual Studio 2005
设计用户界面的工具为 C#
设计所使用的主要数据库管理工具为 SQL Server 2005
4 系统总体设计
4.1 系统模块总体设计
人事管理系统主要适用于企事业单位日常人事管理工作。
本系统可以分为以下几个模块:系统管理模块、人事档案管理模块、日常人事管理模块和薪资管理模块,下面分别给出各功能模块的介绍。
4.1.1 系统管理模块
系统管理模块包括用户管理及系统设置两部分,共包括以下几个子模块。
⑴添加用户:添加一个系统用户。
⑵权限设置:设置用户权限,其中权限分为系统管理员和普通用户两类,只有系统管理员才能进行权限设置操作。
⑶部门设置:设置当前系统的部门。
⑷其他设置:设置系统中的其他内容,如民族、职称、职务等。
4.1.2 人事档案管理模块
该模块用来处理人事档案相关操作,包括员工档案的添加、修改及删除操作;员工档案查询操作;员工档案的分类查询及统计操作等。
4.1.3 日常人事管理模块
该模块完成企事业单位日常人事管理工作,包含以下功能:
⑴员工社会关系管理。
⑵员工工作关系管理。
⑶员工调动管理。
⑷职称评定管理。
⑸奖励与处分管理。
4.1.4 薪资管理模块
该模块实现薪酬管理相关操作,包含以下功能:
⑴薪资管理。
⑵养老保险管理。
⑶医疗保险管理。
本系统中各功能模块之间的关系如图4-1所示:
图4-1 各功能模块之间的关系
4.2 系统文件架构
本系统以Visual Studio 2005及SQL Server 2005为开发工具和数据库工具。
系统文件分为人事管理文件、系统管理文件及全局文件,分别存放在HROper、SysOper及系统目录下。
其中,HROper目录下包含日常人事管理模块与人事档案管理模块相关的文档;SysOper目录下包含系统管理模块相关文件;系统目录下包含主界面文档、登录机全局功能相关文件。
HROper目录下存放有与人事管理和人事档案管理相关的窗体,其中每个窗体包含一个CS文件、Design.cs文件和一个资源文件。
该目录下包含的窗体如下:
FormAddAward.cs:定义添加奖惩处理操作。
FormAddEmp.cs:定义添加员工操作。
FormAddEmpChange.cs:定义添加工作调动操作。
FormAddMedInsure.cs:定义添加医疗保险操作。
FormAddPenInsure.cs:定义添加养老保险操作。
FormAddSalary.cs:定义添加薪资操作。
FormAddSocia.cs:定义添加社会关系操作。
FormAddTitle.cs:定义职称管理操作。
FormAddWork.cs:定义工作关系操作。
FormAwardInfo.cs:定义薪酬管理操作。
FormEmpChange.cs:定义员工调动管理操作。
FormEmpInfo.cs:定义人事档案管理操作。
FormMedInsure.cs:定义医疗保险管理操作。
FormPenInsurInfo.cs:定义养老保险管理操作
FormSalaryInfo.cs:定义薪酬管理操作。
FormSociInfo.cs:定义社会关系管理操作。
FormTitle.cs:定义职称管理操作。
FormWorkInfo.cs:定义工作关系管理操作。
SysOper目录下存放有与系统管理相关的窗体,其中每个窗体包含一个cs文件、Design.cs文件和一个资源文件。
该目录下包含的窗体如下:
FormAddUser.cs:定义添加用户操作。
FormCompetenceInfo.cs:定义权限管理操作。
FormDepInfo.cs:定义设置部门操作。
FormOtherSetting.cs:定义其他设置操作。
FormTreeNode.cs:定义添加(修改)设置过程。
FormEditPSW.cs:定义修改密码操作。
Image目标下包含了系统相关的图标文文件,在此不在一一赘述。
系统目录下包含有相关的窗体文件和全局文件。
Certification.cs:定义验证操作及设置DataGrid样式操作。
DataAccess.cs:定义数据库访问操作。
Program.cs:系统文件。
FormLogin.cs:定义登录操作。
FormMain.cs:定义主窗体。
系统所包含文件的组织结构如图4-2所示
4.3 数据库设计
本系统采用了SQL Server 2005作为后台数据库,数据库名为HRManBeifen。
下面给出数据表的概要说明和主要数据库表的结构定义。
4.3.1 数据表的概要说明
本系统的数据表可以分为两大类,一类用来存放员工相关信息,如EmployInfo(员工信息表)、EndowmentInfo(养老保险信息表);另一类用来存放系统相关数据的信息,如JobInfo(职务信息表)、RaceInfo(民族信息表)。
系统共有如下所示表。
⑴员工信息表(EmployInfo):该表包含了与员工相关的信息。
⑵养老保险信息表(EndowmentInfo):该表包含了养老保险相关信息。
⑶职务信息表(JobInfo):该表包含了植物相关信息。
⑷医疗保险信息表(MedicalInfo):该表包含了养老保险相关信息。
⑸图片表(Photo):该表包含了员工图片信息。
⑹奖惩表(PpInfo):该表包含了员工奖惩信息。
⑺民族信息表(RaceInfo):该表包含了民族相关信息。
⑻部门信息表(SectionInfo):该表包含了部门相关信息。
⑼员工社会关系信息表(SocietyInfo):该表包含了员工社会关系相关信息。
⑽职称信息表(TitleInfo):该表包含了职称相关信息。
⑾职称类型信息表(Title):该表包含了职称类型相关信息。
⑿员工调动信息表(TransferInfo):该表包含了员工调动相关信息。
⒀用户信息表(UserInfo):该表包了用户相关信息。
⒁薪资信息表(WagesInfo):该表包含了员工工资相关信息。
⒂工作关系表(WorkInfo):该表包含了员工工作关系相关信息。
4.3.2 主要数据库表结构设计
上节中给出了本系统中各表的基本内容及主要功能,下面将对这些数据表的结构做一个简要的介绍。
⑴员工信息表
该表用来存储于员工相关的基本信息。
其结构如表4-1所示。
⑵养老保险信息表
EndowmentInfo表中存储养老保险相关信息(注:自动编号字段指将该字段的数据库类型设置为int),具体结构如表4-2所示。
⑶职务信息表
JobInfo表中记录了职务相关信息。
其结构如表4-3所示。
⑷职称信息表
该表主要存放员工的职称信息。
其结构如表4-4所示。
⑸职称类型信息表
该表村刚职称类型相关信息,具体结构如表4-5所示
⑹用户信息表
该表主要用来存放系统用户信息。
其结构如表4-6所示
本系统包含表较多,但结构类似,故此处仅给出以上6个表的结构,其余表请参考相关的代码。
5 系统详细设计
5.1 通用程序设计
本系统定义了Certification类用来验证输入内容是否符合格式及设定DataGrid控件类型;定义了DataAccess类描述数据访问操作。
5.1.1 Certification类设计
打开Visual Studio 2005开发环境,新建基于C#的Windows应用程序,命名为HRMan,完成创建应用程序框架工作。
在“解决方案资源管理器”面板中右击HRMan,在弹出的快捷菜单中选择“添加”|“新建项”命令,弹出“添加新项—HRMan”对话框,选择“类”列表项,命名为Certification.cs,单击“确定”按钮,完成设置。
该文件为一个标准的C#类文件,在该类中定义了验证输入是否合法的相关方法,包括验证输入是否为电话号码,是否为身份证号码和是否为日期等内容。
实现这些功能一般需要调用System.Text.RegularExpressions命名空间。
该命名空间包含的内容参考MSDN相关文档。
该类的部分验证函数代码见附录代码内容。
5.1.2 DataAccess.cs类设计
该类描述了与数据库操作相关的服务,主要内容为执行SQL语句的服务,其中又分为有返回SQL语句、无返回SQL语句及批量执行SQL语句。
除此之外,还包括一些其他的服务,如判断是否有记录返回,图片的读取和写入服务等。
⑴ DataAccess类数据成员
实现数据库访问功能必然离不开连接对象,故本类包含有数据库连接对象成员。
由于不同的数据库系统具有不同的安全认证要求,故本例定义了一个静态成员str用来存放连接字符串,方便读者根据数据库系统的不同设定自己的链接字符串。
SqlConnection conn;
Static string Str = "Data Source=user;Initial Catalog=HRManBeifen;Integrated Security=SSPI;";
在DataAccess类的构造函数中实例化链接对象并打开即可。
代码如下:
conn = new SqlConnection(Str);
conn.Open();
⑵ ExeSQL服务
该服务以SQL语句为参数,在ExeSQL函数中,实例化一个SqlCommand对象,参数分别为形参SQL语句字符串和当前类的数据库连接成员。
然后调用SqlCommand对象的ExecuteNonQuery方法完成形参SQL语句的执行过程。
若执行成功,返回0;否则,返回-1。
ExeSQL服务的实现如附录代码内容。
⑶ IsRead服务
该服务用来显示当前要执行SQL查询语句是否有返回结果。
该函数以SQL语句为参数。
若有结果,则返回布尔类型值True;否则,返回false。
该函数仍需要实例化一个SqlCommand 对象,并调用该对象的ExecuteReader方法。
IsRead函数的实现如附录代码内容。
⑷判断ExeSQLs服务
该服务用来批量执行SQL语句,参数为字符串数组,用来传递需要执行的各SQL语句。
需要指出的是,该函数执行的SQL语句为非查询SQL语句,且整个执行过程在一个数据库事务内,要么全执行,要么全不执行。
该函数的实现如附录代码内容。
⑸ ExeSQLdt服务
该服务用来执行SQL查询语句,并将查询结果以DataTabel对象形式返回,参数仍为SQl字符串。
该函数的语法与ExeSQL的相同,区别在于该函数的参数为SQl查询语句,执行查询后得到的结果返回到外部的DataTable中。
该函数的实现如附录代码内容。
除上述服务外,DataAccess类还具有ReadImage和WriteImage服务,用来处理图像的数据库存储,在此不一一详述。
5.2 设计系统主窗体
多文档窗体界面在很多的数据库信息管理程序中常见。
在本系统中,使用Visual C# 2005创建MDI对窗体应用程序,以及使用菜单、工具栏及状态栏作主界面的设计元素。
5.2.1 界面设计
主窗体界面的设计步骤如下。
⑴为HRMan应用程序添加一个Windows窗体,命名为FormMain.cs,设置Text属性为“人事管理系统”;设置IsMdiContainer属性值为Ture,也就是把该窗体设置为多文档应用程序的父窗体;设置该窗体的Icon属性值为系统目标\Image\xcicon32.ico图标文件(如无特殊说明,本实例窗体图标均为该图标文件)。
还可以通过设置窗体的BackColor 属性与BackGroundImage属性,以达到美化主窗体界面的效果。
⑵从工具箱中拖放一个MenuStrip控件到主窗体FormMain中,单击主窗体下方的菜单图标,在主窗体的菜单栏中按照表5-1所示的结构依次输入各个菜单项的标题。
职称评定 ToolStripMenuItem 职称评定
奖励与处分 ToolStripMenuItem 奖励与处分一级薪酬管理 ToolStripMenuItem 薪酬管理
二级薪资管理 ToolStripMenuItem 薪资管理
养老保险管理 ToolStripMenuItem 养老保险管理医疗保险管理 ToolStripMenuItem 医疗保险管理
一级系统管理 ToolStripMenuItem 系统管理
二级添加用户 ToolStripMenuItem 添加用户权限设置 ToolStripMenuItem 权限设置部门设置 ToolStripMenuItem 部门设置其他设置 ToolStripMenuItem 其他设置
⑶从工具箱中拖放一个toolStrip控件到主窗体FormMain中,为主窗体添加如表1-8所示的按钮。
所有按钮的DisplayStyle属性值均为ImageAndText;TextImageRelation 属性值均为ImageAboveText。
此处仅给出部分功能所对应的按钮。
按钮名称Text 属性
toolStripButton1 人事档案
toolStripSeparator1
toolStripButton2 员工调动
toolStripButton3 职称评定
toolStripSeparator2
toolStripButton4 薪资管理
toolStripButton5 养老保险管理
toolStripSeparator3
toolStripButton6 部门设置
toolStripButton7 其他设置
toolStripSeparator4
toolStripButton8 添加用户
toolStripButton9 权限管理
⑷从工具箱中拖放一个statusStrip控件到主窗体FormMain中,接受默认名称statusStrip1.为主窗体添加两个StatusLabel,名称分别为toolStripStatusLabel1和toolStripStatusLabel2。
设置完成后的效果如图5-1所示。
图5-1 系统主界面
5.2.2 FormMain类设计
窗体FormMain Windows使系统自动生成FormMain类,为了更好地实现相关功能,需要为FormMain添加相应的成员。
添加成员代码如下:
//实现单键模式
public static FormMain FM;
//判断窗体类型
public bool CheckForm(string Name)
FM为当前类的静态数据成员,通过FM实现单键模式,而CheckForm则用来判断指定窗体是否为当前类型窗体。
其中在FormMain类的构造函数中为FM赋初值this。
CheckForm 函数的实现如附录代码内容。
在窗体的Load函数中需要根据登录用户的权限初始化菜单项与按钮是否可用。
本示例中仅分系统管理员和普通用户两类。
系统管理员可以操作所有的功能,普通用户可以操作除系统管理和设置外的所有功能。
实现过程如附录内容。
FormMain类主要的功能是处理按钮和菜单的响应事件,这一部分代码结构都是一致的,在此仅给出响应人事档案管理按钮及菜单的函数。
实现过程如附录代码内容。
该段代码首先判断当前窗体是否为人事管理窗体,若是则返回,否则实例化一个人是管理窗体,设置为当前MDI父窗体的一个子窗体并显示。
工具栏中“人事档案”按钮的Click 事件响应代码与次相同,双击该按钮,为其Click时间添加如附录代码内容。
5.3 权限设置模块的实现
权限设置模块用来完成用户权限设置操作,由于系统权限值为固定内容,故在修改权限时只能考虑Combo控件,而非TextBox控件。
本示例用DataGrideView控件内嵌Combo 列实现修改权限操作。
该页面较简单,仅包含一个DataGridView控件,命名为dataGrid1.该页面运行效果如图5-2所示。
图5-2 权限管理图
页面加载函数中需要根据数据库中用户及权限数据初始化DataGridView控件,结束
后设置“用户ID”和“用户名称”列为只读,通过“权限”列的改变触发响应以修改SQL 语句,执行修改权限过程。
整个过程仅需响应两个事件,分别为窗体的Load事件和DataGridView控件的CellValueChanged事件。
其中初始化操作被封装到该窗体类的DBDataGrid服务中,仅需要在窗体Load事件中调用该函数即可。
DBDataGrid函数具体内容请参考附录代码内容。
该段代码用来构造DataGridView控件的现实格式及显示内容,读者需重点学习的部分为Combo列的构建操作,即DataGridViewComboBoxColumn类的实例化操作,以及如何实现DataGridView控件的隔行显示不同的背景颜色操作。
由于控件的前两列不可修改,故只能是在“权限”列的值发生改变时触发DataGridView 控件的CellValueChanged事件,此时仅需要值发生变化的单元格的值,即可完成修改操作。
具体实现如附录代码内容。
5.4 人事档案管理模块的实现
人事档案管理模块主要实现员工的档案信息管理,包括档案信息的查询、分类统计,以及员工档案的添加、删除和修改操作。
与人事档案管理模块相关的文件包括FormEmpInfo.cs(描述人事档案管理功能)和FormAddEmp.cs(描述添加员工档案功能)。
5.4.1 人事档案管理窗体的实现
人事档案管理模块实现了员工档案的查询、分类显示,以及添加、修改和删除操作。
实现步骤如下:
⑴为HRMan应用程序添加一个文件夹,命名为HROper,该文件夹用来存放与人事管理相关的窗体。
右击HROper文件夹,在弹出的快捷菜单中选择“添加”|“新建项”命令,添加一个Windows窗体,命名为FormEmpInfo。
设置Text属性为“人事档案管理”,为窗体添加一个ToolStrip控件,名称为toolStrip1,设置其Dock属性值为Top。
该控件所包含的Button对象如表5-3所示。
其中各个按钮分别对应不同的Image属性值,每个按钮的Image属性值如图5-3所示,。