




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于java的公司人力资源管理系统学 院:专 业:姓 名:指导老师:学 号:职 称:中国珠海二一三年五月北京理工大学珠海学院2013届本科生毕业设计诚信承诺书本人郑重承诺:本人承诺呈交的毕业设计基于java的公司人力资源管理系统是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。本人签名: 日期: 年 月 日基于java的公司人力资源管理系统摘 要目前,社会上的各种各样的中小型企业中,所使用的人力资源管理系统大多都是基于B/S架构,所以,我选用当前比较热门的Struts2+Hibernate架构来进行本系统的搭建。同时,为了界面的美观,我使用了EXTJS的javascript技术来设计用户使用界面,为客户提供一个流畅和美观的web界面。数据库采用了oracle。在数据传输方面,使用了JSON和AJAX的技术实现信息的异步操作。根据软件开发的流程,对本系统的开发进行了需求分析,确定了系统将要实现的功能模块:员工信息管理、招聘信息管理、培训信息管理、奖惩信息管理、薪资信息管理、考勤信息管理、部门信息管理、管理员信息管理、职位信息管理,这九个模块。然后根据需要,在前台实现了各个模块的增、删、改、查的操作。本系统运用了AJAX技术,在登陆之后,实现了无页面跳转的数据异步加载,使得系统运行时更加流畅。关键词:Struts2;hibernate;ExtJs;B/S架构;Json;面向对象;人力资源管理系统;Company human resources management system based on JavaAbstractAt present, most of the human resource management systems used bysmall and medium enterprises are based on B/S architecture. So,current popular struts 2 + Hibernate framework was selected to build for my system. At the same time, in order to make the interface beautiful, I use the EXTJS, javascript techniques to design my user interface to use. For database, oracle was chosen. In the aspect of data transmission, I use the JSON and AJAX technology to realize the asynchronous operation. According to the software development process, development process of this system included demand analysis, determines the function modules of the system which consists of employee information management, recruitment management, training, information management, rewards and punishment information management, salary information management, attendance information management, department of information management, administrator information management, information management, position the nine modules. At last, function modules for add, delete, change, check operation are realized at the front stage. This system uses the AJAX technology, achieving no page jump asynchronous loading of data after login to make the system run more smoothly. Keywords: Struts2; Hibernate; B / S structure; ExtJs;Json; object-oriented; Human Resources目 录1 前言1 1.1概述1 1.2问题的现状及其意义1 1.3本设计的目标22开发环境及相关技术介绍3 2.1系统开发环境3 2.2技术介绍3 2.2.1系统设计的主要技术3 2.2.2 Struts2的介绍3 2.2.3 Hibernate的介绍4 2.2.4 ExtJS的介绍4 2.2.5 Json的介绍4 2.2.6面向对象的介绍53系统需求分析6 3.1可行性分析6 3.1.1 技术可行性6 3.1.2 经济可行性6 3.1.3 环境可行性6 3.2功能需求分析64总体设计8 4.1系统的总体功能框架设计8 4.2系统各模块用例图分析8 4.3业务流程图14 4.4数据库设计分析14 4.4.1数据库总体设计14 4.4.2数据库数据字典155系统详细设计20 5.1系统运行环境和部署架构20 5.2系统体系结构设计20 5.3系统业务流程20 5.4系统各模块类图21 5.5系统代码实现25 5.5.1用户登录模块实现25 5.5.2 管理员管理模块实现32 5.4.3 员工信息管理展示37 5.4.4 部门信息管理展示38 5.4.5 其他模块实现396系统测试40 6.1 功能测试40 6.2 界面测试417设计总结42参考文献43谢 辞44附 录451 前言1.1概述人力资源管理信息系统(Human Resource Information System, HRIS)是一个用来为制定人力资源决策提供信息的集成系统,是为了提高企业人力资源管理水平而开发的。主要目标是通过对员工及人力资源活动信息(招聘、工资)等的编制来提高效率,及时与用户沟通,用最少的人力、物力满足用户需求。人力资源管理信息系统在企业的有效实施,将会促进企业人力资源管理向规范化、标准化、决策科学化发展;促使企业人力资源管理人员从日常大量的行政事务性工作中解脱出来,逐步专注于对企业的人力资源管理活动进行计划,组织,监督和咨询职能;调动企业各级管理者和每一位普通员工都积极参与到人力资源管理活动中来。并且通过大力推进人力资源管理信息化建设,优化了企业人力资源管理流程,建立起开放式的人力资源管理模式,从而提升企业人力资源管理水平和管理效率,充分调动一切有利因素,最终使人成为企业经营发展中真正的第一资源。人力资源管理信息系统是人力资源管理的电子信息化,是企业基于高速度、大容量的硬件和先进的IT软件的人力资源管理模式,即人力资源管理信息化或自动化。1.2问题的现状及其意义随着时代的发展,社会的进步,IT领域的日新月异,越来越多的企业建立、发展、壮大、成熟。截止到2011年,我国工商管理局注册的企业超过了3500万,其中中小型企业占了99%。这些都是人力资源管理系统的潜在客户。随着公司的成长和壮大,公司里的员工也逐渐增加,每年的人力资源管理的成本也不断增加,这不仅耗费公司的资金,同时也耗费了大量的人力。所以,公司需要一个系统,一个能够管理公司人力资源的系统。近年来,一些较大的企业经常自行开发HR管理系统,这样可以节省他们许多不必要的浪费。但是实践证明,这个方式实现起来很难。一方面,企业内部的人员往往缺乏项目经验,结果做出的东西绝大部分不符合客户的需求;另一方面,这种形式的软件开发不参与市场竞争,仅仅是供给内部使用,极大地可能导致开发人员的敷衍了事,使得系统无法起到它的作用。此外,就是我国正处于传统管理方式向人力资源管理过渡的时期,企业中的管理方法和思想都在发生着巨大的变化,这是对HR管理系统的一个巨大的挑战。本系统的主要针对的对象是一些中小型企业,对他们的人力资源,按照企业的需求,对其绩效考核管理、薪酬管理等进行了完善的开发。利用现在较新的技术,实现人力资源管理系统的精细化、自动化、人性化,为企业的发展做出理性的决策,提高人员的管理利用率,为公司的发展和人才储备提供一个完善的、良好的平台。1.3本设计的目标利用现有的技术,了解人力资源管理系统开发的流程和所要实现的主要功能,同时对一些企业的内部的管理进行了解,进而对系统进行特定功能的扩展。另一方面,就是要打破传统人力资源管理系统的一贯的风格,打造出一个全新的,更具有亲和力的系统,使得企业的员工愿意使用本系统。2开发环境及相关技术介绍2.1系统开发环境使用B/S架构,运行环境是JDK1.7.0_09服务器操作系统:Windows 7数据库:Oracle 10GWeb服务器:apache-tomcat-6.0.32开发工具:Myeclipse10,Ext Desiger,PL/SQL Developer,Power Desiger2.2技术介绍2.2.1系统设计的主要技术本人力资源管理系统是在Extjs+Struts2+Hibernate框架的基础上开发的。是一个典型的J2EE系统。所以系统也分为表现层、业务逻辑层和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。表现层是基于javascript的ExtJS技术,而数据的交互格式则使用JSON技术、这些在下面有详细的介绍。主要使用技术:Struts2、Hibernate、ExtJs、JavaScript、HTML、Json2.2.2 Struts2的介绍STRUTS是Apache组织的一个开放源码的项目,它是一个可重用的MVC设计。STRUTS应用有3个主要部件:Servlet及负责具体业务处理的Action类(Controller),JSP页面(view)和STRUTS应用的业务逻辑封装(Model)。STRUTS实质上就是在JSP基础上实现的一个MVC框架,Struts2框架的大致处理流程如下:1) 浏览器发送请求2) 核心控制器FilterDispatcher根据请求决定调用合适的Action3) Web Work的拦截器链自动对请求应用通用功能4) 回调Action的execute方法,该方法先获取用户请求参数,然后执行某种数据库操作,既可以是将数据保存到数据库,也可以从数据库中检索信息。实际上,因为Action只是一个控制器,它会调用业务逻辑组件来处理用户的请求5) Action的execute方法处理结果信息将被输出到浏览器中,可以是HTML页面、图像,也可以是PDF文档或者其他文档。此时支持的视图技术非常多,既支持JSP,也支持Velocity、FreeMarker等模板技术2.2.3 Hibernate的介绍Hibernate是一个面向Java环境的对象/关系映射(ORM)工具,是J2EE应用的持久层解决方案,Hibernate不仅管理Java类到数据库表的映射,还提供数据查询和获取数据的方法,可以大幅度缩短使用JDBC处理持久化的时间。Hibernate与其他ORM框架对比具有如下优点:1) 开源和免费的License,方便需要时研究源代码,改写源代码,进行功能定制2) 轻量级封装,避免引入过多复杂的问题,调试容易,减轻程序员负担3) 具有可扩展性,API开发。功能不够用的时候,自己编码进行扩展4) 开发者活跃,产品有稳定的发展保障2.2.4 ExtJS的介绍ExtJS是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架。ExtJS可以用来开发RIA也即富客户端的AJAX应用,是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。ExtJs最开始基于YUI技术,由开发人员JackSlocum开发,通过参考JavaSwing等机制来组织可视化组件,无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品。Ext的UI组件模型和开发理念脱胎、成型于Yahoo组件库YUI和Java平台上Swing两者,并为开发者屏蔽了大量跨浏览器方面的处理。相对来说,EXT要比开发者直接针对DOM、W3C对象模型开发UI组件轻松。2.2.5 Json的介绍JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C+, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组2种结构,通过这两种结构可以表示各种复杂的结构1、对象:对象在js中表示为“”扩起来的内容,数据结构为 key:value,key:value,.的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。2、数组:数组在js中是中括号“”扩起来的内容,数据结构为 java,javascript,vb,.,取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。经过对象、数组2种结构就可以组合成复杂的数据结构了。2.2.6面向对象的介绍随着计算机硬件设备功能的进一步提高,使得面向对象的编程成为可能。面向对象的编程更加符合人类的思维方式,编写的程序更加健壮和强大,更重要的是,面向对象编程鼓励创造性的程序设计。面向对象编程是一种先进的编程思想,更加容易解决复杂的问题。面向对象编程的主要特征有:(1)封装性:面向对象编程核心思想之一就是将数据和对数据的操作封装在一起。通过抽象,即从具体的实例中抽取共同的性质形成一般的概念,比如类的概念。(2)继承:继承体现了一种编程模式。子类可以继承父类的属性和功能,即子类继承了父类所具有的数据和数据上的操作,同时又可以增添子类独有的数据和数据上的操作。(3)多态:多态性是指允许不同的类的对象对同一消息做出相应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享等优势,很好的解决了应用程序中函数同名问题。3系统需求分析3.1可行性分析3.1.1 技术可行性应为已经基本上掌握了开发时所要使用的技术,而且在项目之外也做过一些关于这方面的DEMO,所以在规定的时间和某些限制的条件下,功能基本可以实现,开发可以完成。3.1.2 经济可行性由于在系统的开发中,用到的很多技术,例如Struts2、Hibernate、EXTJS3.0、JSON等,都是开源的,所以,在开发中,基本没有什么成本的产生。这个系统经过未来的改进后,我相信它所带来的效益远远会超过它的开发成本。在经济这方面,绝对是一本万利。3.1.3 环境可行性由于在开发中,使用了一些javascript的dom的操作,所以,本系统在IE8以上的浏览器版本下可以正常运行,在其他浏览器,如firefox、chrome等,可能出现一些兼容问题。3.2功能需求分析功能需求定义了开发人员在系统开发时必须实现的软件功能,这样的话用户就可以通过系统来完成他所要做的事。根据市面上人力资源管理系统的基本业务需求,并经过自己的分析,得到了系统的功能模块通过分析,本系统应该实现以下功能:(1) 登录功能:用于防止非法用户的非法登录,提高了系统的保密性;(2) 员工信息管理:管理员和高级管理员可对公司员工的基本信息进行增加、删除、修改和查询的操作(3) 招聘信息管理:管理员和高级管理员可以发布、查询、修改、删除招聘信息。(4) 培训信息管理:管理员和高级管理员根据具体的情况设置人员培训,可修改、删除、添加培训信息,为员工的升迁提供科学的依据。(5) 奖惩信息管理:管理员和高级管理员可以对奖惩信息的增加、删除、查询、修改操作,为薪资、升迁等提供依据。(6) 薪资信息管理:管理员和高级管理员可以对员工薪资信息进行的增加和查询等。(7) 考勤信息管理:管理员和高级管理员查看考勤信息,实现公司管理员对当日为参加考勤人员的考勤处理。(8) 高级操作模块:高级管理员系统的管理员、公司部门、公司职位进行管理(增加、删除、查看、修改)。4总体设计4.1系统的总体功能框架设计根据系统的功能需求分析后,设计出的系统的总体架构图,如图4.1所示。图4.1 系统总体架构图4.2系统各模块用例图分析(1)系统的总体用例图高级管理员可以使用系统中的所有功能,而管理员除了管理员管理、部门管理和职位管理不能使用外,其他和高级管理员一样。高级管理员在管理员管理中,可以修改管理员的权限,如图4.2所示。图4.2 系统用例图(2)员工信息管理的用例图用例名称:员工信息管理简要描述:管理员和高级管理员可对公司员工的基本信息进行增加、删除、修改和查询的操作参与者: 高级管理员、管理员。用例图如图4.3所示:图4.3 员工信息管理用例图(3)招聘信息管理的用例图用例名称:招聘信息管理。简要描述:管理员和高级管理员可以发布、查询、修改、删除招聘信息。参与者: 管理员、高级管理员。用例图如图4.4所示:图4.4 招聘信息管理用例图(4)培训信息管理的用例图用例名称:培训信息管理简要描述:高级管理员和管理员可以对培训进行添加、修改、删除等操作。参与者: 管理员、高级管理员。用例图如图4.5所示:图4.5 培训信息管理用例图(5)奖罚管理的用例图用例名称:奖罚管理简要描述:高级管理员和管理员可以对员工的奖罚信息进行添加、修改、删除等操作。参与者: 管理员、高级管理员。用例图如图4.6所示:图4.6 奖罚管理用例图(6)薪资信息管理的用例图用例名称:薪资信息管理简要描述:系统管理员可以对员工薪资进行核算和发放,也可以查看所有员工的工资发放情况。参与者: 管理员、高级管理员。用例图如图4.7所示:图4.7 薪资信息管理用例图(7)考勤信息管理的用例图用例名称:考勤信息管理简要描述:管理员、高级管理员查看、删除考勤信息,考勤记录的添加油打卡机的当日信息来自动录入。 参与者: 管理员、高级管理员。用例图如图4.8所示:图4.8 考勤信息管理用例图(8)管理员管理的用例图用例名称:管理员管理简要描述:高级管理员对管理员的信息进行增加、删除、修改和查询。 参与者: 高级管理员。用例图如图4.9所示:图4.9 管理员管理用例图(9)部门管理的用例图用例名称:部门管理简要描述:高级管理员对部门的信息进行增加、删除、修改和查询。 参与者: 高级管理员。用例图如图4.10所示:图4.10 部门管理用例图(10)职位管理的用例图用例名称:职位管理简要描述:高级管理员对职位的信息进行增加、删除、修改和查询。 参与者: 高级管理员。用例图如图4.11所示:图4.11 职位管理用例图4.3业务流程图根据人力资源管理系统的需求分析和各各用例的分析,绘制出该系统的业务流程图,见图4.12。图4.12 人力资源管理系统业务流程图4.4数据库设计分析4.4.1数据库总体设计 本系统使用的是oracle 10G,主要设计的表共有9个,分别是:管理员信息表,部门信息表,职位信息表,员工信息表,培训信息表,奖罚信息表,薪资信息表,考勤信息表,招聘信息表。系统的数据库关系结构图如下图4.13所示。图4.13 人力资源管理数据库关系结构图4.4.2数据库数据字典(1)管理员信息表(hr_users)管理员信息表用于存放管理员的信息,其结构见表4.1。表4.1 管理员信息表字段号字段名称 字段类型字段大小索引字段说明1userIdINTEGER主键管理员ID2userNameVARCHAR20非空管理员名称3userPasswordVARCHAR50非空管路员密码4userTypeINTEGER非空管理员类型备注: 1、userType:1为高级管理员,2为普通管理员(2)部门信息表(hr_dept)部门信息表用于存放公司部门的信息,其结构见表4.2。表4.2部门信息表字段号字段名称 字段类型字段大小索引字段说明1deptIdINTEGER主键部门的ID号2deptNameVARCHAR20非空部门的名称(3)职位信息表(hr_duty)职位信息表用于存放公司职位的信息,其结构见表4.3。表4.3职位信息表字段号字段名称 字段类型字段大小索引字段说明1dutyIdINTEGER主键职位的ID号2dutyDeptIdINTEGER外键职位所在部门的id3dutyNameVARCHAR20非空职位名称(4)员工信息表(hr_employee)员工信息表用于存放公司员工的信息,其结构见表4.4。表4.4员工信息表字段号字段名称 字段类型字段大小索引字段说明1employeeIDINTEGER主键员工ID2employeeNameVARCHAR220非空员工姓名3employeeSexVARCHAR210非空员工性别4employeeAgeINTEGER非空员工年龄5employeeNativeVARCHAR220非空员工籍贯6employeeBirthdayVARCHAR220非空员工出生日期7employeeDeptIDINTEGER外键员工所在部门ID8employeeDutyIDINTEGER外键员工职位ID9employeeWphoneVARCHAR220员工办公室电话10employeeFphoneVARCHAR220非空员工手机号码11employeeEmailVARCHAR220非空员工邮箱12employeeHealthVARCHAR220非空员工健康13employeeProfessionVARCHAR220非空员工专业14employeeEducationVARCHAR220非空员工教育程度15employeeMarryVARCHAR25非空员工婚姻情况16employeeIdentityIDVARCHAR218非空员工身份证号17employeeAddressVARCHAR250非空员工住址18employeeIconVARCHAR2200员工图片19employeeEnterDateVARCHAR220非空员工入职时间20employeeModifyDateVARCHAR220非空员工信息修改时间备注: 1、employeeSex:0为女性,1为男性2、employeeIcon:保留(5)招聘信息表(hr_recruiment)招聘信息表用于存放公司招聘的信息,其结构见表4.5。表4.5招聘信息表字段号字段名称 字段类型字段大小索引字段说明1recrIdINTEGER主键招聘信息ID2recrNameVARCHAR50非空招聘信息名称3recrContentVARCHAR500非空招聘信息内容4recrDateVARCHAR20非空招聘信息发放日期(6)培训信息表(hr_train)培训信息表用于存放公司培训的信息,其结构见表4.6。表4.6培训信息表字段号字段名称 字段类型字段大小索引字段说明1trainIDINTEGER主键培训信息ID2trainNameVARCHAR20非空培训信息名称3trainGoalVARCHAR20非空培训目的4trainStudentVARCHAR200非空培训参加人名单5trainStartDateVARCHAR20非空培训开始时间6trainEndDateVARCHAR20非空培训结束时间7trainStudentNumINTEGER非空参训最大人数8trainTeacherVARCHAR10非空培训教室9trainGradeVARCHAR10非空培训等级10trainEleaseDateVARCHAR20非空信息放出时间备注: 1、trainGrade:0为初级,1为中级,2为高级(7)薪资信息表(hr_salary)薪资信息表用于存放公司薪资的信息,其结构见表4.7。表4.7薪资信息表字段号字段名称 字段类型字段大小索引字段说明1salaryIDINTEGER主键薪资ID2salaryEployeeIDINTEGER外键薪资对应员工id3salaryMonthVARCHAR220非空发放薪资月份4salaryBasicINTEGER非空基础工资5salaryBounsINTEGER非空奖金6salaryForfeitINTEGER非空罚款金额7salaryReleaseDateVARCHAR220非空信息发放时间备注: 1、员工的实拿工资为:salaryBasic+ salaryBouns- salaryForfeit(8)奖罚信息表(hr_rewardpunish)奖罚信息表用于存放公司员工的奖罚的信息,其结构见表4.8。表4.8奖罚信息表字段号字段名称 字段类型字段大小索引字段说明1rpIDINTEGER主键奖罚信息ID2rpEmployeeIDINTEGER外键奖罚员工ID3rpNameVARCHAR220非空奖罚类型名称4rpReasonVARCHAR250非空奖罚原因5rpDescrVARCHAR2200非空奖罚描述6rpDateVARCHAR210非空奖罚日期7rpReleaseManVARCHAR210非空信息发放人备注: 1、rpName:用于指出这个字段是奖励还是惩罚 2、rpReleaseMan:为当前登录系统的管理员(9)考勤信息表(hr_attendance)考勤信息表用于存放公司员工的考勤的信息,其结构见表4.9。表4.8考勤信息表字段号字段名称 字段类型字段大小索引字段说明1attendIDINTEGER主键考勤信息id2attendEmployeeIDINTEGER外键考勤对应员工ID3attendDateVARCHAR220非空考勤日期4attendIsWorkVARCHAR210非空是否上班备注: 1、attendIsWork:0为缺勤,1为上班5系统详细设计5.1系统运行环境和部署架构系统运行的操作系统是WINDOWS7,数据数据库采用oracle 10G,服务器则采用apache-tomcat-6.0.32应用服务器。这个系统部署在一个服务器上和一个数据库服务器上,过意该系统可以在公司的局域网中使用,也可以在广域网中访问。此外,由于该系统运用了许多JS脚本,所以使用浏览器时,应选用IE8或以上的版本,以避免不兼容无法运行的问题。5.2系统体系结构设计系统的结构为传统的B/S架构,即“浏览器/服务器”架构;编码模式为Extjs+Struts2+Hibernate;逻辑的结构为数据的存储,业务逻辑的处理,用户界面的开发。为用户提供更好的系统体验。5.3系统业务流程系统的业务流程,严格按照J2EE的应用设计规范和JavaScript的引用规范。用户从浏览器进入系统,在系统中进行业务操作的时候,在extjs中使用了一些控件,进而出发了action的请求。该请求被ActionServlet拦截,进入Struts框架的控制。系统的所有action请求,都被ActionServlet拦截,由Struts2的MVC框架控制.此外,在关于数据的交互中,系统使用的是JSON格式的数据来进行数据传输,无论是数据库向界面,还是界面向数据库,都是这样。浏览器中的获得数据后向服务器端发送请求(request),FilterDispatch接收到从浏览器发送来的请求后将相应的数据请求分发到相应的Action的指定方法进行处理,方法通过BeanFactory创建实现类的对象,实现类对象调用其响应的业务逻辑方法,业务逻辑层的方法又调用Dao层的方法进行数据库的操作,对数据进行持久化。相应的时序图如下图5.1所示。图5.1 系统业务时序图5.4系统各模块类图由于系统的类和javabean内的属比较多,所以我根据系统的功能模块,将类图拆分成以下10个子类图,分别详细的说明了个各类的属性和方法以及类之间的关系。 (1)登录功能类图登录功能用于实现用户登录,其类图如图5.2所示。 图5.2 登录功能类图(2)管理员信息管理功能类图管理员信息管理功能,用于实现管理员信息管理,见图5.3图5.3 管理员信息管理功能类图(3)部门信息管理功能类图部门信息管理功能,用于实现部门信息管理,见图5.4图5.4 部门信息功能类图(4)职位信息管理功能类图职位信息管理功能,用于实现职位信息管理,见图5.5图5.5 职位信息管理功能类图(5)员工信息管理功能类图员工信息管理功能,用于实现员工信息管理,见图5.6。图5.6 员工信息管理功能类图(6)培训信息管理功能类图培训信息管理功能,用于实现培训信息管理,见图5.7。图5.7 培训信息管理功能类图(7)招聘信息管理功能类图招聘信息管理功能,用于实现招聘信息管理,见图5.8图5.8 招聘信息管理功能类图(8)考勤信息管理功能类图考勤信息管理功能,用于实现考勤信息管理,见图5.9。图5.9 考勤信息管理功能类图(9)薪资信息管理功能类图薪资信息管理功能,用于实现薪资信息管理,见图5.10。图5.10 薪资信息管理功能类图(10)奖罚信息管理功能类图奖罚信息管理功能,用于实现奖罚信息管理,见图5.11图5.11 奖罚信息管理功能类图5.5系统代码实现由于系统的各模块的相应的实现方法基本相同,所以在这里,我只选用一个模块来进行实现。在此,我选用用户登录模块和管理员信息管理模块。5.5.1用户登录模块实现(1)登录界面,运用了Extjs+struts2+hibernate的技术实现的功能,在这里有输入内容校验及回馈给后台经行数据库数据对比的步骤。当输入正确的用户名和密码就可以登录到系统的主页面,失败的话会弹出提示,并且回到登录页面。效果展示:如图5.12、图5.13、图5.14、图5.15所示。图5.12 登陆界面效果图图5.13登录成功效果图图5.14登录失败效果图图5.15系统主界面效果图(2)代码实现:首先,因为这个系统的用户界面是基于extjs的,所以,在JSP页面中,只要引入Extjs主要的两个js文件和一个CSS文件。然后就是要引入登录界面的js。1)Jsp页面代码:(Login.jsp) 欢迎登陆 2)登录页面JS实现:(js-login.js)这里的代码是负责生成登录信息录入窗口。等输入信息后,点击确定,触发action,将textfield内的信息传到后台进行验证。在此使用到了EXTJS自带的ajax技术。当服务器响应了成功的信息,则跳转,响应失败的信息,先提示登录失败并清空textfield内的信息。Ext.onReady(function()Ext.QuickTips.init();var form = new Ext.FormPanel(height:100,width:300,frame:true,labelWidth:60,labelAlign:right,baseCls:x-plain,items:xtype:textfield,name:username,fieldLabel:用户名,maxLength:10,minLength:1,allowBlank:false,msgTarget:side,xtype:textfield,name:password,inputType:password,fieldLabel:密码,maxLength:10,minLength:1,allowBlank:false,msgTarget:side);var window = new Ext.Window(title:用户登录,width:300,height:150,plain:true,bodyStyle:padding:5px;,buttonAlign:center,colseable:false,resizable:false,items:form,buttons:text:登录,listeners:click:function()if(form.getForm().isValid()form.getForm().submit(url:login,method:POST,waitMsg:系统正在验证您的登录信息,请稍候.,success:function(form,action)Ext.Msg.confirm(提示,action.result.msg,function(btn) if(btn=yes) top.location=./desktop/desktop.jsp; else ,this);,failure:function()Ext.Msg.alert(提示,账号或密码错误););,text:重置,listeners:click:function()form.getForm().reset(););window.show(););3)登录页面的action:(LoginAction.java)这个Action负责获取从前台submit操作后传过来的信息,并经行验证,如果数据库有这个信息,就响应成功信息,如果数据库没有这个信息,则响应失败信息。package com.wyc.hr.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponseimport org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;import com.wyc.hr.dao.LoginDao;import com.wyc.hr.domain.HrUsers;public class LoginAction extends ActionSupport private String username;private String password;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() return passwor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于抗药性基因编辑技术的甲维盐靶标位点筛选策略
- 基于AI的批次间质量一致性动态监测模型构建
- 国际标准差异导致出口中心架产品合规性风险的供应链管理策略
- 后端依赖链断裂导致的前端加扰器失效的熔断机制
- 后处理工艺对金属粉末烧结转子组件表面粗糙度的控制阈值
- 反垃圾邮件系统伦理困境:过度拦截对用户权益的侵蚀
- 双碳目标下余热回收与制冷系统耦合度建模
- 功率油耗仪在碳中和目标下的碳足迹追踪机制优化研究
- 2025年度广东省云浮市专业技术人员继续教育公需科目试卷及答案
- 服装材质识别技术-洞察及研究
- 2025年静脉输液考试题及答案2024
- 政府机关保安职责及安全政策
- 王心语《影视导演基础》(第3版)笔记和课后习题详解
- 化工设备使用与维护课程标准
- 房产中介行业智能经纪人与信息共享平台方案
- 工程造价咨询服务投标方案(专家团队版-)
- 2024-2025学年统编版小学道德与法治一年级上册全册教案及反思
- 山东省城市园林绿化乡土适生植物名录2024
- 公司管理安全奖惩制度(2篇)
- 2025中水北方勘测设计研究限责任公司校园招聘管理单位笔试遴选500模拟题附带答案详解
- 《质量管理体系培训》课件
评论
0/150
提交评论