基于J2EE的企业人事信息管理系统_第1页
基于J2EE的企业人事信息管理系统_第2页
基于J2EE的企业人事信息管理系统_第3页
基于J2EE的企业人事信息管理系统_第4页
基于J2EE的企业人事信息管理系统_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-47-基于J2EE的企业人事信息管理系统目录摘要 IAbstract II1引言 -1-1.1概述 -1-1.2选题背景 -1-1.3选题的目的及意义 -1-1.3.1选题的目的 -1-1.3.2选题的意义 -2-1.4设计方法 -2-1.4.1设计方案 -2-1.4.2设计思路 -2-2开发平台及相关技术 -4-2.1MyEclipse7.5简介 -4-2.2Struts1.0简介 -4-2.3Spring简介 -5-2.4Hibernate简介 -6-2.5MySQLserver5.0简介 -7-3可行性研究 -9-3.1可行性分析的前提 -9-3.1.1要求 -9-3.1.2评价尺度 -9-3.1.3系统流程 -10-3.2系统结构可行性分析 -10-3.2.1B/S模式简介 -10-3.2.2B/S模式的优点 -11-3.3影响 -11-3.3.1对设备的影响 -11-3.3.2对用户的影响 -12-4需求分析 -13-4.1用户需求分析 -13-4.2功能需求分析 -13-4.2.1功能划分 -13-4.2.2功能描述 -14-4.3登陆模块和主界面模块设计系统性能要求 -14-4.4对性能的要求 -15-4.5软件功能需求总体需求 -15-5概要设计 -16-5.1总体设计 -16-5.1.1项目规划 -16-5.1.2系统功能结构图 -16-5.1.3系统数据流程图描述 -17-5.2数据库物理设计 -18-5.3安全保密设计 -23-6详细设计 -24-6.1登录界面说明 -24-6.2主界面 -25-6.3系统管理 -27-6.3.1机构管理 -27-6.3.2部门管理 -28-6.3.3岗位管理 -30-6.3.4用户管理 -31-6.3.5公告管理 -32-6.4人事管理 -34-6.4.1我的人事资料 -34-6.4.2员工基本资料 -34-6.4.3查询员工资料 -35-6.4.4设计思路 -35-6.5薪酬管理 -36-6.5.1我的薪酬管理 -36-6.5.2员工薪酬管理 -36-6.5.3查询员工薪酬 -37-6.5.4标准薪酬管理 -37-6.5.5设计思路 -38-6.6考勤管理 -39-6.6.1我的考勤管理 -39-6.6.2员工考勤管理 -39-6.6.3查询员工考勤 -40-6.6.4设计思路 -40-6.7培训管理 -40-6.7.1我的培训管理 -40-6.7.2员工培训管理 -41-6.7.3查询员工培训 -41-6.7.4设计思路 -42-7系统测试 -44-7.1测试环境 -44-7.2部署 -44-7.3测试方法及目标 -45-7.4测试实例 -46-结束语 -47-参考文献 -48-致谢 -49-摘要随着企业规模的扩大,人事信息也迅速增长。面对庞大的信息量,传统的手工管理方法已不能适应企业人事管理的需要,企业迫切需要计算机自动化管理的人事管理系统。本系统基于Struts+Spring+Hibernate框架,以MyEclipse为开发平台,以Tomcat为服务器,以MySQLserver为后台数据库,实现了人员的基本信息管理、员工考勤管理、员工薪酬管理等功能。论文中对系统进行了功能需求和可行性分析,并重点阐述了各模块的功能和核心代码。Struts+Spring+Hibernate技术框架的选择,提高了系统的开发效率,分层明细,便于维护。关键词:J2EE;人事信息管理系统;Struts;Spring;HibernateAbstractAlongwithenterprisesizeexpansion,humanaffairsinformationalsoexplosivegrowth.Facingthehugeinformationcontent,thetraditionalmanualmanagementhasnotbeenabletomeettheenterprisepersonnelmanagementneed,theenterpriseurgentneedcomputerautomationmanagementpersonnelmanagementsystem.ThissystembasedontheStruts+Spring+Hibernateframe,asdevelopstheplatformtakeMyEclipse,tookTomcatastheserver,tookMySQLserverasthebackstagedatabase,realizedpersonnel'sbasicinformationmanagement,thestafftocheckattendancefunctions,thestaffsalarymanagementandsoon.Thepaperhascarriedonthefunctionsdemandandthefeasibilityanalysis,andelaboratedvariousmodulesfunctionsandthecorecodewithemphasis.TheStruts+Spring+Hibernatetechnologyframe'schoice,raisedsystem'sdevelopmentefficiency,thelaminationhasbeendetailed,isadvantageousforthemaintenance.KeyWord:J2EE;personnelinformationmanagementsystems;Struts;Spring;Hibernate1引言1.1概述21世纪,伴随着全球经济一体化的进程,人事管理也日趋复杂,人事信息成了现代企业生存和发展的重要因素。通对人事信息的有效管理,掌握最新的、准确的企业人事信息,并对其进行复杂的统计和分析,从而充分发挥每个员工的潜能,为企业创造更大的价值。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着手工管理所无法比拟的、优点,如检索迅速、查找方便、存储量大、保密性好、寿命长、成本低等。这些优点能够极大的提高认识信息管理的效率,也是企业单位的科学化、正规化管理、与世界接轨的重要条件[1]。1.2选题背景全球范围内的企业内部组织正在发生巨变,未来企业成功的关键的是依靠企业人力资源,人才之争已经成为市场竞争中的核心内容之一,以人为本成为企业立足和发展的根本。传统的人事信息管理存在着很大的不足:利用人进行信息的增减,容易导致信息的错误,而且管理的效率低下,导致资源的可用性低,劳动力大,安全性也不够。加上,随着时间的递增,信息量的不断增大,对信息的增加、删除、检索、查找就会存在很大的问题。因此,传统的管理方式已经不再适合企业发展的模式了,企业需要寻找一种新的管理方式。1.3选题的目的及意义1.3.1选题的目的本次毕业设计目的是使得人事信息的管理更加的规范化和科学化。传统的人工存放和管理档案的方法虽然可行,但对于员工人数较多的企业来说,将带来时间上的浪费。随着计算机的普及和计算机软件的不断发展,企业越来越关注计算机这一工具所带来的效益,对于企业快节奏的发展,时间的越来越重要。本系统将通过B/S的形式发布在网络上,企业内部员工和管理人员将可以随时通过浏览器登录的方式进行所需的操作,操作所涉及的信息的查找及存入都由计算机来完成,这样就节省了大量的时间,提高的企业的办事效率,从而有利于企业的发展。1.3.2选题的意义管理系统的开发应用,主要体现了它的易操作性及实用性,通过本系统,除了可以很方便的进行员工信息的查询、存入外,还能够实时的对已存放的员工信息进行更新,还可以进行员工调职信息的录入、员工培训等附加功能,为企业的需求带来极大的方便。1.4设计方法1.4.1设计方案确定设计课题后,结合企业的实际情况,与指导老师商量之后,确定以下的设计方案:开发工具:MyEclipse7.5、Tomcat6.0、Dreamweaver8.0 开发技术:struts+spring+hibernate+Ajax+JavaScript数据库:MySQLserver5.0图片制作工具:AdobePhotoshop.2设计思路本系统基于SSH技术框架、采用MVC模式开发。Web层,就是MVC模式里面的“C”(controller),负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,本系统的MVC框架采用Struts。Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,本系统采用Hibernate作为ORM框架。Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。框架的分层明细,提高了开发的效率,更便于维护[2]。2开发平台及相关技术2.1MyEclipse7.5简介MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。在结构上,MyEclipse的特征可以被分为7类:1.JavaEE模型2.WEB开发工具3.EJB开发工具4.应用程序服务器的连接器5.JavaEE项目部署服务6.数据库服务7.MyEclipse整合帮助对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错。2.2Struts1.0简介struts是基于当前的一些相关标准的开发技术(servlet,xml…)基础之上,提供了一个开发框架的开放源码项目,由于我们开发web应用的复杂度随着系统的复杂度的要求越来越来复杂。特别是在代码重用,代码移植、代马可插扒等问题上出现了许多重复开发、维护困难等。Struts这个框架鼓励我们应用model2的MVC开发模型。当然我们在基于其上的开发中不一定要进行完全遵守。在使用Struts框架时,对应各个部分的开发工作主要包括:Model部分:采用JavaBean和EJB组件,设计和实现系统的业务逻辑。根据不同的请求从Action派生具体Action处理对象。完成“做什么”的任务来调用由Bean构成的业务组件。创建由ActionForm的派生类实现对客户端表单数据的封装。Controller部分:Struts为我们提供了核心控制部分的实现。我们只需要配置ActionMapping对象。View部分:为了使用Model中的ActionForm对象,我们必须用Struts提供的自定义标记创建HTML表单。利用Struts提供的自定义标记库编写用户界面把应用逻辑和显示逻辑分离。Struts框架通过这些自定义标记建立了View和Model之间的联系。Struts的自定义标记还提供了很多定制页面的功能。使用struts框架可以提高开发工作的速度,因为它提供的下面这些功能解决了Web应用程序开发过程中的一些常见问题:一是对页面导航活动进行管理;二是对来自用户的输入数据进行合法性验证;三是它采用统一的布局;四是支持Ajax技术[3]。2.3Spring简介Spring框架是一个分层架构,由7个定义良好的模块组成。Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean的方式。组成Spring框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:核心容器:核心容器提供Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。Spring上下文:Spring上下文是一个配置文件,向Spring框架提供上下文信息。Spring上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。SpringAOP:通过配置管理特性,SpringAOP模块直接将面向方面的编程功能集成到了Spring框架中。所以,可以很容易地使Spring框架管理的任何对象支持AOP。SpringAOP模块为基于Spring的应用程序中的对象提供了事务管理服务。通过使用SpringAOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中。SpringDAO:JDBCDAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。SpringDAO的面向JDBC的异常遵从通用的DAO异常层次结构。SpringORM:Spring框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,其中包括JDO、Hibernate和iBatisSQLMap。所有这些都遵从Spring的通用事务和DAO异常层次结构。SpringWeb模块:Web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。所以,Spring框架支持与JakartaStruts的集成。Web模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。SpringMVC框架:MVC框架是一个全功能的构建Web应用程序的MVC实现。通过策略接口,MVC框架变成为高度可配置的,MVC容纳了大量视图技术,其中包括JSP、Velocity、Tiles、iText和POI。应用Spring框架的好处是:通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用[4]。2.4Hibernate简介Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架,和AppServer,和EJB没有什么必然的联系。Hibernate可以用在任何JDBC可以使用的场合,例如Java应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP里面的访问数据库的代码等。Hibernate是一种强大的可提供对象-关系持久化和查询服务的中间件,它可以使程序员依据面向对象的原理开发持久化类,实现对象之间的关联、继承、多态、组合、集合等。Hibernate提供了它特有的数据库查询语言HQL,这种查询语言屏蔽了不同数据库之间的差别,使你可以编写统一的查询语句执行查询。不同于其他持久化解决方案的是Hibernate并没有把SQL的强大功能屏蔽掉,而是仍然兼容SQL,这使你以往的关系技术依然有效。2.5MySQLserver5.0简介MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的特性1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统3.为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4.支持多线程,充分利用CPU资源5.优化的SQL查询算法,有效地提高查询速度6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径8.提供用于管理、检查、优化数据库操作的管理工具9.可以处理拥有上千万条记录的大型数据库MySQL拥有众多传统数据库管理软件所具备的功能,同时提供高度多样性,能够提供很多不同的使用者介面,包括命令行客户端操作,网页浏览器,以及各式各样的程序语言介面。它通过一个高度优化的类库实现SQL函数库并像他们能达到的一样快速,通常在查询初始化后不该有任何内存分配。没有内存漏洞,这些优点能够极大的提高工作效率[5]。3可行性研究3.1可行性分析的前提3.1.1要求主要功能:本系统主要包括了系统管理、人事信息管理、薪资管理、考勤管理、培训管理。输出要求:数据准确、完整、详实、实时。输入要求:简捷、快速、实时,输入方式简单方便,利用键盘等输入。完成期限:依照开题报告中的时间安排,完成设计。3.1.2评价尺度成本/效益分析结果:效益>成本。技术可行:人事信息管理是企业管理中的一个重要组成部分,涉及到企业管理的各个方面。:人事信息管理水平的提高,能够带动企业各方面水平的提升。利用计算机对企业的人事信息进行管理,使人事管理人员从日常锁碎的管理工作中解脱出来,更好的协调企业人才,大大的提高了人才的利用率,使企业人才的能力得以更充分的发挥。操作可行:于用户来说,本系统只要求使用者掌握一定的上网经验,经过仔细设计和测试之后的系统具有操作简单,方便灵活等优点,足可以满足各种用户的不同需求,同时也方便了公司的内部管理。管理人员及用户一定会在短时间内掌握并熟练使用法律可行:由于系统是自主开发的,是在法律允许的范围内编写开发的,本人拥有最终的解释权和所有权。经济可行:由于本系统是自主开发,故在成本上可以忽略不计。3.1.3系统流程图3-1系统流程图3.2系统结构可行性分析3.2.1B/S模式简介本系统采用B/S模式。B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效[7]。3.2.2B/S模式的优点目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性.对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护.无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享.所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向.今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的.因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器[7]。3.3影响3.3.1对设备的影响本系统采用客户机/服务器的运行方式,数据集中在存储在服务器上。对服务器硬件要求如下:(1)处理器:InterPentium43.06GHz或更高(2)内存:128MB后更高(3)磁盘空间:40GB或更高普通的PC均作为客户机使用,但为达到较好的显示效果和较高的效率,建议:(1)处理器:InterPentium4系列(2)内存:128MB。(3)网卡:10/100bit/s自适应。(4)显卡:SVGA显示适配器,显存32MB或更高。软件环境:操作系统WindowsME/2000/XP/Vista/73.3.2对用户的影响由于本系统采用的是B/S模式。windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,也基本上都能够正确的使用浏览器。故本系统对于用户来说没有什么影响。4需求分析4.1用户需求分析通过调查,要求系统需要有以下功能;由于操作人员的计算机知识普遍较差,要求系统良好的人机操作界面。由于该系统的使用对象多,要求有较好的权限管理。具有发布、接收企业公函、公共消息的功能。对人事基础信息进行管理。企业员工人事管理。企业员工工作任务管理,部门、员工的工作任务的分配、管理。对员工考勤情况进行管理,设置员工考勤时间。个人信息的维护。对企业员工培训的一系列相关信息内容进行管理。员工薪酬信息的管理,包括薪酬信息的查询、登记、删除。系统用户信息管理,用户权限设置。系统退出。4.2功能需求分析4.2.1功能划分根据上面的用户需要分析的情况,决定本系统主要包括了人事管理、薪酬管理、考勤管理、培训管理、系统管理这五大模块。人事管理包括了我的个人资料、员工基本资料、查询员工资料。薪酬管理包括了我的薪资管理、标准薪酬管理、员工薪酬管理、查询员工薪酬。考勤管理包括了我的考勤管理、员工考勤管理、查询员工考勤。培训管理包括了我的培训管理、员工培训管理、查询员工培训。系统管理包括了机构管理、部门管理、岗位管理、用户管理、公告管理。4.2.2功能描述人事管理模块:主要负责对企业员工信息的录入、修改、删除,以及企业的管理者可以对所有员工信息进行查询,以便可以得到最及时的员工数据。薪资管理模块:主要负责对企业员工的薪资标准的制定、修改、删除、查询,以及对企业员工的薪资进行计算、查询。考勤管理模块:主要负责对企业员工是否旷工、迟到、早退等违反公司制度的行为进行登记,以便最后核算奖金可以有依据查询。培训管理模块:主要负责对企业员工的培训记录进行信息的录入、修改、删除,以便人事部可以根据这个信息对员工做出最及时的调整。系统管理模块:主要负责对企业信息、部门信息、岗位信息进行及时的录入、修改、删除。以及分配用户权限和公告管理。4.3登陆模块和主界面模块设计系统性能要求系统安全、可靠;功能齐全;操作方便、界面美观;易于维护和扩充;4.4对性能的要求系统最小寿命:系统应该能在无重大改动的条件下正常运行3年以上。对设备的要求:要求计算机稳定性良好,整套系统经济实惠。可以利用的信息和资源:公司中的所有计算机,网络设备,操作人员将使用Windows操作系统。公司管理人员及员工需懂一定的计算机基础,通过个人的电脑来使用该系统。4.5软件功能需求总体需求对系统信息作插入、修改、删除时,系统应能快速做出反应,延时不能超过10秒。各种人员信息的查找功能。各个模块显示功能应体现友好界面。管理员跟非管理员应进行权限设置。5概要设计5.1总体设计5.1.1项目规划人事信息管理系统是一个典型的数据库开发应用程序,由人事管理、培训管理、考勤管理、薪酬管理、系统管理等部分组成,规划系统功能模块如下:人事管理模块该模块主要功能是管理员工的基本信息,并提供查询功能。培训管理模块该模块主要功能是对员工培训信息的管理,其中包括培训时间、培训地点、培训项目等信息。薪酬管理模块该模块主要功能是对薪资标准的制定,以及对员工薪资的计算、查询等。考勤管理模块该模块的主要功能是对员工的出勤情况的登记,以便及时的了解员工是否有早退、旷工、迟到等现象。系统设置模块该模块主要功能是对企业信息、部门信息、岗位信息进行及时的录入、修改、删除。以及分配用户权限和公告管理5.1.2系统功能结构图人事信息管理系统功能结构下图5-1所示企业人事信息管理系统企业人事信息管理系统人事管理薪资管理考勤管理培训管理系统管理我的个人资料员工基本资料查询员工资料薪资标准管理我的薪资管理员工薪资管理查询员工薪酬我的考勤管理员工考勤管理查询员工考勤我的培训管理员工培训管理查询员工培训机构管理部门管理岗位管理用户管理公共管理图5-1系统功能图5.1.3系统数据流程图描述在人事管理系统中,并非所有的业务都能由计算机来完成,因此设计人员必须围绕着信息处理业务,根据业务流程图,弄清系统需要产生什么样的信息输出,为了得到这样的输出应该对什么数据进行处理,输入数据向输出数据所进行的转换过程是什么。这个过程就是进行数据抽取,建立数据流程图的过程。数据流程图描述了新系统的全部的数据处理逻辑和数据的流动过程,构成了新系统的逻辑模型。数据流程图如图5-2所示:图5-2数据流程图5.2数据库物理设计数据库中各个表结构如下所示(1)t_use用户表:功能是用来设置管理员的权限信息,包括:管理用户名密码、权限等。它应用于系统的用户管理、用户登入这两个模块,当用户要登入系统时要输入用户和密码,此时系统将自动调用并读取这张表的信息来判定用户输入信息的正确性。表5-1用户表FieldTypeNullkeyDefaultExtraExplainationIdInt(11)NoPriNullAnto_increment编号IDUsernameVarchar(255)NoUniNull用户名PasswordVarchar(255)YesNull密码PersonidInt(11)YesNull用户IDRoleInt(11)YesNull权限(2)t_person人事表:主要功能是用来存储企业员工的基本信息,包括:员工姓名、性别、年龄等用户的基本资料,以及该员工是属于公司的那个部门信息。它应用于系统中的人事管理这个模块。其中用户的姓名、用户编号、部门名称、机构名称、岗位名称、性别这些字段为必填的字段。表5-2人事表FieldTypeNullkeyDefaultExtraExplainationIdInt(11)NoPriNullAnto_increment编号IDPersonidVarchar(255)YesNull用户IDnameVarchar(255)YesNull员工姓名SexVarchar(255)YesNull性别AgeVarchar(255)YesNull年龄Nationvarchar(255)YesNull民族BirthVarchar(255)YesNull出生日期ImageLongblobYesNull照片OrgidInt(11)YesmulNull机构名称DepartedInt(11)YesmulNull部门名称DegreeVarchar(255)YesNull学位WorkexperienceVarchar(255)YesNull工作经验EduexperienceVarchar(255)YesNull教育经历SchoolVarchar(255)YesNull学校HomeaddressVarchar(255)YesNull家庭地址MobilVarchar(255)YesNull手机号码PostcodeVarchar(255)YesNull邮政编码EmailVarchar(255)YesNull电子邮箱DatesemployedVarchar(255)YesNull入职时间NoteVarchar(255)YesNull备注PosidInt(11)YesmulNull岗位(3)t_department部门表:主要用来设置部门的相关信息,包括:部门名称、部门描述等。它主要应用于系统中的部门管理模块,而且其他模块中均有调用该模块的信息,当要查询或修改员工的相关信息时,系统都将自动的读取这张表中的信息。表5-3部门表FieldTypeNullkeyDefaultExtraExplainationIdInt(11)NoPriNullAnto_increment编号IDNameVarchar(255)YesNull部门名称ConnecttelVarchar(255)YesNull联系电话DescriptionVarchar(255)YesNull部门描述OrgidInt(11)YesmulNull机构ID(4)t_notice公告表:主要用来发布公告的信息,包括:公告标题,公告内容等。它主要应用于系统中的公告管理模块,当企业需要发布通知或者公告等,通过前台的操作后,都将保存到公告表中。表5-4公告表FieldTypeNullkeyDefaultExtraExplainationIdInt(11)NoPriNullAnto_increment编号IDTitleVarchar(255)YesNull公告标题ContentVarchar(255)YesNull公告内容CreatetimeDatetimeYesNull创建时间UserInt(11)YesMulNull操作员(5)t_organization机构表:主要用来对企业机构信息的添加、删除、修改,包括:机构名称、机构说明等。它不仅应用于系统的机构管理模块,而且系统中的其他模块将通过表之间的互联,也可以直接的读取该表中的信息。表5-5机构表FieldTypeNullkeyDefaultExtraExplainationIdInt(11)NoPriNullAnto_increment编号IDNameVarchar(255)YesNull机构名称DescriptionVarchar(255)YesNull机构说明(6)t_position岗位表:主要用来对岗位信息的添加、删除、修改,包括:岗位名称、所属部门等。它不仅应用于系统的岗位管理模块,而且在查询或者修改员工的相关信息时,系统将自动调用该表中的字段,可以清楚的知道这名员工的岗位消息。表5-6岗位表FieldTypeNullkeyDefaultExtraExplainationIdInt(11)NoPriNullAnto_increment编号IDNameVarchar(255)YesNull岗位名称DepartedInt(11)YesmulNull所属部门(7)t_salary薪酬表:主要用来对员工的薪酬信息的添加、删除、修改,包括:工资总额、机构名称,部门名称等信息。它主要应用于系统的薪酬管理模块,其中该字段标准薪酬中的信息从salarystandard表中读取。管理员在界面上对员工信息进行操作,当点击保存时,系统将自动保存到数据表t_salarystandard中;当员工对自己的信息查询,系统也将自动根据用户输入的查询条件对数据表中的信息进行筛选。表5-7薪酬表FieldTypeNullkeyDefaultExtraExplainationIdInt(11)NoPriNullAnto_increment编号IDSumDoubleYesNull总额BonusDoubleYesNull机构DeductDoubleYesNull部门PersonInt(11)YesNull员工姓名SalarystandardInt(11)YesNull标准薪酬YearInt(11)YesNull年度MonthInt(11)YesNull月份(8)t_Salarystandard标准薪酬表:主要是对公司规定的薪酬相关信息进行添加、删除、修改,包括:薪酬名称,薪酬编号,基本工资等。它应用在系统中的标准薪酬管理模块。其中字段用户可以用来记录是哪个管理员对此信息的操作,用户通过薪酬编号对员工的标准薪酬总额进行查询。表5-8标准薪酬表FieldTypeNullkeyDefaultExtraExplainationIdInt(11)NoPriNullAnto_increment编号IDSalaryidVarchar(255)YesNull薪酬编号SalarynameVarchar(255)YesNull薪酬名称SalarysumDoubleYesNull薪酬总额BasicwageDoubleYesNull基本工资CreatetimeDatetimeYesNull创建时间UserInt(11)YesNull创建用户(9)t_training培训表:主要用来对员工培训信息的添加、删除、修改,包括:培训项目、培训时间、培训课时等字段。它应用于系统中的培训管理模块。管理员在界面上对员工信息进行操作,当点击保存时,系统将自动保存到数据表t_training中;当员工对自己的信息查询,系统也将自动根据用户输入的查询条件对数据表中的信息进行筛选。表5-9培训表FieldTypeNullkeyDefaultExtraExplainationIdInt(11)NoPriNullAnto_increment编号IDPersonInt(11)YesMulNull员工姓名SubjectVarchar(255)YesNull培训项目PeriodDoubleYesNull培训课时ScoreDoubleYesNull培训成绩TimeVarchar(255)YesNull培训时间RemarkVarchar(255)YesNull备注CreatetimeInt(11)YesNull创建时间UserInt(11)YesNull创建用户(10)t_work考勤表:主要用来对员工考勤信息的添加、删除、修改,包括:员工ID、出勤日期、考勤情况等字段。它应用于系统中的考勤管理模块。管理员在界面上对员工信息进行操作,当点击保存时,系统将自动保存到数据表t_work中;当员工对自己的信息查询,系统也将自动根据用户输入的查询条件对数据表中的信息进行筛选。表5-10考勤表FieldTypeNullkeyDefaultExtraExplainationWork_idInt(11)NoPriNull编号IDUser_idVarchar(255)noNull员工IDWork_dayVarchar(255)noNull出勤日期CommentVarchar(255)YesNull备注Work_stateVarchar(45)NoNull考勤情况5.3安全保密设计本系统设置两种级别的用户权限,分别是管理员和普通用户。用户实际上就是系统人员的账号,而且每个人只能拥有一个账号,用户可以根据自己的账号登入系统,系统会根据当前登入用户所持有对哪个模块的操作权限,显示相应的操作界面,不授予该用户的其他操作将被隐藏。其中普通用户只能查询自己的个人信息资料和更改登入密码,管理员账户拥有所有模块的操作权限。这样可以增加了系统的安全性,也使用户对自己再该系统的操作内容更加明确。6详细设计6.1登录界面说明打开IE浏览器,在地址栏中输入服务器全称或IP地址(HTTP://:8080/HR)后,系统首先将弹出登录窗口,如下图6-1所示:图6-1登入界面操作说明用户分别在“用户名”和“密码”的框中填写相应的信息,点击“登录”按钮,系统将把这些信息跟数据库中t_use表的内容进行核对,当这些信息被验证为合法用户时,系统将通过该用户权限ID来跳转到相对应的主页面中,让用户进一步的操作。(2)设计思路登录信息验证:根据用户输入的登录名信息提取数据库中用户表的信息,验证是否存在该用户。如果该用户存在,再验证密码是否正确,若正确则转入系统主页面。如果密码或用户错误,给出提示,转到错误页面。其核心代码如下:packagecom.hrm.action;importjava.util.List;…… //用户登陆 protectedActionForwardunspecified(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse) throwsException{ UserActionFormuaf=(UserActionForm)form; Stringusername=uaf.getUsername(); Stringpassword=uaf.getPassword(); System.out.println(username); System.out.println(password); Useruser=userService.login(username,password); if(user!=null){ request.getSession().setAttribute("login",user); } returnmapping.findForward("login_success"); } }6.2主界面图6-2系统主界面模块说明本系统的用户权限分成2种权限。在用户登录后,系统将自动调用后台的数据库,根据用户表里面的数据去判定该用户进入是进入普通用户的主界面还是管理员的主界面。图6-2系统主界面主要用于显示不同用户所对应的主页面,即:管理员主页面和通用户主页面。两种主页面间的区别在于位于界面上方的功能菜单设置,管理员主页面中设置了该系统所有功能的权限,而普通主页面中只有查询本人相关信息的权限。在功能菜单的下方显示的是此时登入用户账户的信息以及信息栏,信息栏将显示企业的公告。在主页面的左端是一个快捷操作,用户可以使用它去查询自己的相关信息。(2)设计思路用户登入本系统后,跳转到系统主页面,主页面主要是通过判断从登录页面所传过来的参数来选择调用管理员主页面及普通用户中的一种,由权限的不同而限制某些功能的使用。其核心代码如下:packagecom.hrm.action;importjava.util.List;publicclassIndexActionextendsBaseAction{…… publicActionForwardsuccess(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse) throwsException{ Useruser=currentUser(request); if(user!=null){ Useru=userService.findUser(user.getId()); request.setAttribute("user",u); } ListnoticeList=(List)noticeService.findNotice(); request.setAttribute("noticeList",noticeList); returnmapping.findForward("success"); } publicActionForwardleft(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse) throwsException{ Useruser=currentUser(request); if(user!=null){ Useru=userService.findUser(user.getId()); request.setAttribute("user",u); } returnmapping.findForward("left"); }}6.3系统管理6.3.1机构管理图6-3机构管理(1)模块说明本页面的主要操作是对机构信息进行添加、删除、修改的操作。当企业要增加一个子公司或对现有的子公司的名称或者对于名称的描述进行更改时,如当点击添加时,系统将进入如图6-4,当完成对信息的更改时,点击保存设置即可。图6-4机构信息添加(2)设计思路用户在输入新的机构信息后,点击“保存信息”按钮,从而引发了增加新机构信息的事件,系统将自动将数据存入t_organization机构表中。其核心代码如下:packagecom.hrm.action;importjavax.servlet.http.HttpServletRequest;……publicclassOrgActionextendsBaseAction{ //进入添加页面 publicActionForwardaddInput(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse) throwsException{ returnmapping.findForward("add"); } //添加信息 publicActionForwardadd(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse) throwsException{ OrgActionFormoaf=(OrgActionForm)form; Organizationorg=newOrganization(); BeanUtils.copyProperties(org,oaf);//对象的拷贝 orgService.addOrg(org); request.setAttribute("result","添加机构信息成功!"); returnmapping.findForward("success"); }6.3.2部门管理图6-5部门管理(1)模块说明本页面的主要操作是对部门信息进行添加、删除、修改的操作。比如当公司要成立一个新的部门是,在图6-5部门管理界面上找到添加按钮,单击它,系统将进入如图6-6,按照界面上的说明填写部门的相关信息,点击保存设置,系统将自动将数据保存到数据库的部门信息表中。图6-6部门信息添加(2)设计思路机构名称中的信息应用Ajax技术来实现从数据库中读取数据,实现无刷新就可以拿到数据库的数据,输入完数据后,单击“保存信息”按钮,系统将自动将数据保存至t_departant部门表中。其核心代码如下:packagecom.hrm.action;importjava.io.IOException;……publicclassDepartActionextendsBaseAction{//联动列表,通过机构ID读取数据publicActionForwarddepartByOrgId(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse) throwsException{ StringorgId=request.getParameter("orgId"); StringselectHql="selectdfromDepartmentdwhere.id="+orgId; PagerModelpm=departService.searchDeparts(selectHql); response.setContentType("text/xml;charset=utf-8");//发送到客户端的响应内容的类型 …… responseXML.append("</mores>"); try{ PrintWriterout=(PrintWriter)response.getWriter(); out.write(responseXML.toString()); }catch(IOExceptione){ e.printStackTrace(); } returnnull; }}6.3.3岗位管理图6-7岗位管理(1)模块说明本页面的主要操作是对岗位信息进行添加、删除、修改的操作。当一个部门需要增加某个岗位时,你需进入图6-7岗位管理界面,点击添加时,系统将进入如图6-8,填入相关的资料后,单击保存设置即可。其中部门名称和机构名字之间应用了联动列表技术,即当你选择你所要的机构名称后,部门名称是通过你所选的机构名称去读取部门名称的,这样可以避免在不同的机构、部门相同时,填入岗位信息的错误。图6-8岗位信息添加(2)设计思路同部门信息添加的方法类似,机构名称和部门名称中的信息使用Ajax技术来实现从数据库中通过机构ID和部门ID所对应的内容去读取数据,实现无刷新就可以拿到数据库的数据,输入完数据后,单击“保存信息”按钮,系统将自动将数据保存至t_position部门表中。6.3.4用户管理图6-9用户管理(1)模块说明本页面的主要操作是管理员对系统用户进行分配、删除、修改权限的管理。它不能创建人员信息,只能为员工分配、修改、删除他们的权限和修改登入密码。如果选择删除操作时,你删除的只是员工登入系统的账户,不会对员工信息产生任何的影响。当你进入图6-9用户管理界面后,先选择你要分配的员工,在选择分配,系统将进入图6-10,初始账号密码默认为“888888”,管理员不能为其更改,只能由员工自己进入系统更改。图6-10用户权限分配(2)设计思路在选择一个用户要为其分配权限时,系统将自动从数据中读取用户的相关信息。当设计完毕后,单击“保存信息”,系统将自动把数据保存到t_uesr表中。一个用户仅拥有一个权限,这样可以避免系统难以识别用户的权限,而导致用户无法正在的工作。其核心代码如下:packagecom.hrm.action;importjavax.servlet.http.HttpServletRequest;……publicclassUserActionextendsBaseAction{ //分配账号 publicActionForwardadd(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse)throwsException{ UserActionFormuaf=(UserActionForm)form; Useruser=newUser(); BeanUtils.copyProperties(user,uaf); userService.addUser(user,uaf.getPersonId()); request.setAttribute("result","分配登陆账号成功!"); returnmapping.findForward("success"); }6.3.5公告管理图6-11公告管理(1)模块说明本页面的主要操作是对企业信息进行添加、删除、修改的操作。当企业需要发布一则通知,需进入图6-11公告管理界面,点击添加,系统将进入如图6-12,填入需要公布的信息,单击保存设置即可。图6-12公告信息添加设计思路按照提示将公告信息输入完毕后,单击“保存信息”,系统将数据自动保存到数据库中。当公告发布成功后,全部的用户登录到本系统后都可以在首页中查看到该条公告信息,公告以滚动的形式展现。其核心代码如下:packagecom.hrm.action;importjavax.servlet.http.HttpServletRequest;……publicclassNoticeActionextendsBaseAction{ //添加信息 publicActionForwardadd(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse) throwsException{ Useruser=currentUser(request); NoticeActionFormnaf=(NoticeActionForm)form; Noticenotice=newNotice(); BeanUtils.copyProperties(notice,naf); noticeService.addNotice(notice,user.getId()); request.setAttribute("result","公告发布成功!"); returnmapping.findForward("success"); }6.4人事管理6.4.1我的人事资料该页面主要是提供给普通员工可以对自己的资料进行查询,界面如图6-13;图6-13人事资料6.4.2员工基本资料该页面主要操作是对员工信息的添加、删除、修改的管理。当公司新录用一名新员工,对他的资料进行录入时,需进入如图6-14人事资料添加界面,根据员工提供的相关信息进行资料的录入。其中在所属机构、所属部门、所属岗位这三个字段之间不是使用传统的从数据库中直接读取数据,而是应用了Ajax技术对数据进行筛选,即当你选择机构,系统将自动选择该机构下所属的部门名称,选择部门后,系统也将自动选择该部门下所附有的岗位名称。图6-14人事资料添加6.4.3查询员工资料该页面主要负责对任意员工的信息进行查询。当选择员工资料查询时,系统将进入如图6-15,系统设置了4个查询条件,即部门名称、岗位名称、员工编号、员工姓名,只要输入任意的至少一个条件,都可以显示出符合条件的员工资料。也可以直接根据填入的条件,单击excel导出按钮,系统自动将所需数据导出到excel表中。图6-15人事资料查询6.4.4设计思路在员工基本资料的页面中,所属机构、所属部门和所属岗位中的信息使用Ajax技术来实现从数据库中通过机构ID、部门ID和岗位ID所对应的内容去读取数据,无刷新就可以拿到数据库的数据来实现列表三级联动效果,输入完数据后,单击“保存信息”按钮,系统将自动将数据保存至t_person人事表中。在员工资料查询页面中,输入条件完,系统自动从数据库t_person人事表中读取信息并将所需信息显示出来。我的员工资料主要是为了给普通员工查询资料设置的页面,当员工进入主界面后,单击我的人事管理,即可直接查看自己的相关人事资料。其核心代码如下:packagecom.hrm.action;importcom.hrm.service.UserService;……publiccl

温馨提示

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

评论

0/150

提交评论