• 1.48 MB
  • 2022-04-22 13:33:31 发布

人事管理系统设计与实现毕业论文.doc

  • 31页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'蚌埠学院本科毕业设计(论文)人事管理系统设计与实现毕业论文目录中文摘要-1-英文摘要-2-第1章概述-3-1.1选题背景及意义-3-1.2人事管理系统在国内外的研究现状和发展趋势-4-第2章人事管理系统分析-5-2.1人事管理系统可行性分析-5-2.1.1技术可行性分析-5-2.1.2经济可行性分析-5-2.1.3操作可行性分析-6-2.2人事管理系统需求分析-6-2.2.1性能需求分析-6-2.2.2功能需求分析-6-第3章人事管理系统设计-8-3.1数据库设计-8-3.1.1表的设计-8-3.1.2各表实体关系图-10-3.1.3系统ER图设计-10-3.2系统总体结构设计-11-3.2.1普通员工流程图设计-11-3.2.2管理员流程图设计-12-第4章人事管理系统功能实现-13--29- 蚌埠学院本科毕业设计(论文)4.1登录功能实现-13-4.1.1登录核心代码-13-4.1.2登录运行记录图-15-4.2主界面功能实现-16-4.2.1主界面核心代码-16-4.2.2主界面运行记录图-16-4.3员工基本信息管理功能实现-17-4.3.1增删改查员工基本信息核心代码-17-4.3.2增删改查员工基本信息运行记录图-20-4.4请假管理功能实现-22-4.4.1请假管理核心代码-22-4.4.2请假管理运行记录图-23-4.5考勤管理功能实现-26-4.5.1考勤管理核心代码-26-4.5.2考勤管理运行记录图-26-4.6工资管理功能实现-28-4.6.1工资管理核心代码-28-4.6.2工资管理运行记录图-28-第5章结论-28-致谢-30-参考文献-31-第1章概述1.1选题背景及意义-29- 蚌埠学院本科毕业设计(论文)计算机在信息管理领域中的人机结合应用越来越广泛,利用智能化计算机完成各种系统的管理也比以前重要。对于大中型企业,以前的信息管理几乎完全依靠人工管理,管理的过程中任务繁重、琐碎、不经意间就会出现这样那样的错误,而且想要更正错误也不是件轻松的事。现在,大多数的企业采用信息管理系统来管理本企业的综合信息,这样,不仅提高了信息管理的效率、准确性,而且为企业在其他方面赢得更多的利润提供了充足的条件。企业人事管理系统是将计算机技术、网络技术、信息技术融为一体的高科技高效率管理系统,可以智能化的分析、归类企业人事档案数据信息,为管理层提供了便利。最后,我们一般关心最多的就是安全问题,现在对于很多企业人事管理系统,都开发了安全软件和加密软件。让我们在享受管理系统带来便利的同时,不用担心诸如密码被盗、帐号异常这样安全性被破坏的常见问题。另一方面,随着企业应用系统的发展壮大,企业带给人的冷漠度也在与日俱增,我们感受的越来越多的是人与人的距离。然而,我们国家是东方大国也有着无以匹敌的大国风范,一直主张要“以人为本”,企业人事管理系统将这一理念体现地淋漓尽致。只有让企业中的人感受到人事管理系统是以人作为最本质的出发点来设计开发的,才算我们开发的人事管理系统达到了预想的目标。只有让企业中的员工体会到系统最人性化的一面,才能说我们的系统真的是“以人为本”。再者,管理系统的不断强大体现着一个国家的软实力,我国想要在世界上固守大国地位,就必须加大对管理系统的投资开发。但是由于各种客观原因,我国信息管理系统的发展只能算比较成熟不是特别成熟。尽管这样,我们还是能够充分利用现有的技术和资源开发出适合当代企业实际应用的信息管理系统,给我们的生活带来了极大的便利。人事管理系统在企业信息管理中占有举足轻重的地位,所以,这就是我选题的意义所在。总而言之,对于一个健康的企事业单位来说,选用人事管理系统管理人员的信息是有必要的,因此开发顺应形式发展的人事管理系统是具有发展眼光的,也是具有深远意义的。1.2人事管理系统在国内外的研究现状和发展趋势我国一向注重科技的发展,一向注重与国际上科技强国的学习。计算机技术的发展也是一样,得到了国家领导集体的支持,国家领导也提出各行各业都要朝着高度信息管理化的方向发展,特别是管理层面的发展。最近几年来,我国的信息管理系统发展开始走向高速化。无论从现实生活中还是从网络上,都可以看出管理系统越来越走进我们的生活。特别在网络上,各种管理系统的交易也是随处可见。其中,人事管理系统的升级化一直得到人们的关注,一方面,企事业单位愿意购买这方面的软件,另一方面,开发人员也乐此不疲的想要开发出更实用的管理系统。这两者的相辅相成健康地引领着我国人力资源管理的稳步发展。-29- 蚌埠学院本科毕业设计(论文)数据表明,国外发达国家约有90%的数据工作通过计算机完成,典型的代表就是财会领域。人事管理方面,更是高达80%至100%的计算机信息处理率。同样,计划管理方面利用计算机处理信息的比率高达80%至90%。分析可见,国外特别是发达国家,信息管理的计算机处理率已经非常高。相比,国外发达国家更加乐于简化企事业单位的管理机制。对管理系统的开发可以算是大力度的投资,当然,收效也很显而易见的。所以说,相比国外发达国家,我国在人事管理系统方面的发展还是稍稍逊色一点。21世纪是被人力资源管理所制约的时代,无论是像美国那样的发达国家还是像我们这样的发展中国家,对人力资源管理的研究目前都有了相当深刻的认识,并开始相继付诸行动。我们都知道,21世纪被预测为“人力资源的世纪”,未来的几十年也被预测为被人力资源主导的时期。我们也在思考出现这种情况的缘由,现在普遍认为激烈的竞争无疑脱不了干系。目前,世界经济的不断全球化共享资源的不断多元化,要求我们不得不想方设法的减少竞争压力,竞争压力的减少可以通过简化管理的复杂程度实现。这样,企业对人事方面的理智管理就更重要,不断升级化的人事方面管理系统必将随着时间的推移出现在企业的管理系统中。纵观国内外,人事管理系统的发展是很有前景的,它的未来是不可估量的。第2章人事管理系统分析2.1人事管理系统可行性分析2.1.1技术可行性分析本系统使用MicrosoftVisualStudio2010作为开发工具,并且用的编程语言是C#。VisualStudio是由微软公司推出的,可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。VisualStudio2010的特点:支持WindowsAzure,这也是微软云计算架构迈入重要里程碑,助力移动与嵌入式装置开发,能够实践当前最热门的Agile/Scrum开发方法,强化团队竞争力。搭配Windows7,Silverlight4与Office,发挥多核并行运算威力。支持最新C++标准,增强IDE,切实提高程序员开发效率。本系统拥有友好的窗口界面,用SQLServer-29- 蚌埠学院本科毕业设计(论文)2005来存储员工的信息。利用C#语言开发能够很好的连接到数据库,一切更新都能够同步到数据库,有很好的即时性。用SQL来存储数据,只需要连接一个本地的服务器,就可以很好的存储大容的数据。以前,传统的纸质存储信息可能会因为天灾之类的事情发生而丢失。现在,本管理系统用SQL来存储大量的数据,数据可以备份在远端服务器上,我们再也不用担心由于客观原因的数据丢失问题。再者,企业的刷卡签到时间或者指纹签到时间都是得记录下来的,通过企业的签到机器配合硬件记录在数据库里也是非常可行的。所以从理论角度看,在技术上是完全可行的。2.1.2经济可行性分析人事管理若继续采用传统的管理模式,需要大量的人工记录、分析、处理数据,每一个环节都很容易出错,最关键的是耗费的成本太高,对于一个企业来说当然不想有这么大的管理开销。而采用这种智能化系统所花费的成本远远低于人工花费的成本,也减少了原始的大量纸质花费。本系统可以完全依靠现用的计算机硬件设备,不需要再次购入设备。分析大量的使用回馈信息很容易看出,智能化管理系统的普及大大减少了试用成本、测试成本、日常维护费用。其中,维护费用主要是针对软件和数据库的维护。购买了系统的企业只需要分配一个网络管理人员,就可以成功高效的解决全体企业人员使用系统过程中出现的故障问题,大大减少了开支。所以,从现实角度看,在经济上是完全可行的。2.1.3操作可行性分析对于员工和管理员,只有输入正确密码和用户名才能拥有权限登陆到主界面,并且能保证管理员通过界面对员工信息的增、删、改、查同步到数据库。为了提高管理系统的透明性,管理员只需要通过“刷新按钮”即可实现数据库的更新,无需考虑后台代码无需重新登录。无论是员工还是管理员,只要熟悉了本系统的操作过程,都能够准确无误查看到他们想看的信息、遇到问题可以快速上报解决。可见,本系统易学操作简单,操作上是完全可行的。2.2人事管理系统需求分析2.2.1性能需求分析-29- 蚌埠学院本科毕业设计(论文)首先,整个系统应该界面友好、维护简单,方便用户的使用。其次,考虑到人事管理的所处理的信息量大,变动快,数据库就要求运行时稳定,执行时速度快,安全性也要求比较高。最后,考虑到费用问题,就要进一步考虑到软件系统本身运行时对计算机硬件平台和操作系统平台的兼容性问题。总体上本着界面友好、处理信息量大、维护性好、性价比高的原则分析需求的。2.2.2功能需求分析本系统主要设计了五个功能模块,登录功能模块、员工基本信息管理功能模块、考勤管理功能模块、请假管理功能模块、工资管理功能模块。如下图所示:图2-1人事管理系统功能模块图(1)登录模块功能分析:登录前先选择登录身份,选择管理员身份时,只有管理员输入正确用户名和正确的密码才可以登录,然后可以登录到管理窗体。选择普通员工身份登录时,管理员和普通员工只要输入正确的用户名和正确的密码都可以登录,然后成功登录普通员工窗体。也就是说,不选身份登录默认的是以普通员工的身份登录。(2)员工基本信息管理模块功能分析:普通员工只能查看员工的基本信息,不能修改自己的信息,如果有信息录入错误,可以联系管理员进行修改。管理员可以对员工的基本信息进行增删该查。(3)考勤管理模块功能分析:上班时间上午8点到11点半,下午1点到5点半。正常情况一天一共签到两次签离两次,请假一天只签到一次签离一次,用特殊时间标志(请假的签到时间为12:00:00,签离时间为12:00:01),旷班签到签离时间为空,用3天签到签离来模拟一个月的考勤记录。-29- 蚌埠学院本科毕业设计(论文)考勤模拟是通过员工刷卡记录到签到签离表的,所以普通员工登录后可以看到自己每天的考勤记录。管理员当然也可以查看员工的每日考勤情况,还可以根据员工的每日考勤情况来计算员工的每日考勤扣除和月考勤扣除。其中,月考勤的扣除必须在每日考勤扣除统计完成后才能合计。(4)请假管理模块功能分析:一个人一个月最多只能申请请假一次,一个月未请假的员工需要提交“无假条”报告,申请的假条和提交的“无假条”报告都保存在“月请假表”里。管理员审核这两类假条,并且计算所有人的请假扣除,最终是将请假扣除写回到“月工资统计表”,方便后续月实发工资的计算。提出“无假条”报告的目的是能获得所有人的请假扣除,管理员审核“无假条”时也填写“准假”。计算请假扣除时注意,如果是“无假条”,计算的请假扣除应为0。普通员工在该模块下,能够请假、提交“无假条”报告、可以查看自己的假条通过与否。管理员可以审核假条,计算员工的请假扣除。(5)工资管理模块功能分析:员工可以查看自己的本月工资,如果有误,可以联系管理员重新计算。管理员可以计算员工的月工资,月工资的计算必须先完成月考勤扣除和月请假扣除的计算,月工资的计算其实是由后台程序完成,但管理员得核对月工资,无误后将结果再次写回到“月工资统计表”,这样做的目的是方便员工查看自己的月实发工资。-29- 蚌埠学院本科毕业设计(论文)第3章人事管理系统设计3.1数据库设计3.1.1表的设计一共设计了七个表,“表3-1guanliyuan表”存放的是管理员的用户名和密码。“表3-2password表”存放的是所有员工的用户名和密码,包括管理员的。这样就能保证管理员既能以员工身份登录,又能以管理员身份登录。“表3-3岗位基本工资表”存放的是各个岗位和其基本工资的对应关系,“岗位编号”字段作为主键。“表3-4签到签离表”存放员工签到签离时间和每天的签到扣除。其中,“批注”字段作为主键,因为考虑到两个员工签到(签离)时间可能为同一时刻。“批注”举例为“201300004正常(2月3日上午)”,这样能保证主键的唯一性。“表3-5员工基本信息表”存放员工的基本信息,性别、姓名、文化程度、出生日期、部门编号、员工编号、岗位编号、联系电话、名族、毕业院校、婚姻状况。“表3-6月工资统计表”存放员工的基本工资、请假扣除、考勤扣除、医疗保险、住房公积金、养老保险、实发工资。“表3-7月请假表”存放所有员工的请假情况和请假扣除,未请假的员工存放的则是“无假条报告”。具体表各字段设计如下:表3-1guanliyuan表表3-2password表表3-3岗位基本工资表-29- 蚌埠学院本科毕业设计(论文)表3-4签到签离表表3-5员工基本信息表表3-6月工资统计表表3-7月请假表-29- 蚌埠学院本科毕业设计(论文)3.1.2各表实体关系图主要考虑到请假扣除和考勤扣除是根据员工基本工资的百分比来计算,所以“岗位基本工资表”中的岗位编号字段一定和“月工资统计表”里的岗位编号产生关联,也就是主外键关系,不仅在实体关系图里体现这一点,最关键的是要在程序中实现这一功能。其次,“签到签离表”的考勤扣除和“月请假表”的请假扣除与月工资统计表中的考勤扣除、请假扣除是一一对应的,这里是为了体现“月请假表”和签到签离表仅仅是作为一个缓存来存储扣除,最终的结果还是要保存在“月工资统计表”里。其他的表格之间也是可以设置很多主外键联系的,考虑到本系统中功能并不需要体现这些关系,也就没设置了。如下图所示:图3-1表格实体关系图3.1.3系统ER图设计对于ER图的设计,首先,管理员能够管理员工,一个管理员可以管理多个员工的基本信息,一个员工的基本信息也可以被多个管理员管理,这是多对多的关系。员工拥有签到签离和请假的权利,员工可以多次签到签离,员工与考勤是一对多的关系。但规定一个月一个员工只能请假一次,那么员工与请假之间就是一对一的关系。-29- 蚌埠学院本科毕业设计(论文)其次,一个管理员可以计算多个员工的考勤扣除、多个员工的请假扣除、多个员工的实发工资,但每一个普通员工的考勤扣除、请假扣除、实发工资必须由一个管理员负责到底,也就是说如果任何环节出现错误,还是得由原来计算审核这些数据的管理员来修改,管理员与这些员工的考勤扣除、员工的请假扣除、员工的实发工资之间就是一对多的关系。最后,考虑到考勤的计算比较麻烦,对考勤添加了一个叫做批注的属性,批注是对每次考勤状态的具体描述,管理员可以根据批注的描述来计算考勤扣除。图见下页。图3-2系统ER图3.2系统总体结构设计3.2.1普通员工流程图设计普通员工可查看自己的基本信息、查看签到签离和请假是否通过、可以申请假条、查看月实发工资。-29- 蚌埠学院本科毕业设计(论文)图3-3普通员工流程图3.2.2管理员流程图设计管理员能对普通员工的基本信息进行增删改查,可以根据员工签到的批注来计算考勤扣除,可以根据请假情况来计算请假扣除。最后根据考勤扣除和请假扣除来计算员工本月实发工资。相比之下,管理员流程图设计的比普通员工流程图设计的功能要多很多,这也是符合现实的。一般一个公司里的员工只需要知道自己的信息有没有错,自己的工资有没有错,别的东西他也不会很关心。而管理员就不一样了,他得管理好他管辖范围内所有员工的信息。当有员工联系到他时,他要重新审核一些扣除的计算,修改这些费用,满足员工的合理要求。图3-4管理员流程图-29- 蚌埠学院本科毕业设计(论文)第4章人事管理系统功能实现4.1登录功能实现4.1.1登录核心代码这段代码得到用户选择的登录身份,根据登录身份查不同的数据库表,对比用户名和密码是否都正确,正确则可以进入主界面。if(strName!=String.Empty&&strPwd!=String.Empty){if(this.comboBox1.Text=="管理员"){Stringsql1="select管理员fromguanliyuanwhere管理员=""+this.textBox1.Text+""";DataTableds1=newDataTable();SqlConnectionconn1=newSqlConnection("Server=VUHWZRMTYDFQUCV;userid=sa;pwd=123456;database=renshiguanli");SqlCommandcm1=newSqlCommand(sql1,conn1);SqlDataAdapterda1=newSqlDataAdapter(cm1);da1.Fill(ds1);if(ds1.Rows.Count!=0){Stringsql="select密码fromguanliyuanwhere管理员=""+this.textBox1.Text+""";DataTableds=newDataTable();SqlConnectionconn=newSqlConnection("Server=VUHWZRMTYDFQUCV;userid=sa;pwd=123456;database=renshiguanli");SqlCommandcm=newSqlCommand(sql,conn);SqlDataAdapterda=newSqlDataAdapter(cm);da.Fill(ds);if(strPwd!=ds.Rows[0][0].ToString()){MessageBox.Show("输入的用户名密码错误!");}-29- 蚌埠学院本科毕业设计(论文)else{管理窗体管理窗体=new管理窗体();管理窗体.Show();this.Hide();}}else{MessageBox.Show("输入的用户名密码错误!");}}else{Stringsql2="select用户名frompasswordwhere用户名=""+this.textBox1.Text+""";DataTabledsk=newDataTable();SqlConnectionconn2=newSqlConnection("Server=VUHWZRMTYDFQUCV;userid=sa;pwd=123456;database=renshiguanli");SqlCommandcm2=newSqlCommand(sql2,conn2);SqlDataAdapterda2=newSqlDataAdapter(cm2);da2.Fill(dsk);if(dsk.Rows.Count!=0){Stringsql3="select密码frompasswordwhere用户名=""+this.textBox1.Text+""";DataTableds3=newDataTable();SqlConnectionconn3=newSqlConnection("Server=VUHWZRMTYDFQUCV;userid=sa;pwd=123456;database=renshiguanli");SqlCommandcm3=newSqlCommand(sql3,conn3);SqlDataAdapterda3=newSqlDataAdapter(cm3);da3.Fill(ds3);if(strPwd!=ds3.Rows[0][0].ToString()){-29- 蚌埠学院本科毕业设计(论文)MessageBox.Show("输入的用户名密码错误!");}else{普通员工窗体普通员工窗体=new普通员工窗体();普通员工窗体.Show();this.Hide();}}else{MessageBox.Show("输入的用户名密码错误!");}}}else{MessageBox.Show("用户名或密码不能为空!请确认!");}}4.1.2登录运行记录图员工和管理员的登录,用户bbb是普通员工,用户cjx是管理员,如果cjx不选择登录身份的话,默认情况下,是以普通员工的身份进入系统的。-29- 蚌埠学院本科毕业设计(论文)图4-1普通员工登录记录图图4-2管理员登录记录图如果登录有错,比如用户忘记密码、在密码框什么都不输、或者用户名框什么都不输,会出现提醒对话框,提示用户无法登录到系统。图4-3输入为空错误图图4-4密码错误图4.2主界面功能实现4.2.1主界面核心代码privatevoid查看员工基本信息ToolStripMenuItem_Click(objectsender,EventArgse){new人事管理系统.员工基本信息管理.查看().Show();}4.2.2主界面运行记录图图4-5主界面运行记录图-29- 蚌埠学院本科毕业设计(论文)4.3员工基本信息管理功能实现4.3.1增删改查员工基本信息核心代码增加员工基本信息代码:主要实现将用户在文本框里输入的信息存储到“员工基本信息表”,所有信息都得输入完整。if(textBox2.Text==""||textBox3.Text==""||textBox4.Text==""||textBox5.Text==""||textBox6.Text==""||textBox7.Text==""||textBox8.Text==""||textBox9.Text==""||textBox10.Text==""||textBox11.Text==""||textBox12.Text==""){MessageBox.Show("请输入要添加的员工的完整信息","提醒!");}else{stringserverName="VUHWZRMTYDFQUCV";stringdatabaseName="renshiguanli";stringuserID="sa";stringuserPassword="123456";ConnectionString="DataSource="+serverName+";InitialCatalog="+databaseName+";UserID="+userID+";password="+userPassword;con=newSqlConnection(ConnectionString);con.Open();stringsqlstr="insertinto员工基本信息表(员工编号,姓名,部门编号,性别,出生日期,民族,文化程度,毕业院校,婚姻状况,联系电话,岗位编号)values(""+textBox2.Text+"",""+textBox3.Text+"",""+textBox4.Text+"",""+textBox5.Text+"",""+textBox6.Text+"",""+textBox7.Text+"",""+textBox8.Text+"",""+textBox9.Text+"",""-29- 蚌埠学院本科毕业设计(论文)+textBox10.Text+"",""+textBox11.Text+"",""+textBox12.Text+"")";SqlCommandcmd=newSqlCommand(sqlstr,con);cmd.CommandType=CommandType.Text;inti=cmd.ExecuteNonQuery();if(i>0)MessageBox.Show("添加成功");elseMessageBox.Show("添加失败");}删除员工基本信息代码:if(MessageBox.Show("确定要删除该记录吗","询问",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK){intpos=this.dataGridView1.CurrentCell.RowIndex;//获取该行stringconnstr="DataSource=VUHWZRMTYDFQUCV;InitialCatalog=renshiguanli;UserID=sa;password=123456";using(SqlConnectionconn=newSqlConnection(connstr)){conn.Open();DataSetds=newDataSet();stringsqlset="SELECT员工编号as"员工编号",姓名as"姓名",部门编号as"部门编号",岗位编号as"岗位编号",性别as"性别",出生日期as"出生日期",民族as"民族",文化程度as"文化程度",毕业院校as"毕业院校",婚姻状况as"婚姻状况",联系电话as"联系电话"FROM员工基本信息表WHERE员工编号=""+textBox1.Text+""";SqlDataAdapterda=newSqlDataAdapter(sqlset,conn);da.Fill(ds,"员工基本信息表");DataTabledt=ds.Tables["员工基本信息表"];SqlCommandBuildercb=newSqlCommandBuilder(da);-29- 蚌埠学院本科毕业设计(论文)dt.Rows[pos].Delete();da.Update(ds,"员工基本信息表");MessageBox.Show("恭喜你已成功删除","提醒!");conn.Close();}}修改员工基本信息代码:根据员工编号将数据库表中的信息更新为现在重新输入的信息。StringConnectionString="DataSource=VUHWZRMTYDFQUCV;InitialCatalog=renshiguanli;UserID=sa;password=123456";SqlConnectioncjx;cjx=newSqlConnection(ConnectionString);cjx.Open();stringsqlstm="update员工基本信息表set姓名=""+textBox3.Text+"",部门编号=""+textBox4.Text+"",性别=""+textBox5.Text+"",出生日期=""+textBox6.Text+"",民族=""+textBox7.Text+"",文化程度=""+textBox8.Text+"",毕业院校=""+textBox9.Text+"",婚姻状况=""+textBox10.Text+"",联系电话=""+textBox11.Text+"",岗位编号=""+textBox12.Text+""where员工编号=""+textBox2.Text+""";SqlCommandcmj=newSqlCommand(sqlstm,cjx);cmj.CommandType=CommandType.Text;cmj.ExecuteNonQuery();MessageBox.Show("恭喜你已成功修改","提醒!");cjx.Close();-29- 蚌埠学院本科毕业设计(论文)4.3.2增删改查员工基本信息运行记录图增加之前,注意输入时员工编号不能重复。图4-6员工信息增加前图点击图标“增加按钮”,上述增加员工基本信息的代码就是增加按钮的代码,成功后点击图标“刷新按钮”,会看到刚增加的记录,已选中为蓝色的是刚增加的。图4-7员工信息增加后图-29- 蚌埠学院本科毕业设计(论文)删除员工的信息,先要输入要删除的员工的编号,然后点击图标“查询按钮”可以看看有没有这个人,如果有再点击图标“删除按钮”,删除成功后再点击图标“刷新按钮”就没有“未来”这个人的信息了。图4-8删除员工信息图(b)管理员修改员工信息,先在表格中双击要修改的员工的信息,或者直接输入员工编号点击“查询按钮”,在每个框里写要改的信息,再点击“修改按钮”,如果修改的合理会弹出修改成功的对话框。图4-8修改员工信息图(a)-29- 蚌埠学院本科毕业设计(论文)修改成功后,再刷新“五六”这个人的信息,会看到他的信息被改变了。图4-8修改员工信息图(b)4.4请假管理功能实现4.4.1请假管理核心代码申请准假核心代码:也就是将员工输入的信息保存在“月请假表”里。con=newSqlConnection(ConnectionString);con.Open();stringsqlstr="insertinto月请假表(员工编号,岗位编号,请假天数,请假原因)values(""+textBox1.Text+"",""+textBox2.Text+"",""+textBox3.Text+"",""+textBox4.Text+"")";SqlCommandcmd=newSqlCommand(sqlstr,con);cmd.CommandType=CommandType.Text;inti=cmd.ExecuteNonQuery();if(i>0)MessageBox.Show("您已成功申请");-29- 蚌埠学院本科毕业设计(论文)elseMessageBox.Show("申请失败");审核假条核心代码:实现将管理员输入的“是否准假”字段的内容存到“月请假表”里。显示还没审核的假条部分代码省略。StringConnectionString="DataSource=VUHWZRMTYDFQUCV;InitialCatalog=renshiguanli;UserID=sa;password=123456";SqlConnectioncjx;cjx=newSqlConnection(ConnectionString);cjx.Open();stringsqlstm="update月请假表set是否准假=""+textBox4.Text+""where员工编号=""+textBox1.Text+""";SqlCommandcmj=newSqlCommand(sqlstm,cjx);cmj.CommandType=CommandType.Text;cmj.ExecuteNonQuery();MessageBox.Show("恭喜你已成功审核","提醒!");cjx.Close();4.4.2请假管理运行记录图员工申请假条,所有信息填写完整才能申请成功,否则会弹出对话框报错。图4-9请假图(a)-29- 蚌埠学院本科毕业设计(论文)点击提交“申请按钮”,显示申请成功图4-9请假图(b)员工可以查看自己的假条是否通过,是需输入自己的员工编号。图4-9请假图(c)管理员审核假条,双击假条,填写“不准”或者“准假”。点击“保存按钮”弹出对话框表示审核成功,再刷新的话这张假条就没有了。图4-10审核假条图(a)图4-10审核假条图(b)-29- 蚌埠学院本科毕业设计(论文)管理员计算请假扣除,管理员按照步骤的提示计算员工的请假扣除。双击假条,点击图标“查询按钮”,能看到改员工的基本工资,按照第三步的请假扣除计算公式输入该员工请假扣除,最后保存到“月请假表”和“月工资统计表”。图4-10审核假条图(c)管理员保存请假扣除,既要保存在月请假表,也要保存到月工资统计表。如果不保存将会影响管理员后期审核实发工资。图4-10审核假条图(d)图4-10审核假条图(e)-29- 蚌埠学院本科毕业设计(论文)4.5考勤管理功能实现4.5.1考勤管理核心代码计算月考勤扣除核心代码:实现将员工的月考勤扣总和除保存到“月工资统计表”。StringConnectionString="DataSource=VUHWZRMTYDFQUCV;InitialCatalog=renshiguanli;UserID=sa;password=123456";SqlConnectioncjx;cjx=newSqlConnection(ConnectionString);cjx.Open();stringsqlstm="update月工资统计表set考勤扣除=""+textBox2.Text+""where员工编号=""+textBox1.Text+""";SqlCommandcmj=newSqlCommand(sqlstm,cjx);cmj.CommandType=CommandType.Text;cmj.ExecuteNonQuery();MessageBox.Show("恭喜你已成功保存计算结果到月工资统计表","提醒!");cjx.Close();4.5.2考勤管理运行记录图查看签到(签离也能查看,这里就不记录图了),既可以按编号查询,也可以按日期查询。图4-11考勤图(a)-29- 蚌埠学院本科毕业设计(论文)管理员计算考勤扣除,双击员工的考勤实况,可以清楚的看见对这条考勤的描述,按照第二步的计算规则输入结果,点击“保存计算结果”按钮,如果成功保存会弹出提醒对话框,再刷新这条考勤就没有了。图4-11考勤图(b)管理员计算月考勤扣除,输入员工编号,可在表中看见员工的每日考勤扣除,累加起来输入结果,点击“保存计算结果”按钮,结果会被保存到“月工资统计表”中。图4-11考勤图(c)-29- 蚌埠学院本科毕业设计(论文)4.6工资管理功能实现4.6.1工资管理核心代码本月工资计算核心代码:实现将审核过的员工实发工资保存到“月工资统计表”中。StringConnectionString="DataSource=VUHWZRMTYDFQUCV;InitialCatalog=renshiguanli;UserID=sa;password=123456";SqlConnectioncjx;cjx=newSqlConnection(ConnectionString);cjx.Open();stringsqlstm="update月工资统计表set实发工资=""+textBox2.Text+""where员工编号=""+textBox1.Text+""";SqlCommandcmj=newSqlCommand(sqlstm,cjx);cmj.CommandType=CommandType.Text;cmj.ExecuteNonQuery();MessageBox.Show("恭喜你已成功将核对后的实发工资写回到月工资统计表中","提醒!");cjx.Close();4.6.2工资管理运行记录图管理员计算(核对)员工本月工资,只需双击员工的工资情况,查看没有错误后点击“确认”按钮。图4-12工资图-29- 蚌埠学院本科毕业设计(论文)第5章结论在开发此人事管理系统的过程中,深刻体会到C#的强大,同时也觉得我们计算机系的学生必须精通一门编程语言,以后才会立于不败之地。由于时间有限,有一些实际问题没有考虑到,比如部门的管理。现实企业中,也会由于长期运营渐渐的废弃某一个不太跟得上步伐的部门。这些部门被废除后应该将这个部门的员工放在一个临时的部门,或者将这些员工做标记,最后根据实际部门增加再归类这些员工。本系统中做的比较成功的部分是月实发工资的计算,只有在月考勤扣除和月请假扣除都统计完全的情况下才能计算。然而,月考勤的扣除又依赖与每日考勤扣除的计算。这些都是一环扣一环的。再者,月实发工资是不需要管理员实际计算的,是又后台计算,管理员做的工作仅仅是审核月实发工资,省时又省力。以前并没有接触过太多关于C#的开发实例,遇到问题都是查书查资料,从中也学到了很多。对于数据库方面,设计的还算比较复杂,其中整个系统ER图设计和整个系统的流程图设计,都是一笔一笔地在画图里设计出来的。感觉到无论做什么系统,事先做好设计是非常有必要的,后续可以少很多繁琐的事。对于后期调试,在员工基本信息删除的地方出现了漏洞,经过认真的检查,发现仅仅是一个语句少了条件的判断。所以,开发软件给我最多的感觉就是“步步惊心”,一点马虎不得。-29- 蚌埠学院本科毕业设计(论文)致谢由于我一直在外地实习,我的导师刘娟老师都是在百忙之中抽出时间给我发邮件发飞信,让我很是感动,非常感谢刘老师这几个月来对我的点拔和关心。在我的论文指导过程中,先是排版和内容分布不合理的部分,再就是最后的一些细节问题,老师都是一字一句的检查,每次发回来的论文都是加了多处批注。虽然以前刘老师没有给我上过课,但最近几个月的接触,我感觉刘老师真的是位非常认真细致的老师,从一篇很不像话的报告式论文帮我指点到如今比较像样的理论说明书,在此向她表示衷心的感谢和深深的敬意!也祝刘老师及她的家人永远幸福快乐!在我五年的学习中,计算机系老师兢兢业业、几年如一日的教导我,让我在最美好的时光里接受了宝贵的理论知识。这里特别感谢马金金老师,在我刚步入大学校门的时候,给了我很多心理上的帮助。让我从一个特别自卑的人渐渐变成了一个有能力有自信的人,她一直用行动鼓励着我。谢谢她!感谢我的好友丁鹏,吴娟,李岚陪我度过那段最心酸的日子,即便我们没有成功,我们收获了更多的成熟和友谊,谢谢你们!感谢我的家人对我的严厉管教,对于从小性格倔强的我采用棍棒式的教育方式现在看来是非常正确的,谢谢爸妈!-29- 蚌埠学院本科毕业设计(论文)参考文献[1]邵超,张斌,张巧荣.数据库实用教程SQLServer2005[M].清华大学出版社,2011.[2]张蒲生.数据库应用技术SQLServer2005基础篇[M].机械工业出版社,2008.[3]SilberschatzA.z数据库系统概念[M].第五版杨冬青等译.机械工业出版社,2006[4]王珊,萨师煊.数据库系统概论[M].第四版.高等教育出版社,2006[5]岳付强,罗明英等.SQLServer2005从入门到实践[M].清华大学出版社,2012.[6]JohnSharp.VisualC#2010从入门到精通[M].周靖译.清华大学出版社,2012.[7]王小科.C#开发实战宝典[M].清华大学出版社,2012.[8]徐安东.VisualC#程序设计基础[M].清华大学出版社,2012.[9]王小科,王军.C#开发实战1200例[M].清华大学出版社,2011.[10]蒙祖.C#程序设计教程[M].清华大学出版社,2011.[11]SolidQualityLearning.MicrosoftSQLServer(TM)2005[M].MicrosoftPress,2006.[12]MichaelMinutillo.ProfessionalVisualStudio2010[M].WROXPR/PEERINFORMA-TIONINC,2010.-29-'