版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业论文--企业人事管理系统PAGEPAGE66毕业设计(论文、作业)毕业设计(论文、作业)题目:企业人事管理系统分校(站、点):黄浦分校年级、专业:计算机科学与技术教育层次:本科学生姓名:孙超学号:0931001255162指导教师:梁正礼完成日期:2011-12-10目录内容摘要和关键词………………2AbstractandKeywords………3文献综述…………4一、前言……………5(一)开发背景………………………5(二)选题的目的和意义……………5二、需求分析………………………6(一)理解需求分析…………………6(二)需求分析……………………6(三)可行性研究…………………7三、总体设计………………………7(一)软件开发环境介绍…………7(二)系统模块设计………………7(三)系统流程图…………………9(四)E-R图………………………9(五)数据库设计…………………121、数据结构设计………………122、数据视图设计………………131、数据库表关系图……………14四、详细与系统实现……………151、用户登录模块………………152、用户管理模块………………153、部门管理模块………………164、员工信息管理模块…………175、考勤模块……………………196、工资模块……………………207、考评模块……………………218、奖罚模块……………………229、部分代码……………………23四、软件测试……………………29五、小结…………34附录………………35参考献文献…………43致谢………………45内容摘要在当今社会,互连网空前的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的手选。考虑到当前大量企业的人事管理还处于手工作业阶段,不但效率低下,还常常因为管理不慎而出现纰漏。因此设计此企业人事管理系统,帮助企业达到人事管理办公自动化、节约成本、提高企业工作效率的目的。本企业人事管理系统主要对企业员工的信息以及跟人事有关的工作流程进行集中管理,方便企业建立一个比较完善的员工信息数据库。它以.NET2005和SQL2005数据库为开发平台。使用C#设计程序,完成数据的输入、修改、存储、调用查询等功能;并使用SQL2005数据库形成数据表,进行数据存储。本文详细介绍了企业人事管理系统的功能需求,系统设计和具体实现。并简要介绍了系统开发的过程和方法。关键字:企业人事管理SQL2005VisualStudio.NET2005AbstractInoursociety,theunprecedenteddevelopmentofInternethasbroughtusgreatconvenienceandefficiency.Informatizationandelectronizationhavebecomethefirstchoiceofsavingoperationcostandimprovingworkefficiency.Manyenterprises’personneladministrationsystemslieinthephaseofmanualmanagementwhichisinefficientandeasytogowrongbycarelessness.Therefore,thisManagementInformationSystemisdesignedtomakethepersonneladministrationmorescientific,normativeandefficient.ThesystemuseSQL2005Expressasthebackgrounddatabase,andMicrosoftVisualStudio.NET2005asthedevelopingtool.Itcanhelpenterprisestoestablishaperfect,strongstaffinformationandworkflow.Thepaperexplainsthecoursedesign,systemdesignandimplementationofManagementInformationSystem,alsobrieflyintroducestheprocessofthesystemdevelopment.Keywords:ManagementInformationSystemSQL2005VisualStudio.NET2005文献综述充分运用网络技术,借助现代化信息处理技术和工具,实现办公室办公自动化来提高工作的质量和效率,从而实现管理现代化和觉得科学化,已成为信息化社会管理工作发展的必然趋势。但是在做此系统时遇到过许多的问题,因此在设计的过程中也参考了其他许多书籍文献还有网络上的帖子等等。首先要说的一本参考到的书籍是《ASP.NET2.0简明教程(c#2005篇)》,这本书是我参考的第一本书籍,也是刚开始学习此软件的教辅书,在此书中学习到了ASP.NET开发网页里许多基本的知识,一些基本的工具栏的控件一些对象的常用属性和方法等。除此之外还参考过《从入门到精通》在这本书中更详尽得提到了包括A2.0的开发入门、C#语言的基础ASP.NET的内置对象、ASP.NET2.0Web常用的控件,例如我在系统里用到的GridView控件,我还用到了书中介绍的数据绑定、数据控件、使用ADO.NET操作数据库。就例如把数据库里一个的表的数据绑定到Droplist还有GridView等控件中,还有对数据库链接、访问数据库里表的内容,也都从此书中获得了或多或少的学习和帮助。通过《ASP.NET2.0+SQLSERVER2005全程指南》这本书中最后实践篇中的网站开发的实例也给我在做这个企业人事管理系统中提供了很重要实例的参考和帮助。随着互联网的发展,网络上也有许多丰富的资源,我在做此毕业设计时候也借鉴网络上的一些内容,比如文本框内点击出现日历可供选择的代码就是直接引用网络上。当然还有很多书籍和资源,我就不一一列举了每本书都有他的各自参考价值,没有了他们的帮助我也无法顺利完成此次毕业设计。企业人事管理系统一、前言(一)开发背景人事管理系统是一种典型的管理信息系统。管理信息系统是一门跨越若干领域的新学科。在强调管理,强调信息的现代社会中越来越普及。管理系统能够实现管理信息系统化是一个企事业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人事信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。一直以来人们使用传统人工的方式管理档档案,这种管理方式存在着许多缺点。如:效率低、保密性差。时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。因此,随着企业的状大和发展,传统的管理方式已不再适应企业的需要。而使用计算机对人事信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高企事业单位人事信息管理工作的效率,是企事业单位人事管理部门的科学化、正规化管理的重要途径,也是企事业单位与世界接轨的重要途径。(二)选题的目的和意义随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。人事管理信息系统的出现轻而易举的解决了传统管理人员档案的方法的缺点。伴随着人事管理信息系统的广泛应用,它已经成为了任何一家企业公司都不可缺少的组成部分,它的存在使得管理者更容易了解自己公司的员工,便于分配人员,易于进行调整。所以人事管理信息系统能够为管理人员提供充足的信息和快捷的查询手段。现在办公系统更趋于系统化、科学化和网络化。网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用解决方案,它的主要目的是实现信息交流和信息共享,提供协同工作的手段,提高办公的效率,让人们从繁琐的有纸办公中解脱出来。现在的机关单位都有着自己的人事管理系统来对公司的信息进行管理。在电大几年的学习生活中学习到了很多有关计算机方面的知识有数据库、数据结构、软件工程、编程语言等等。所以这次的毕业设计我做的系统就是对人事资料进行管理,想把自己在电大这几年里学到的有关计算机的一些知识结合起来运用到实际的操作过程当中去,也通过这次毕业设计的制作把所学到的知识进行一个系统的梳理和总结。二、需求分析需求分析是系统开发的第一步也是最重要的一步。可以将需求分析分为两个过程:一是理解需求,二是分析需求。(一)理解需求下面是一份需求说明书:1.系统在员工进入公司时为员工建立企业人事档案,企业人事档案的管理由公司管理员完成。企业人事档案包括员工进入公司之后一系列的基本信息、员工级别、员工的基本工资、员工所在部门和员工的其他基本信息等。2.员工的工资应该包括基本工资和奖金两部分。基本工资根据员工的级别划分(按照不同级别的职称和等级来判断员工的基本工资),奖金应根据员工的业绩平时的出勤表现来决定。3.员工到公司上班而公司相应的应该对员工有考勤的记录。如果没有来缺勤或是请假也要有相应的记录。缺勤者还应该按照一定数额进行扣款。4.系统应该可以对数据库进行维护。5.员工调动和离职后应保留员工的历史记录,以备日后查询。6.系统还应该提供强大的数据记录、修改、查询、等功能。7.系统运行在Windows平台上,还应该有一个较好的图形用户界面。(二)需求分析一个公司的角色包括员工、各级管理者和系统管理员。员工和各级管理者是普通的用户,而系统管理员是管理整个软件系统的。企业人事管理信息系统的用例包括:1.系统管理2.部门管理3.员工信息管理4.考勤管理5.考评管理6.奖罚管理7.工资管理系统管理实现对系统用户分级管理,将用户分为管理员和一般用户。管理员可以添加用户、修改密码、删除密码以及修改员工的信息等。而一般管理员只可以添加查看一些信息而不能添加和修改。员工信息管理包括员工信息的添加、编辑和查询。每个企业都有很多形形色色的部门,部门管理系统是将每个部门都记录在次,在新员工登记的时候在这些部门里选,其功能包括信息的添加,修改,查询等功能。考勤登记记录员工出席情况,考勤信息只适用于部门经理以下职务的员工。考勤信息由部门经理及部门经理以上职务的员工登记。同时考勤信息管理也包括考勤信息的添加、编辑和查询功能。在进行员工工资信息管理操作的时候,首先需要统计员工考勤信息,然后计算员工的奖金,最后进行工资信息的添加。工资信息管理由系统管理员完成,同时工资信息管理也包括工资信息的添加、编辑和查询功能。考评管理记录每个月应对员工进行的考评,由管理员来记录每个员工的考评信息,同时考评管理也包括信息的添加,修改,查询,删除等功能。奖罚管理是将员工在企业内受到的奖励、表彰或是处罚处分之类的信息记录在案,奖罚管理也包括信息的添加,修改,查询,删除等。(三)可行性研究在科技不断发展的今天,Internet技术已经成为人们生活中不可缺少的一部分。由Internet技术开发出来的各种软件也在社会中占了重要的位置,软件开发出来的管理系统也被广泛的应用,在开发设计过程中SQLServer是核心,为整个管理系统提供数据存储的空间,企业人事管理系统为企业管理员工信息提供了一个有效的管理工具。VS2005程序可以在现在大部分的操作系统下运行,因此,计算机的配置和硬件设备至少要符合操作系统的要求,以上的条件现代的计算机大都符合。.NET开发需要安装IIS服务器,IIS是Internetinformationserver的简称,并且IIS提供了强大的internet和intranet服务功能。另外还需安装数据库系统。数据库系统是用于长期存储数据,现在常用的数据库有:Access、SQLServer。系统开发采用SQLServer数据库。可操作性:系统能被使用者快速接受。人员可行性:操作易学。三、总体设计(一)软件的开发环境介绍操作系统:WINXP数据库:SQLServer2005设计软件:MicrosoftVisualStudio2005(二)系统模块设计本系统主要有七大模块组成(如图3.1):1.用户管理模块,用于对用户账号的管理,主要有用户的添加、修改和删除的功能。2.部门管理模块,用于对部门的信息进行管理,主要有部门的添加、修改、查询删除的功能。3.员工信息管理模块,用于对企业内每个员工的信息进行统一存放管理,主要功能有员工信息的添加、修改、查询和删除的功能。4.考勤管理模块,用于对每个员工每月的出勤情况的统计,主要的功能有考勤信息的添加、修改查询和删除。5.工资管理模块,用于统计每个员工每月应发放的工资,主要功能有工资信息的添加、修改、查询和删除。6奖罚管理模块,用于记录员工获得的荣誉、奖励或是处罚的信息,其主要功能有信息的添加、修改、查询和删除。7.考评管理模块,用于管理每个员工每个时间段的考评信息,主要功能是考评信息的添加、修改、查询和删除。图3.1系统模块图
(三)系统流程图用户登录用户登录是否有权限用户管理员工信息管理考勤信息考勤信息管理工资信息工资信息管理考评信息考评信息管理奖罚信息奖罚信息管理图3.2系统流程图(四)E-R图1.部门E-R图部门部门部门编号部门名称图3.3部门E-R图2.员工信息E-R图员工员工姓名员工编号性别年龄出生日期身份证学历婚否政治面目籍贯地址电话邮箱部门编号图3.4员工E-R图3.员工考勤E-R图员工考勤员工考勤缺勤天数缺勤天数病假天数事假天数员工编号日期图3.5员工考勤E-R图
4.员工工资E-R图员工工资员工工资日期奖金基本工资养老金合计事假扣款病假扣款缺勤扣款加班费员工编号公积金图3.6员工工资E-R图5.员工考评E-R图员工考评员工考评员工编号评定等级考评内容日期图3.7员工考评E-R图6.总体E-r图图3.8总体E-R图(五)数据库设计1.数据库结构设计数据库是每个系统中必不可少的。它用于存储员工的信息,使操作员能够很容易的、很迅速的查看、管理和编辑员工的所有信息。企业人事管理系统使用了一个名为“企业人事管理”的数据库,它包括八个数据库表。分别为部门表、员工职称表、员工的工资表、员工的考勤表、员工的奖罚表、员工的考评表、员工的信息表和管理员用户表这八个表。以下是八个表详细信息。表1bumen(部门表)序号列名数据类型(长度)主键允许空1部门编号Varchar(10)是否2部门名称Varchar(50)否表2zhichen(职称表)序号列名数据类型(长度)主键允许空1职称nchar(10)是否2岗位工资nchar(50)否表3gongzi(工资表)序号列名数据类型(长度)主键允许空1员工编号varchar(10)是否2基本工资nchar(50)否3奖金Int是4加班费Int是5缺勤扣款int是6病假扣款int是7事假扣款int是8养老金int是9公积金int是10合计int是11日期datatime是否表4kaoqin(考勤表)序号列名数据类型(长度)主键允许空1员工编号varchar(10)是否2出勤天数nchar(50)否3加班天数Int是4缺勤天数int是5病假天数int是6事假天数int是7日期datatime是否表5jiangfa(奖罚表)序号列名数据类型(长度)主键允许空1Tableidint否2员工编号varchar(50)是否3奖罚内容varchar(200)是4奖罚原因varchar(200)是5日期datatime是否表6kaoping(考评表)序号列名数据类型(长度)主键允许空1员工编号varchar(50)是否2评定等级varchar(10)是3考评内容varchar(200)是4日期datatime是否表7yuangong(员工信息)序号列名数据类型(长度)主键允许空1员工编号varchar(10)是否2姓名nchar(10)否3年龄nchar(10)是4性别nchar(10)是5出生日期datatime是6身份证号nchar(20)是7学历nchar(10)是8婚否nchar(10)是9政治面貌nchar(10)是10籍贯nchar(10)是11电话nchar(10)是12地址varchar(50)是13邮箱nchar(30)是14部门编号varchar(10)是15日期datatime是否表8yonghu(用户表)序号列名数据类型(长度)主键允许空说明1usernamevarchar(50)是否用户帐号2paswrdvarchar(10)否用户密码3quanxianvarchar(200)否是否有权限2.数据库视图设计视图1gongzi1(工资视图)序号列名数据类型(长度)主键允许空1员工编号varchar(10)是否2姓名nchar(10)否2基本工资nchar(50)否3加班费Int是4缺勤扣款int是5病假扣款int是6事假扣款int是7养老金int是8公积金int是9日期datatime是否视图2jiangfa1(奖罚视图)序号列名数据类型(长度)主键允许空1Tableidint否2姓名nchar(10)否3员工编号varchar(50)是否4奖罚内容varchar(200)是5奖罚原因varchar(200)是6日期datatime是否视图3kaoping1(考评视图)序号列名数据类型(长度)主键允许空1员工编号varchar(50)是否2姓名nchar(10)否3评定等级varchar(10)是4考评内容varchar(200)是5日期datatime是否视图4kaoqin1(考勤视图)序号列名数据类型(长度)主键允许空1员工编号varchar(10)是否2姓名nchar(10)否3出勤天数nchar(50)否4加班天数Int是5缺勤天数int是6病假天数int是7事假天数int是8日期datatime是否3.数据库关系图用户表是一个独立的表与其他表没有关联,而员工表则是最主要的表其他表都会通过一个相应的字段来与员工联系起来(如图3.9)。部门表是由部门编号和员工表内部门编号联系起来,考评表是由员工编号和员工表的员工编号相联系,职称表是由职称与员工表里的职称相联系,考勤表是员工编号与员工表中的员工编号联系起来,奖罚表也是通过员工编号和员工表联系起来。图3.9数据库关系图四、详细设计与系统实现1.用户登录模块功能:用户登录进入企业人事管理系统。系统启动后,首先要做的就是用户登录。若不登录系统,所有功能都无法使用。用户只有登录系统后,根据其具有的权限,才能执行一定的操作。操作:进入该功能后,要求输入用户的登录名及其口令,只有其登录名和口令完全正确,才能进入工资管理系统。系统会根据为用户分配的权限,设置其对应的功能为有效,用户就可操作该功能。图4.1登录模块图2.用户模块这个功能只有拥有管理员权限的人才能进入去对这个模块内的数据进行操作和修改。其他一般用户是没有权限进入这个模块来使用这个功能。功能:添加管理和使用企业人事管理系统的用户及其使用权限。修改它是用来修改现在打开系统的用户的密码删除本系统中不需要的管理员。删除的管理员以后将无法再操作本系统。整个企业人事管理系统由多个功能模块组成,不同的模块完成不同的功能,所以可以为不同的职工分配不同的功能,使其具有不同的权限,完成其权限所对应的功能,从而很好地管理好整个系统。操作:选择该模块后,页面的右侧将会出现用户管理的页面,这个页面是用来对系统管帐号和用户帐号进行编辑。它的具体操作如下:1)、首先在用户名中输入您自己的用户名,它的最长不能超出10个字符。2)、然后在密码文本框中输入您的密码,要输入你能记住的密码,它是您以后登录系统的重要凭证。它的最长不能超出10个字符。3)、通过两个单选按钮来决定您以后操作该系统的权限。(用户权限分两级:管理员和一般用户。一般用户只有添加和浏览的功能,不具有其他操作数据库的功能;管理员具有最高的权限,不仅具有管理员的功能,能对数据库做所有的操作,同时具有管理系统用户的功能)。在这个界面中用户。所有的用户信息将直接在本页面下方的表中显示出来,所以也可以直接通过选中下面表中某一行的数据内容来进行修改编辑,当鼠标点钟表中其中的某一行,其对应的数据将直接在上面的文本框中显示出来然后便可以对选中的数据进行账户名和密码的修改,在修改的同时也将会屏蔽添加的功能,使得用户不会误操作。在页面下面的表中每一行数据的最后一列都有一个删除的功能按钮,在删除某一个用户帐号时,只要对其相应数据后的删除按钮点击以下即可将此条内容删除。图4.2用户管理模块图3.部门信息管理现如今不同企业内部都有着各种相对企业需求而产生的各种种类繁多,形形色色的部门由于企业的扩大或者改革,也会使得部门数量不断的增多所以部门管理这个模块是企业管理系统中不可缺少的一个模块。在这个模块内有添加部门信息,修改部门信息,查询部门信息和删除部门信息这四个功能。这些功能因管理员的权限不同所表示出的功能使用也不同,普通管理员即一般用户没有数据修改及删除的权利,只能添加或是查看部门信息的记录。只有管理员用户才能对部门的信息进行修改和删除的操作。操作:选择该模块后,页面的右侧将会出现部门管理的页面,这个页面是用来编辑企业内所有部门的信息。由于一个企业的部门信息毕竟不是很多所以我采用了表格来显示数据库内部门的信息在对其数据修改或删除的时候只用在表中直接选出那个一个数据来对他进行操作,它的具体操作如下:添加,是在部门编号和部门名称旁边的两个文本框内添加所需要的部门的信息,部门编号不超过10个字符,部门的名称不超过50个字符。在输入好文本框内容之后点击添加按钮就能将数据内容写入到数据库中。查询,在添加好信息之后在部门管理页面的下方会出现所有部门信息的表格,在表格内点击相对应的数据之后,会在上面的文本框内显示选中内容的具体数据,此时的数据是可以修改和删除的,但不能够在进行添加如果需要添加点重置按钮即可。修改,在表中选中数据之后便可在文本框内直接修改选中的部门信息的内容然后点击修改就能把内容重新写入数据库中去。删除,和用户账户模块中一样,在每一行的数据最后列有一个删除功能的按钮如果要删除哪一项数据就点那一项数据最后一列的删除按钮。图4.3部门管理模块图4.员工基本信息管理员工基本信息管理是整个企业管理系统中必不可少的也是最重要的一个模块,所有在企业内的员工的基本信息都将通过这个模块来进行操作在这个模块中也有4个功能。它们是添加员工信息、编辑员工信息、查询员工的信息和删除员工信息功能。这些功能因管理员的权限不同所表示出的功能使用也不同,普通管理员即一般用户没有数据修改及删除的权利,只能添加或是查看员工信息的记录。只有管理员用户才能对员工的信息进行修改和删除的操作。在这些功能里详细的记录了所有单位员工的基本资料。操作:选择该模块后,页面的右侧将会出现员工信息管理的页面,这个页面是用来编辑企业内所有员工的基本信息。添加,在页面中大部分都是文本框,只要将每个员工相应的信息填入文本框即可,但是在部门和职称那两栏是下拉菜单,部门的下拉菜单里的内容是对应在部门管理系统里已经添加好的部门信息,所以在企业内没有的部门是无法添加到员工信息当中去的。在职称那栏下拉菜单里的内容是来自于数据库里的职称表,同样在填写员工职称信息时候只能选择企业内已经设定好的职称或是岗位名称。查询,在做查询操作时候首先先要在员工编号所对应的文本框内输入所要查找的那个员工的编号,然后点击下方的查找按钮,于是此员工的所有信息将会在这个页面里所有相对应的信息文本框和下拉框内出现。修改,修改前首先要做的也是添加员工编号所在框内的信息,让系统知道是修改那一个员工的记录,然后在下面的文本框和下拉框内逐一添加修改后员工的信息,然后点击修改就可以完成修改操作。因为考虑到修改的员工信息绝大多数的情况下是员工一小部分的信息,所以在查找的时候就是在页面添加的文本框内显示出员工的所有信息这样只要修改其中的几条内容就可以点修改按钮来完成修改的操作,大大的增加了修改员工信息的可操作性,和修改工作的时效性。删除,删除员工信息时候只要在员工编号的文本框内填入所要删除员工的员工编号然后点击下面的删除按钮即可。图4.4员工信息模块图5.考勤模块为了确保公司企业能进行有序的经营管理,制定考勤就是必不可少的制度,也是给员工一个约束的制度,所以也少不了考勤管理的模块。在考勤模块里同样也是考勤信息添加、考勤信息查看、考勤信息修改、考勤信息删除这四个功能。这些功能因管理员的权限不同所表示出的功能使用也不同,普通管理员即一般用户没有数据修改及删除的权利,只能添加或是查看考勤信息的记录。只有管理员用户才能对考勤的信息进行修改和删除的操作。操作,选择该模块后,页面的右侧将会出现考勤信息管理的页面,这个页面是用来编辑企业内所有员工的考勤信息。添加,同样也是在每一个相应的文本框内输入员工的考勤信息,但是姓名的文本框是不可以输入内容的。因为员工号就能表示是那一个员工防止管理员在添加时员工的编号和姓名对应不起来的问题。查询,这里的查询显示我用了两种方式,一种是在页面下方可以在表中直接看到数据库里已经添加的数据;因为可能在考勤记录的数据里的内容会多一些,所以想要查找具体某一个人某一个月份的考勤记录在表中一个个找会比较麻烦,因此另一种查找的方式则是在页面里有个查找功能按钮,这个功能是为了查询特定的某一条记录,在查询时候首先要输入员工的编号,考勤的年份和月份之后再点击查询按钮,然后会在上面对应的文本框内会显示出某个员工在某月的整个考勤情况,此时的员工姓名会通过数据库,以相对应的员工编号在员工信息表里面找到相对应的那条员工信息并找到此员工的姓名,然后在反馈到页面中姓名那一栏的文本框中去。修改,和员工信息修改有些不同,它是根据员工编号和考勤日期来进行修改的。首先先要在员工编号里输入所要修改员工的员工编号,之后还要在日期那以栏里输入要修改的那条记录的日期,来确定到底是要修改的具体的哪一条考勤数据,然后在其他文本框内输入修改以后的考勤信息,最后在点击修改按钮即可对信息的修改。删除,删除也是要根据员工的编号和考勤的日期来进行操作,也要先将员工编号和日期两项先填好,告诉系统具体要删除哪一条信息,然后在点击删除按钮即可完成删除的操作。图4.5考勤模块图6.工资模块员工工资管理中有4个功能。它们是添加工资信息、查找工资,编辑工资信息和删除工资信息功能。这些功能因管理员的权限不同所表示出的功能使用也不同,一般用户没有数据修改及删除的权利。只有管理员用户有所有的操作权限,在这些功能里详细的记录了所有单位员工每个月的工资信息。功能:它的功能是用来输入员工每个月的工资信息,只能给当月员工考勤信息存在的员工添加当月的工资信息,对每月的员工信息进行编辑的功能。操作,选择该模块后,页面的右侧将会出现工资信息管理的页面,这个页面是用来编辑企业内所有员工的工资信息。添加,首先要在员工编号的文本框中输入某位员工的员工号,和结算工资的日期,由于工资计算和这个员工所在的岗位和他在这个月的考勤表现都有着密切的联系所以在结算工资的时候一定要更具其相对应的职称信息和本月度的考勤信息来进行员工工资的添加操作,当输入好员工编号以后,点击基本工资旁边的确定按钮就会通过数据库查找到该员工所对应的职称然后根据不同的职称岗位来确定员工的基本工资并在文本框内显示出来,接下来就是按照员工这个月考勤的情况来结算加班费或是扣除缺勤等费用,在年份月份中填好要查找的年份月份,然后点击确定按钮然后系统会自动计算下面加班费、缺勤扣款、病假扣款和事假扣款的具体金额然后在相应的文本框内显示出来。所以在这些信息的文本框里是不能编辑的必须通过考勤信息自动的生成(加班费是根据员工考勤信息表中的加班(100/天)、来决定的。扣款是根据员工考勤信息表中的缺勤扣款(150/天)、病假天数(50/天)、事假天数(50/天)、决定的。)如果点了确定之后文本框内没有任何内容显示的话则说明该员工本月的考勤信息不存在,需要在添加考勤信息模块中输入该员工本月的考勤信息。全部添加好之后点击合计按钮,系统会自动将这个员工本月的工资合计计算出来。查询,在工资页面里的查询也有表和详细查询两种,表内的信息在打开工资页面的时候就能显示出来可以查看,如果想要查找具体某个员工的一条工资信息,在下方可以输入员工的编号和相对的日期,然后点击查找按钮,在上面文本框内会对应的显示该员工在某个月度的工资信息。修改,在修改员工工资信息的时候也需要两条员工的信息一条是员工的编号然后系统知道修改哪一个员工的工资信息,另一条是员工工资的日期,来确定是具体那个月份的工资,由于工资中的加班费、缺勤扣款等记录是不可编辑的,所以若要修改此类信息就必须先修改相对应的考勤信息,然后按照修改好的考勤的信息自动成这些款项的金额。其他款项的金额可以在文本框内直接修改,然后在点击合计按钮重新计算下本月的工资合计,最后点击修改即可完成操作。删除,删除是按照员工的编号还有工资的日期来确定具体哪一条记录,在文本框内输入好这些记录后点在点删除按钮就可以删除此条信息。图4.6工资模块图7.考评模块考评是对企业内每一个员工一段时间内工作的情况做一个总结和评定,在考评模块里同样也是考勤信息添加、考勤信息查看、考勤信息修改、考勤信息删除这四个功能。这些功能因管理员的权限不同所表示出的功能使用也不同,普通管理员即一般用户没有数据修改及删除的权利,只能添加或是查看考勤信息的记录。只有管理员用户才能对考勤的信息进行修改和删除的操作。操作,选择该模块后,页面的右侧将会出现考评信息管理的页面,这个页面是用来编辑员工的考评信息。添加,要给那个员工进行考评就在员工编号那栏里输入对应的员工编号,然后在下面依次填写日期、考评内容、在下拉菜单里选择考评等级。然后点添加按钮。查找,在此页面中查找也是分表格和文本框内显示两种方式,表格内是可以在页面中直接查看已有的数据;还有种就是要在查找按钮旁的三个文本框内输入详细的员工编号,日期然后查找,查找的结果便会在文本框内显示出来。修改,修改也是根据员工的编号和日期,在上面的文本框内输入好员工的编号还有添加时候的日记,然后在其他栏里输入要修改的内容然后点击修改按钮即可。删除也是在员工编号和添加的日期内输入相应的内容,以此来判断所要删除的是哪一条考评的记录。图4.7考评模块图8.奖罚模块奖罚是为了强化员工遵纪守法和自我约束的意识,增强员工的积极性和创造性,同时保证企业各项规章制度得到执行,维护正常的工作秩序。在奖罚模块里同样也是四个功能。一般用户没有数据修改及删除的权利,只能添加或是查看考勤信息的记录。只有管理员用户才能对考勤的信息进行修改和删除的操作。操作,选择该模块后,页面的右侧将会出现奖罚信息管理的页面,这个页面是用来编辑员工的奖罚信息。添加,在相应文本框内输入对应的信息点击添加按钮即可。查看,在页面下方有一个表表内会显示出所有员工的奖罚信息。修改,修改时先要选中表中某一条记录然后该条记录所有信息会在上面的文本框内显示出来,然后进行修改,改好之后点修改按钮。删除,删除和部门信息管理一样只要在表中最后一列点击你所要删除的那条信息的删除按钮即可。图4.8员工奖罚模块图9.部分代码(1)登陆页面的click事件代码登录模块中会把用户的权限值存入Session["status"]中protectedvoidButton1_Click(objectsender,EventArgse){conn=newSqlConnection("server=localhost;database=企业人事管理;integratedsecurity=SSPI");//连接数据库。cmd=newSqlCommand("select*fromyonghuwhereusername='"+this.TextBox1.Text+"'andpaswrd='"+this.TextBox2.Text+"'",conn);conn.Open();SqlDataReaderdr=cmd.ExecuteReader();if(dr.Read())//在用户表中读取是否有该信息{Session["username"]=this.TextBox1.Text;Session["status"]=dr["quanxian"].ToString();//把值存入Session中。Response.Redirect("main.aspx");}elseResponse.Write("用户名密码错误");}在每个模块页面加载的时候会先查看是否有权限,如果权限是1的话则有权限可以进行所有操作如果不是1的话将会屏蔽一些功能的代码:protectedvoidPage_Load(objectsender,EventArgse){ try{status=Session["status"].ToString();}catch{}if(status!="1"){Button2.Enabled=false;Button4.Enabled=false;}}(2)数据库添加代码以考勤模块为例子,在添加考勤信息的时候,先从数据库员工表中查找是否有该员工信息。如果有该名员工考勤信息则能添加,如果没有相应的员工信息化则会在页面中输出没有“该员工信息”。conn=newSqlConnection("server=localhost;database=企业人事管理;integratedsecurity=SSPI");boolls=false;conn.Open();cmd=newSqlCommand("select*fromyuangongwhere员工编号='"+TextBox1.Text+"'",conn);SqlDataReaderdr=cmd.ExecuteReader();while(dr.Read()){ls=true;}dr.Close();//添加前先在员工表内读取是否有该员工信息if(ls){cmd=newSqlCommand();cmd.CommandText="insertintokaoqin(员工编号,出勤天数,加班天数,缺勤天数,病假天数,事假天数,日期)values('"+this.TextBox1.Text+"','"+this.TextBox4.Text+"','"+this.TextBox5.Text+"','"+this.TextBox6.Text+"','"+this.TextBox7.Text+"','"+this.TextBox8.Text+"','"+this.TextBox3.Text+"')";//添加的SQL语句cmd.Connection=conn;if(cmd.ExecuteNonQuery()>0){Response.Write("添加成功");}else{Response.Write("添加失败");}}else{Response.Write("没有该员工");}//执行SQL语句如果成功显示“添加成功”,如果失败显示“添加失败”,如果没有改员工记录显示"没有该员工"。conn.Close();Response.Redirect("kaoqin.aspx");(3)数据库修改代码这里也是以考勤模块为例子,在修改考勤信息的时候,是通过判断员工编号和日期的值是多少然后执行数据库语句把相应的那条信息进行修改。protectedvoidButton2_Click(objectsender,EventArgse){conn=newSqlConnection("server=localhost;database=企业人事管理;integratedsecurity=SSPI");//连接数据库cmd=newSqlCommand();cmd.CommandText="updatekaoqinset出勤天数='"+this.TextBox4.Text+"',加班天数='"+this.TextBox5.Text+"',缺勤天数='"+this.TextBox6.Text+"',病假天数='"+this.TextBox7.Text+"',事假天数='"+this.TextBox8.Text+"'where员工编号='"+this.TextBox1.Text+"'and日期='"+this.TextBox3.Text+"'";//更新数据库的SQL语句cmd.Connection=conn;conn.Open();cmd.ExecuteNonQuery();conn.Close();show();//显示GridView控件}(4)数据库删除代码这里也是以考勤模块为例子,在修改考勤信息的时候,是通过判断员工编号和日期的值是多少然后执行数据库语句把相应的那条信息进行修改。protectedvoidButton4_Click(objectsender,EventArgse){conn=newSqlConnection("server=localhost;database=企业人事管理;integratedsecurity=SSPI");//建立数据库连接cmd=newSqlCommand();cmd.CommandText="deletefromkaoqinwhere员工编号='"+this.TextBox1.Text+"'and日期='"+this.TextBox3.Text+"'";//删除相应数据。cmd.Connection=conn;conn.Open();if(cmd.ExecuteNonQuery()>0){Response.Write("删除成功");}else{Response.Write("删除失败");}//执行SQL语句如果成功显示“删除成功”,如果失败显示“删除失败”。conn.Close();show();}(5)数据库查询代码这里也是以考勤模块为例子,在查询考勤信息的时候,也是通过判断员工编号和日期里年份和月份这一部分的值是多少然后通过Click事件后在页面的里对应的文本框内显示出来。protectedvoidButton5_Click(objectsender,EventArgse){conn=newSqlConnection("server=localhost;database=企业人事管理;integratedsecurity=SSPI");//连接数据库。cmd=newSqlCommand();da=newSqlDataAdapter("select*fromkaoqin1where员工编号='"+this.TextBox10.Text+"'anddatepart(yy,日期)='"+this.TextBox9.Text+"'anddatepart(mm,日期)='"+this.DropDownList1.Text+"'",conn);//按日期和员工编号查找信息。ds=newDataSet();da.Fill(ds,"kaoqin1");if(ds.Tables["kaoqin1"].Rows.Count>0){this.TextBox1.Text=ds.Tables["kaoqin1"].Rows[0][0].ToString();this.TextBox2.Text=ds.Tables["kaoqin1"].Rows[0][1].ToString();this.TextBox3.Text=ds.Tables["kaoqin1"].Rows[0][7].ToString();this.TextBox4.Text=ds.Tables["kaoqin1"].Rows[0][2].ToString();this.TextBox5.Text=ds.Tables["kaoqin1"].Rows[0][3].ToString();this.TextBox6.Text=ds.Tables["kaoqin1"].Rows[0][4].ToString();this.TextBox7.Text=ds.Tables["kaoqin1"].Rows[0][5].ToString();this.TextBox8.Text=ds.Tables["kaoqin1"].Rows[0][6].ToString();Button1.Enabled=false;}//读出数据库数据在文本框显示。else{Response.Write("没有相关考勤信息");}}(6)数据库以表显示显示的代码本系统中出了以GridView控件来显示信息之外还用了表来显示数据库内的信息,这里以奖罚模块为例子。在表的每一行都会返回一条数据库内的数据,在每条最后一列会有一个删除按钮,按钮Click事件可以完成删除信息的功能,tb_Click代码也在下面。publicpartialclassjiangfa:System.Web.UI.Page{SqlConnectionconn;SqlCommandcmd;SqlDataAdapterda;DataSetds;stringid="",page="1";stringstatus="";protectedvoidPage_Load(objectsender,EventArgse){try{status=Session["status"].ToString();}catch{}if(status!="1"){Button2.Enabled=false;}//从Session取出权限的值判断是否有权限操作try{id=Request.QueryString["id"].ToString();}catch{}try{page=Request.QueryString["page"].ToString();}catch{}Label1.Text=page;if(id==""){Button1.Enabled=true;}else{Button1.Enabled=false;}//当选中某条记录只能进行修改,添加按钮不可用conn=newSqlConnection("server=localhost;database=企业人事管理;integratedsecurity=SSPI");//和数据库建立连接conn.Open();cmd=newSqlCommand("select*fromjiangfa1",conn);SqlDataReaderdr=cmd.ExecuteReader();TableRowtr;TableCelltc;Buttontb;intindex=0;while(dr.Read()){index+=1;if(index<=((int.Parse(page)-1)*10))continue;if(index>=(int.Parse(page)*10+1))break;tr=newTableRow();tr.Attributes.Add("onclick","location.href='jiangfa.aspx?id="+dr["员工编号"].ToString()+dr["tableid"].ToString()+"'");tc=newTableCell();tc.Text=index.ToString();tr.Controls.Add(tc);tc=newTableCell();tc.Text=dr["员工编号"].ToString();tr.Controls.Add(tc);tc=newTableCell();tc.Text=dr["姓名"].ToString();tr.Controls.Add(tc);tc=newTableCell();tc.Text=(dr["奖罚内容"].ToString()=="")?" ":dr["奖罚内容"].ToString();tr.Controls.Add(tc);tc=newTableCell();tc.Text=(dr["奖罚原因"].ToString()=="")?" ":dr["奖罚原因"].ToString();tr.Controls.Add(tc);tc=newTableCell();tc.Text=dr["日期"].ToString();tr.Controls.Add(tc);tc=newTableCell();tb=newButton();//建立表,把数据库内容在表内显示。if(status!="1"){tb.Enabled=false;}tb.ID="tb"+dr["员工编号"].ToString()+dr["tableid"].ToString();tb.Text="删除";tb.Click+=newEventHandler(tb_Click);//表中最后一列添加删除按钮事件tc.Controls.Add(tb);tr.Controls.Add(tc);Table1.Controls.Add(tr);if((!IsPostBack)&&(id==(dr["员工编号"].ToString()+dr["tableid"].ToString()))){TextBox1.Text=dr["员工编号"].ToString();TextBox2.Text=dr["姓名"].ToString();TextBox3.Text=dr["奖罚内容"].ToString();TextBox4.Text=dr["奖罚原因"].ToString();TextBox5.Text=dr["日期"].ToString();}//选中数据时候把内容在文本框中显示出来}dr.Close();conn.Close();}protectedvoidtb_Click(objectsender,EventArgse){string员工编号=(senderasButton).ID.ToString().Substring(2);conn=newSqlConnection("server=localhost;database=企业人事管理;integratedsecurity=SSPI");cmd=newSqlCommand();cmd.CommandText="deletefromjiangfawhere(员工编号+cast(tableidasvarchar))='"+员工编号+"'";cmd.Connection=conn;conn.Open();if(cmd.ExecuteNonQuery()>0){Response.Write("删除成功");}else{Response.Write("删除失败");}conn.Close();Response.Redirect("jiangfa.aspx");}}(7)文本框内选择日期的代码每个系统每个页面里添加日期的文本框里都有一个单击鼠标左键Click事件,触发事件以后文本框下方会出现一个日历供用户选择日期。此事件要调用JAVAjavascript需要调用WebCalendar.js文件(文件代码见附录)。先在页面设计源里添加<scriptsrc="WebCalendar.js"type="text/javascript"></script>然后添加日期文本框的单击事件点出日历。<asp:TextBoxID="TextBox2"runat="server"onclick="SelectDate(this,'yyyy-MM-dd')"></asp:TextBox></td>四、软件测试为了确保本系统能够正常运行,需要在完成之后做一次较全面的测试,现将具体操作及过程举例说明如下:测试用户登录是否成功:打开企业人事管理系统那个,在“用户名”和“密码”中填入账户然后点击登录,将会出现操作程序的页面,即该用户登录成功(如图1.1)。管理用户登录可以打开用户管理页面。其他所有模块的按钮也都是可以操作,一般用户登录打开用户管理页面提“示没有权限”。一部分按钮功能也屏蔽。(如图1.2)图1.1成功登录图1.2没有权限登录测试添加功能:打开任意一个管理模块,然后在文本框内输入数据,然后点击添加按钮。显示页面上显示“添加成功”(如图1.3),在数据库的表里也有该数据(如图1.4)。其他模块测试也是如此。图1.3添加图1.4添加后数据库测试查询功能:打开任意一个管理模块,在页面中查询按钮那一排的文本框内输入要查询的条件然后点击查询按钮,在页面的文本框内会出现该条信息的所有内容(如图1.5)。其他模块测试也是如此。图1.5查询测试修改功能:打开任意一个模块,在文本框内输入修改后的内容,然后点击修改内容(如图1.6),在数据库里看到数据内容也随之得到了修改(如图1.7)。其他模块测试也是如此。图1.6修改图1.7修改后数据库删除功能测试:本系统删除有2种。一种是按条件删除,在文本框内输入要删除数据的内容(如员工编号)然后点击删除(如图1.8);另一种是在显示数据的表内直接点击该条信息最后一列的删除按钮。经查看数据库的内容这些信息都能成功删除。(如图1.9)图1.8删除图1.9删除后数据库在测试的时候也发现过一些存在的问题,比如给一个员工考勤,因为原先的程序考勤时候是不会查找员工表里是否有该员工的信息,如果随便输入一个员工的编号和其考勤内容也不会有提示。进过测试后代码的修改也将这个问题修复了(如图1.10)。图1.10没有员工报错五、小结经过我三个月的努力工作,在老师的悉心指导下,我克服了困难,终于开发出了该系统。由于这套系统由于是本人第一次做管理系统,模拟而已,所以简化了很多流程,不是正规的项目,所以也没有仔细分析、设计和规划,在很多地方借鉴了别人的风格也不一样,所以有些地方看起来不一致。这套软件的完成,是本人和老师共同努力的结果,还有网上很多热心人的帮助,随着毕业设计的完成,我也即将步入社会。在两年半的大学生活中,我们掌握了许多更高层的文化知识,为我们在以后社会中更好的工作打下了坚实的基础。我们将以满腔的热情、实际的行动,为祖国的现代化建设做出自己的贡献!
附录:以下是文本框鼠标单击事件时候出现日历的JS代码。<!--varcal;varisFocus=false;functionSelectDate(obj,strFormat){vardate=newDate();varby=date.getFullYear()-50;varey=date.getFullYear()+50;cal=(cal==null)?newCalendar(by,ey,0):cal;cal.dateFormatStyle=strFormat;cal.show(obj);}Stotype.toDate=function(style){vary=this.substring(style.indexOf('y'),style.lastIndexOf('y')+1);//年varm=this.substring(style.indexOf('M'),style.lastIndexOf('M')+1);//月vard=this.substring(style.indexOf('d'),style.lastIndexOf('d')+1);//日if(isNaN(y))y=newDate().getFullYear();if(isNaN(m))m=newDate().getMonth();if(isNaN(d))d=newDate().getDate();vardt;eval("dt=newDate('"+y+"','"+(m-1)+"','"+d+"')");returndt;}Dtotype.format=function(style){varo={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"w+":"天一二三四五六".charAt(this.getDay()),"q+":Math.floor((this.getMonth()+3)/3),"S":this.getMilliseconds()}if(/(y+)/.test(style)){style=style.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length));}for(varkino){if(newRegExp("("+k+")").test(style)){style=style.replace(RegExp.$1,RegExp.$1.length==1?o[k]:("00"+o[k]).substr((""+o[k]).length));}}returnstyle;};functionCalendar(beginYear,endYear,lang,dateFormatStyle){this.beginYear=1990;this.endYear=2010;this.lang=0;this.dateFormatStyle="yyyy-MM-dd";if(beginYear!=null&&endYear!=null){this.beginYear=beginYear;this.endYear=endYear;}if(lang!=null){this.lang=lang}if(dateFormatStyle!=null){this.dateFormatStyle=dateFormatStyle}this.dateControl=null;this.panel=this.getElementById("calendarPanel");this.container=this.getElementById("ContainerPanel");this.form=null;this.date=newDate();this.year=this.date.getFullYear();this.month=this.date.getMonth();this.colors={"cur_word":"#FFFFFF","cur_bg":"#00FF00","sel_bg":"#FFCCCC","sun_word":"#FF0000","sat_word":"#0000FF","td_word_light":"#333333","td_word_dark":"#CCCCCC","td_bg_out":"#EFEFEF","td_bg_over":"#FFCC00","tr_word":"#FFFFFF","tr_bg":"#666666","input_bor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 入党试题及答案资料
- 了解朱元璋统治时进士考试题目及答案
- 水务集团试题及答案
- 应用写作 试题及答案
- 信息编程笔试题目及答案
- 2026年考研英语六级写作真题解析
- 2026年天津市人教版初中英语第5单元语法专项练习
- 2026年陕西省人教版小学语文三年级下册第12单元同步练习题
- 2025-2026学年鹤岗市兴山区四下数学期末模拟试题(含解析)
- 2026年江苏省人教版小学语文下册写作专项训练习题
- 2025数据基础设施参考架构
- 《内蒙古低空经济发展白皮书》
- 家居室内设计课件
- 审计合同补充协议范本
- 危险性较大的分部分项工程专项施工方案严重缺陷清单(试行)
- 超导材料制备与特性-深度研究
- 胎盘、死婴、死胎处理管理制度及处置流程
- 医疗器械经营质量管理规范培训2024
- 食品加工安全生产管理制度
- 2024年江西省中考英语试卷试题真题及答案详解(精校打印)
- 电工管理制度电工管理制度办法
评论
0/150
提交评论