基于jsp的人力资源管理系统的设计与实现毕业论文设计

上传人:无*** 文档编号:204987405 上传时间:2023-04-27 格式:DOC 页数:69 大小:1.11MB
返回 下载 相关 举报
基于jsp的人力资源管理系统的设计与实现毕业论文设计_第1页
第1页 / 共69页
基于jsp的人力资源管理系统的设计与实现毕业论文设计_第2页
第2页 / 共69页
基于jsp的人力资源管理系统的设计与实现毕业论文设计_第3页
第3页 / 共69页
点击查看更多>>
资源描述
摘 要基于JSP的人力资源管理系统的设计与实现摘要随着计算机技术的飞速发展和计算机在企业管理应用中的普及,利用计算机实现企业人力资源管理势在必行。企业人力资源管理系统的积极使用是使现代化企业在竞争中立于不败之地的必要条件。本文论述了基于JSP模式下人力资源管理系统的设计与实现,分析人力资源管理系统的发展趋势,完成对系统的需求分析和功能分析。实现包括部门管理、人事档案管理、考勤管理、奖惩管理、人员调动管理模块的设计与编程实现。关键字:JSP 人力资源 数据库 管理系统I目 录ABSTRACTWith the rapid development of computer technology and the popularity of computer application in enterprise management, it is imperative to use computers to achieve human resource management. For the managers of enterprises, human resource management system is an indispensable part of business units This article discusses the design and implementation of human resource management system based on the JSP model, analyses the development trends of human resource management system, and complete requirements analysis and functional analysis of the system. Thus, to achieve module design and programming including department management, personnel management, attendance management, incentive management and mobility management. Keywords: JSP Human Resources, Database, Management System目 录目 录第一章 引言11.1 课题背景11.2 课题的价值与意义11.3 课题研究现状及发展态势11.4 课题核心21.5 本文主要研究内容21.6 本章小结3第二章 系统开发环境42.1 JDK安装配置42.2 Tomcat安装与配置42.3 MyEclipse安装52.4 本章小结5第三章 需求分析63.1 设计任务63.2 功能要求63.3 系统目标63.4 可行性分析63.4.1 经济性63.4.2 技术性73.4.3 操作性73.5 本章小结7第四章 系统设计84.1 系统功能模块设计84.2 系统数据库设计94.2.1 系统数据库E-R设计94.2.2 数据表结构94.3 本章小结13第五章 系统实现145.1 公共JSP文件145.1.1 数据库连接145.1.2 数据库删除145.1.3 公共引入包文件155.2 登录模块设计与实现165.2.1 登录模块界面设计165.2.2 登录检查165.3 部门管理模块设计与实现175.3.1 部门关系功能实现185.3.2 部门添加功能实现205.4 人事档案模块设计与实现235.4.1 人事档案添加功能实现235.4.2 人事档案查询功能实现245.5 考勤管理模块设计与实现265.5.1 考勤信息添加功能实现265.5.2 考勤信息查询功能实现275.5.3 考勤信息月份统计功能实现295.6 奖惩管理模块设计与实现305.6.1 奖惩信息添加功能实现315.6.2 奖惩信息查询功能实现315.7 人员调动模块设计与实现335.7.1 人员调动信息添加功能实现335.7.2 人员调动信息查询功能实现345.8 本章小结36第六章 系统测试376.1 部门管理测试376.2 人事档案管理测试386.3 考勤管理测试396.4 奖惩管理测试406.5 人员调动管理查询416.6 访问合法性416.7 本章小结42第七章 结束语43参考文献44致谢45附录46外文原文与译文621 外文原文622 中文翻译64III第一章 引 言第一章 引言1.1 课题背景随着计算机的普及和计算机技术的飞速发展,计算机被广泛的使用到生产生活中,计算机广泛的出现在我们的周围,计算机的应用加快了我们工作的效率,简化工作方式。由于计算机的引入,出现了许多代替旧式繁杂的记录方式的管理系统,其中人力资源管理系统更是成为企业提高工作效率,简化管理所不可缺少的工具。1.2 课题的价值与意义当今世界企业间的竞争日益激烈,未来企业的成功很大程度取决于企业人力资源,人力之争必将成为企业间竞争的核心内容之一,以人为本成为企业立足和发展的根本。有效的管理企业的人力资源,为企业提供强有力的储备力量,使之成为企业发展的动力。通过人力资源的有效管理,掌握最新的、准确的企业人力资源信息,并对其进行复杂的统计和分析,从而发挥每个员工的潜能,为企业创造更大的价值。随着计算机的普及和计算机技术的飞速发展,人们开始越来越多的利用计算机解决实际问题。员工信息管理是企业信息管理的重要部分,而对大量的人事信息,采用人力处理即浪费时间又浪费人力和物力,并且数据的准确性低。因此,设计开发一个界面友好,易于操作的人力资源管理软件进行自动化处理变得十分重要。1.3 课题研究现状及发展态势 人力资源管理系统的发展历史可以追溯到20世纪60年代末期。由于当时计算机技术已经进入实用阶段,同时企业的规模也越来越大,用手工来计算和发放薪资既费时费力又非常容易出差错,为了解决这个问题,第一代的人力资源管理系统,其实就是薪资管理系统应运而生。当时由于技术条件和需求的限制,用户非常少,而且那种系统充其量也只不过是一种自动计算薪资的工具。第二代的人力资源管理系统出现于20世纪70年代末。随着计算机技术的飞速发展,无论是计算机的普及性,还是计算机系统工具和数据库技术的发展第二代薪资管理系统基本上解决了第一代系统的主要问题,开始纪录员工的其他基本信息包括薪资的历史数据,此外,它的报表生成和薪资数据分析功能也都有了较大的改善。这个时代的的管理系统以薪资处理为主,并兼具了一部分人事信息管理的功能。 人力资源管理系统的第一次革命性变革出现在20世纪90年代初。由于企业管理理论,特别是人力资源理论的发展,使人们认识到人力资源在企业发展和企业竞争优势中的关键性作用,另外随着IT技术的发展,把一些人力资源管理理念和理论应用到企业管理中也变为可能。这一阶段企业最关注的时员工的绩效考评和管理系统,以及培训管理系统。第三代人力资源管理系统的特点是从人力资源管理的角度出发,用集中的数据库将几乎所有与人力资源相关的数据(如薪资福利、招聘、个人职业生涯的设计、培训、职位管理、绩效管理、岗位描述、个人信息和历史资料)统一管理起来,形成了集成的信息源。友好的用户界面,强有力的报表生成工具、分析工具和信息的共享使得人力资源管理人员得以摆脱繁重的日常工作,集中精力从战略的角度来考虑企业人力资源规划和政策。人力资源管理信息系统的第二次革命性变革出现在20世纪90年代末和21世纪初。由于internet和intranet技术的普及,以及人力资源管理理论的进一步发展,学习与发展成为企业与员工个人的永远的主题,而IT技术为这一主题给出的答案就是E-LEARNING。为了快速响应企业内部和外部的各种要求与变化,WEB使人力资源部门与企业的内部员工和外部世界之间的距离成为0,这就是人力资源管理系统的E话。E化HRMS除了具有人力资源管理系统的所有特征外,还可以实现员工或潜在员工和企业人力资源管理者互动和零距离。1.4 课题核心分析人力资源管理系统的发展趋势,按照软件开发思想,完成对人力资源管理系统的需求分析和功能分析,完成包括部门管理、人事管理、考勤管理等在内的模块的编程与实现。1.5 本文主要研究内容本文介绍了分析了人力资源管理系统的发展趋势,按照软件工程的思想,完成对系统的需求分析和功能分析。实现包括部门管理、人事管理、考勤管理等在内的模块的编程。第一章引言部分简要介绍了人力资源管理系统的发展和现状,并阐述了本课题研究的意义、核心。第二章主要介绍了本系统设计、运行的环境的安装和配置。对开发工具和使用的技术进行了简单的介绍。第三章主要对人力资源管理系统进行了需求分析和可行性的分析,为下一步的具体功能模块设计做铺垫。第四章主要完成各个功能模块的总体设计、根据系统的需要完成本系统的数据库的设计、表结构的设计。第五章主要实现具体各个功能模块的设计与实现,给出各模块的界面设计截图。第六章主要实现对各个功能模块的测试,给出各个模块测试结果截图。第七章对整个设计过程进行归纳和总结,对课题未来发张做出展望。1.6 本章小结本章主要说明了课题研究的背景、价值和意义,介绍了人力资源管理系统的发展及现状,最后对论文结构进行了详细的说明。65第二章 系统开发环境第二章 系统开发环境本系统是基于JSP技术而设计的人力资源管理系统,使用B/S模式实现。所以环境的搭建主要是JSP开发的环境。2.1 JDK安装配置Java的JDK又称Java SE,可以在Sun公司的官方网站上下载。JDK的安装与普通的应用程序安装是相同的,只是安装完成之后需要配置环境变量。在环境变量中新建环境变量“JAVA_HOME”和变量值,变量值为JDK的安装路径。在“环境变量”对话框中修改Path变量,在原变量值得后面添加.;%JAVA_HOME%bin;。完成JDK的环境配置之后,在控制台中输入“javac”命令,将输出JDK的编译器信息,其中包含修改命令的语法和参数选项等信息,则说明JDK环境搭建成功2。2.2 Tomcat安装与配置Tomcat是一个免费而且开源的优秀的Serlvet容器,它是Apache基金会Jakarta项目中的一个核心项目,由Apache、SUN和其他一些公司及个人共同开发而成。由于有了SUN的参与和支持,最新的Servlet和JSP规范总能在Tomcat中体现,Tomcat不仅仅是一个Servlet容器,同时它也具有传统的Web服务器的功能。众多的JSP技术书籍选用Tomcat作为JSP应用服务器,主要是因为它的简单易行,有着良好而稳定的性能,且对硬件要求不高。(1) Tomcat可以在Apache的官方网站上免费下载。(2) 下载完Tomcat后,安装过程与一般的应用程序没有太大的差距。Tomcat安装完成后,查看Tomcat安装目录,会发现以下子目录,其目录内容描述如下:*bin:Tomcat执行脚本目录。*common:其下的lib目录中,存放了对所有Web服务器应用程序都有效的JAR包。*conf:存放了一些Tomcat的配置文件。*server:存放了Tomcat服务器的admin和manager应用。*logs:存放了Tomcat执行是的日志文件。*Webapps:Tomcat的Web项目目录。*work:Tomcat的工作目录,其中包含一些JSP编译后的Servlet源码和中间码得文件。(3) Tomcat的环境变量的配置Tomcat安装完成后,在操作系统的环境变量中添加TOMCAT_HOME变量和classpath变量,其中TOMCAT_HOME变量值为Tomcat安装路径;classpath:%TOMCAT_HOME%commonlib。(4) 启动Tomcat之后,启动浏览器,在浏览器的地址栏中输入http:/localhost:8080/,如果进入了Tomcat的默认首页(有一只小猫),则安装配置成功3。2.3 MyEclipse安装MyEclipse是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, JavaScript, SQL, Hibernate。安装MyEclipse也是和一般的应用程序差不多。安装完成MyEclipse之后,在MyEclipse中添加Tomcat即可。2.4 本章小结本章主要介绍了本系统的开发和运行环境。首先是JDK的安装和环境配置,其次是Tomcat的安装和环境配置。本系统使用集成开发工具MyEclipse开发,对MyEclipse进行了简单的介绍。第三章 需求分析第三章 需求分析3.1 设计任务分析人力资源管理系统的发展趋势,按照软件开发思想,完成对系统的需求分析和功能模块的分析,实现包括部门管理、人事管理、考勤管理等在内的模块的编程。考虑到该系统的使用者一般不是精通于计算机的专业人士,所以该系统应该易于操作,易于理解,设计的界面应该友好,人性化。3.2 功能要求(1) 人力资源系统管理员需要登录进入管理系统。(2) 部门管理模块需要实现添加部门,根据已添加在数据库中的部门信息,动态的生成连接到相应部门的信息显示的网页中。(3) 人事档案管理模块需要具有添加、按关键字查询、删除员工人事档案的功能。(4) 考勤管理模块需要具有添加、删除、按关键字查询员工考勤信息,可以根据不同的关键字查询不同月员工考勤统计信息。(5) 奖惩管理模块需要具有添加、按关键字查询、删除员工奖惩信息的功能。(6) 人员调动管理模块需要具有添加、按关键字查询、删除员工人员调动的信息;能够通过添加人员调动信息,更改员工人员档案中的相应信息。3.3 系统目标1. 灵活的人机交互界面,操作简单,界面简洁美观。2. 键盘操作,快速响应。3. 实现各种查询。4. 可以实现要求的各种管理。5. 系统能够最大限度的实现易安装、易维护和易操作性。6. 系统运行稳定、安全可靠。3.4 可行性分析3.4.1 经济性通过使用使用人力资源管理系统,能够大大的减少人力物力的无谓消耗,从而有效的管理企业,明显的提高企业的竞争力,为企业的发展前进创造条件。而且随着计算机的普及和计算机技术的飞速发展,企业管理信息化,电子化将是不可逆转的潮流,现在实现信息化将更好的适应未来对企业的要求。3.4.2 技术性本系统采用B/S模式,只需要涉及服务器端得设计即可,通过使用JSP技术的使用,能够方便的实现所需要的功能,通过JDBC能够方便的于后台数据库SQL Server 2005进行快速的连接。使用JavaScript能够在客户浏览器端快速的完成一些简单的功能,如输入是否正确等简单的判断功能。3.4.3 操作性该系统采用B/S模式实现,客户端只需要通过浏览器就能访问;管理界面设计简单、友好。对管理人员计算机方面的要求不高,只需要会简单的使用浏览器即可,管理人员能够在较短的时间内学会使用该人力资源管理系统。43.5 本章小结本章首先根据设计任务,分析设计任务的内容,明确本系统所需要的具体功能模块和系统设计的目标。其次对于设计思路是否正确从经济性、技术性及操作性三个方面进行可行性分析。第四章 系统设计第四章 系统设计4.1 系统功能模块设计根据需求分析结果,本系统主要功能模块如图4-1所示:图4-1 系统主要模块系统模块功能如下:(1) 部门管理:完成部门的添加、根据数据库中已存在的部门动态的生成转入到相应的部门信息显示的界面。(2) 人事档案管理:完成对员工人事档案的添加和删除,根据输入的不同关键字和查询方式查询数据库中的人事档案信息。(3) 奖惩管理:完成对员工奖惩信息的添加和删除,能够根据输入的不同关键字和查询方式查询数据库中的奖惩信息。(4) 考勤管理:完成对员工考勤信息的添加和删除,能根据输入的不同的关键字和查询方式查询数据库中的考勤信息;能够根据输入不同的月份和查询信息,系统能够自动的查询数据库,显示相应员工相应月份的考勤信息统计。(5) 人员调动管理:完成对员工调动信息的添加和删除,能够根据输入的不同关键字和查询方式查询数据库中的人员调动信息,能够根据人员调动信息的添加改变人事档案信息中相应信息的相应项。(6) 密码修改:完成对当前登录用户密码的修改。第四章 系统设计4.2 系统数据库设计数据库设计工作在软件开发中占有重要地位,优秀的数据库设计能够更加高效的存储数据,能够对于数据之间进行限制和关联,能够对于数据库中表的修改进行限制。4.2.1 系统数据库E-R设计SQL Server 2005中能够新建数据库中表与表之间的关系,在SQL Server 2005中能够显示相应数据库的E-R图,本系统在SQL Server 2005中数据库设计的E-R图如图4-2所示:图4-2数据库E-R图4.2.2 数据表结构本系统使用到的表有6张,分别是奖惩信息表reward、员工信息表employee、部门信息表dept、考勤信息表workrecord、人员调动信息表translate、管理员登陆信息表AUser。1. 员工信息表employee员工信息表employee的结构如表4-1所示。表4-1员工信息表结构字段名称数据类型字段描述EmployeeIDVarchar(20)primary key 员工编号 主键EmployeeNameVarchar(20)员工姓名SexVarchar(10)员工性别DeptNameVarchar(50)所属部门Birthdaydatetime员工生日NativePlaceVarchar(50)员工籍贯MarriageVarchar(50)婚姻情况IdentityIDVarchar(50)员工身份证编号PoliticsVarchar(50)政治面貌FolkVarchar(50)员工民族EducationVarchar(50)员工学历DepartmentVarchar(50)员工专业GraduateDatedatetime毕业时间UniversityVarchar(50)毕业院校AccumulateIDVarchar(50)公积金账号AdministrationLevelVarchar(50)管理等级DutyVarchar(50)工作类型PositionVarchar(50)员工职位FLLevelVarchar(50)外语等级ForeignLanguageVarchar(50)外语类型ComputerLevelVarchar(50)计算机等级PhoneVarchar(50)电话号码MobilePhoneVarchar(50)手机号码AddressVarchar(50)员工地址IncumbencyVarchar(50)在职情况IncumbencyTypeVarchar(50)在职类型ResumeVarchar(50)员工简历2. 部门信息表dept部门信息表dept的结构如表4-2所示。表4-2部门信息表结构字段名称数据类型字段描述DeptIDVarchar(20)primary key部门编号 主键DeptNameVarchar(20)部门名称UpDeptIDVarchar(20)所属部门DeptInfoVarchar(50)部门信息DeptAddrVarchar(50)部门地址DeptLevelint部门等级3. 奖惩信息表reward奖惩信息表reward的结构如表4-3所示。表4-3奖惩信息表结构字段名称数据类型字段描述RewardNOVarchar(20)primary key奖惩编号 主键EmployeeNameVarchar(20)员工姓名EmployeeIDVarchar(20)员工编号PositionVarchar(20)员工职位RewardPunishVarchar(10)奖惩类型RewardcontentVarchar(20)奖惩内容ReasonVarchar(20)奖惩原因DeptNameVarchar(50)所属部门HandleNameVarchar(20)经办人StartDatedatetime开始时间CancelDatedatetime撤销时间CancelResonVarchar(100)撤销原因RemarkVarchar(400)备注4. 人员调动信息表translate人员调动信息表translate的结构如表4-4所示。表4-4人员调动信息表结构字段名称数据类型字段描述TranslateNOVarchar(20)primary调动编号 主键EmployeeIDVarchar(20)员工编号EmployeeNameVarchar(20)员工姓名TranslateDatedatetime调动日期PriorDeptNameVarchar(50)调动前部门NextDeptNameVarchar(50)调动后部门PriorDutyVarchar(50)调动前职务NextDutyVarchar(50)调动后职务HandleNameVarchar(50)经办人RemarkVarchar(400)备注5. 考勤信息表 workrecord考勤信息表workrecord的结构如表4-5所示。表4-5考勤信息表结构字段名称数据类型字段描述EmployeeIDVarchar(20)员工编号EmployeeNameVarchar(20)员工姓名BeginTimedatetime考勤开始时间EndTimedatetime考勤结束时间RecordTimedatetime考勤记录时间Monthint记录月份WorkRecordIDVarchar(50)primary key考勤记录编号 主键6. 管理员登陆信息表AUser管理员登陆信息表AUser的结构如表4-6所示。表4-6管理员登陆信息表结构字段名称数据类型字段描述UserNameVarchar(10)primary key管理员登录名 主键PassWordVarchar(50)管理员登陆密码4.3 本章小结本章首先阐述了根据需求分析得出的结论,完成各个模块应该实现的具体功能进行分析。其次根据本系统所要涉及的数据进行分析,完成本系统的后台数据库表的设计以及表与表之间的外键关系;对具体的每张表进行表结构设计实现。第五章 系统实现第五章 系统实现5.1 公共JSP文件公共文件的使用是代码重用的一种重要的形式,它将各个功能模块中经常调用的方法提取到公共的JSP文件中,这样不但实现了项目代码的重用,还提高了程序的性能和代码的可读性。本系统中编写使用了ConnDB.jsp、Delete.jsp、Common.jsp这3个公共JSP文件。5.1.1 数据库连接由于数据库的连接在所有的查询和添加功能中都会使用,而且数据库的连接对于同一个数据软件,连接的代码是相同的。所以能够将数据库连接代码单独形成一个公共JSP文件。本系统使用的数据库连接公共JSP文件ConnDB.jsp如下:5.1.2 数据库删除本系统的大部分功能中都涉及到对数据库中相关记录的删除的实现。通过将删除功能整合到一个公共的JSP页面中,能够实现代码的可读性和代码重用性增强。本系统的数据库删除文件是通过相应的查询页面中的删除超链接传递给删除页面需要删除的记录所在表名、删除的记录值等参数来连接数据库,删除数据库中的相应数据记录。本系统使用的数据库删除公共JSP文件Delete.jsp的主要功能代码如下:Stringdeletekey=new String(request.getParameter(deletekey).getBytes(ISO8859_1),GBK;Stringtablename=new String(request.getParameter(tablename).getBytes(ISO8859_1),GBK;Stringdeletekey2=new String(request.getParameter(deletekey2).getBytes(ISO8859_1),GBK);Statement stmt_add=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);Stringsql1=deletefrom+tablename+where+deletekey2+=+deletekey+;int add=stmt_add.executeUpdate(sql1);if(add0)out.println(删除成功!);elseout.println(删除失败!);stmt_add.close();conn.close(); 5.1.3 公共引入包文件由于在编写JSP文件时一般需要引入许多的Java提供的包文件,而这些包文件都是相同的,所以可以将这些包文件统一的写入一个JSP文件中,每次编写新的文件时直接使用include命令引入即可。本系统使用的公共引入包文件Common.jsp文件如下:%-5.2 登录模块设计与实现系统的登录模块主要完成人力资源管理系统管理员登录进入系统的功能,检查管理员输入的账号和密码和数据库中保存的账号密码是否相同,从而确定是否能够进入管理系统,防止未被授权的对管理系统的非法访问。5.2.1 登录模块界面设计登录界面是系统的安全门,只有提供正确的用户和登录密码之后,才能进入本人力资源管理系统进行操作,本系统的登录用户名是zcl,密码是123。通过使用MyEclipse提过的界面设计控件,能够简单快捷的设计所需要的登录界面。登录模块界面设计如图5-1图5-1登陆界面登录功能的实现需要login.jsp和Login_Chk.jsp2个JSP文件和一个公共JSP文件ConnDB.jsp,其中login.jsp主要实现对于界面的设计和将管理员填写的用户名和密码传递给Login_Chk.jsp。Login_Chk.jsp完成对login.jsp中传递来的用户名和密码进行检查,通过调用公共JSP文件ConnDB.jsp连接数据库,查询数据库,检查数据库中是否存在管理员输入的用户名和密码这一项记录。5.2.2 登录检查登录检查是实现通过连接数据库,查询数据库中是否存在和登录界面传递来的用户名、密码相匹配的数据项,如果存在着使用response对象中的SendRedirect()方法跳转到index.jsp页面中去,并且将登录用户的登录名添加打Session中,便于后面的页面对用户合法性的检查;如果输入错误,则显示输入错误。本系统使用的Login_Chk.jsp文件主要功能代码如下:String UserName = request.getParameter(admin);String UserPwd = request.getParameter(UserPassword);Statement stmt_Check=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);String sql = select * from AUser where PassWord=+UserPwd+and UserName=+UserName+;ResultSet RsLoginCheck = stmt_Check.executeQuery(sql);if(RsLoginCheck.next()session.setAttribute(AdminName,UserName);response.sendRedirect(index.jsp);elseout.print(用户名或密码错误!);RsLoginCheck.close(); stmt_Check.close(); conn.close(); 5.3 部门管理模块设计与实现通过部门管理系统的实现,能够快捷的查询到公司现存部门及其相关信息,能够快捷的对整个公司有一个初步的了解。部门管理模块负责部门信息的添加,它根据管理人员输入的数据,连接数据库,在数据库dept表中添加相应的数据项;能够根据当前数据库dept表中存在的数据项动态的显示部门之间存在的从属关系并且能够生成连接到每个部门信息显示的页面中去的以部门名称作为现实的超链接。部门管理界面如图5-2所示。图5-2 部门管理界面5.3.1 部门关系功能实现部门关系主要实现查询数据库dept表,显示所有现存的部门及部门之间的关系,并且生成连接到每个部门信息显示的页面。部门关系功能实现界面部分截图如图5-3。部门关系显示的每一个项由3部分组成,例如下面的“1总经理办公室0”中“1”表示该部门编号,“总经理办公室”表示该部门名称,“0”表示该部门的上级部门的编号,其中“0”表示他没有上级部门即该部门为该公司的最高部门。图5-3 部门关系实现界面本部分功能是通过JSP页面ShowDeptStep1.jsp实现,该页面主要功能代码如下:int maxlevel=0;String sql1=select * from dept;ResultSet rs=stmt_add.executeQuery(sql1);while(rs.next() if(rs.getInt(DeptLevel)maxlevel) maxlevel=rs.getInt(DeptLevel); for(int i=1;i(maxlevel+1);i+) String sql2=select * from dept where DeptLevel=+i+; ResultSet rs1=stmt_add.executeQuery(sql2); out.print(); while(rs1.next() String str1=rs1.getString(DeptID)+rs1.getString(DeptName)+rs1.getString(UpDeptID); int deptid1=rs1.getInt(DeptID); %a href=ShowDeptInfo.jsp?deptid= % out.print() ;在该段代码中maxlevel用于记录数据库中存在部门的最大层数,通过查询所有的存在部门获得结果集rs,调用rs的方法next(),利用while循环实现最大层数maxlevel的获取,然后根据查询dept表中的level数据值一层一层的输出部门信息。同时利用a href=ShowDeptInfo.jsp?deptid=语句生成以部门名称为显示的超链接,在超链接中向ShowDeptInfo.jsp页面传送deptid变量。在部门关系显示页面中点击任何部门的超链接,页面就会传递该部门的部门编号到查询界面中,从而自动间接的实现部门查询功能,图5-4是点击销售部门之后,页面显示的内容。图5-4 部门信息显示本部分功能是通过ShowDeptInfo.jsp页面实现,该页面利用request对象的getParameter()方法获取由超链接传递来的部门编号deptid参数,查询dept表,显示相关部门的信息。该页面代码如下:Stringdeptid = new String(request.getParameter(deptid).getBytes(ISO8859_1),GBK);/out.println(deptid);Statement stmt_add=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);String sql1=select * from dept where DeptID=+deptid+;ResultSet rs=stmt_add.executeQuery(sql1); while(rs.next() out.print();out.print(+rs.getString(DeptID)+); out.print(+rs.getString(DeptName)+); out.print(+rs.getString(UpDeptID)+); out.print(+rs.getString(DeptAddr)+); out.print(+rs.getString(DeptInfo)+);out.print() ; stmt_add.close();conn.close(); 5.3.2 部门添加功能实现部门查询主要实现通过获取管理员在页面中输入的部门信息,连接数据库,在数据库dept表中添加相应的数据项,如果输入的数据是非法的,则会显示错误原因。部门添加界面截图如图5-5所示。图5-5 部门添加界面部门添加功能中通过AddDeptStep2.jsp页面实现对数据库的连接和数据记录的添加。该页面通过request对象的getParameter()方法获取到添加页面中管理员填写的数据内容,首先查询数据库,判断输入的部门的上级部门是否存在,如果存在,则在数据库中查询到上级部门的level,将level+1所得到的值作为添加部门的level值,若获取到的updeptid=0则表示这个部门处于最高等级,没有上级部门,level设置为0。从而连接数据库,dept表中添加数据;反之如果不存在,则显示错误,AddDeptStep2.jsp页面主要功能代码如下: int level=0; String sql2; int add;Stringdeptid=new String(request.getParameter(deptid).getBytes(ISO8859_1),GBK);Stringdeptname=new String(request.getParameter(deptname).getBytes(ISO8859_1),GBK);Stringupdeptid=new String(request.getParameter(updeptid).getBytes(ISO8859_1),GBK);Stringdeptaddr=new String(request.getParameter(deptaddr).getBytes(ISO8859_1),GBK);Stringdeptinfo=new String(request.getParameter(deptinfo).getBytes(ISO8859_1),GBK);if(updeptid.equals(0)level=1;sql2=insert into dept(DeptID,DeptName,UpDeptID,DeptInfo,DeptAddr,DeptLevel) values (+deptid+,+deptname+,+updeptid+,+deptaddr+,+deptinfo+,+level+);add=stmt_add.executeUpdate(sql2);if(add0)out.println(添加成功);else String sql1=select * from dept where DeptID=+updeptid+; ResultSet rs=stmt_add.executeQuery(sql1);if(rs.next() level=rs.getInt(DeptLevel); level=level+1; /out.println(level); sql2=insert into dept(DeptID,DeptName,UpDeptID,DeptInfo,DeptAddr,DeptLevel) values (+deptid+,+deptname+,+updeptid+,+deptaddr+,+deptinfo+,+level+); add=stmt_add.executeUpdate(sql2); if(add0)out.println(添加成功);else out.println(添加失败,输入了不存在的所属部门!); catch(Exception e)out.println(error:+e.getMessage(); 5.4 人事档案模块设计与实现人事档案模块主要实现人事档案的添加和按不同类型查询人事档案这2个主要功能。5.4.1 人事档案添加功能实现人事档案模块主要负责添加员工的基本信息,它根据管理人员提供的信息,将员工的编号、姓名等基本信息添加到数据库employee表中。添加部门信息时,如果添加的部门名称在dept表中不存在,则系统将会提示错误。人事档案模块添加界面设计如图5-6所示。图5-6 人事档案添加界面添加功能的具体实现是通过AddEmployeeStep2.jsp实现,在该JSP文件中,通过使用request对象的getParameter()方法获取添加界面中管理员输入的数据信息,然后检查添加的信息项“所属部门”的内容是否存在于dept表中,如果存在则将所有信息添加;如果不存在,则报告错误。5.4.2 人事档案查询功能实现人事档案查询主要实现根据管理员输入的查询类型和关键字查询数据库,如果存在该项数据则显示,反之如果不存在则没有显示。查询界面设计如图5-7所示。图5-7人事档案查询界面该功能通过SearchEmployeeStep2.jsp文件实现,通过request对象的getparameter()方法获取查询界面中管理员填写的查询类型和关键字。根据获取的关键字查询数据库并显示查询结果;同时生成删除链接,通过超链接向删除公共JSP文件传出删除所要的参数。查询结果显示如图5-8所示。图5-8 人员档案查询结果界面实现查询和生成超链接,传送参数的主要功能代码如下:String sql1=select EmployeeID,EmployeeName,Sex,Education,Position,Phone,Incumbencytype from employee where +searchtype+=+searchkey+;ResultSet rs=stmt_add.executeQuery(sql1); while(rs.next() out.print();out.print(+rs.getString(EmployeeID)+); out.print(+rs.getString(EmployeeName)+);out.print(+rs.getString(Sex)+);out.print(+rs.getString(Education)+);out.print(+rs.getString(Position)+);out.print(+rs.getString(Phone)+);out.print(+rs.getString(IncumbencyType)+); String deletekey=rs.getString(EmployeeID);%ahref=Delete.jsp?deletekey=&tablename=employee&deletekey2=EmployeeID删除out.print() ; 在这段代码中searchtype和searchkey分别是利用getParameter()方法获取到的由管理员在查询界面中输入的查询类型和查询关键字。ahref=Delete.jsp?deletekey=&tablename=employee&deletekey2=EmployeeID删除这段代码用于实现生成删除链接,并且该链接向Delete.jsp页面中传递deletekey、tablename、deletekey2等用于删除操作的参数。5.5 考勤管理模块设计与实现考勤管理模块主要负责添加员工考勤信息,它根据管理员提供的信息进行添加;按不同的查询类型和关键字查询考勤信息;根据数据库中已存在的考勤信息统计员工每月考勤情况。5.5.1 考勤信息添加功能实现考勤信息添加主要是通过获取添加界面中管理员填写的考勤信息,连接数据库将这些信息添加到数据库workrecord表中,完成添加功能。考勤信息添加界面设计如图5-9所示。图5-9考勤信息添加界面考勤信息添加功能的实现主要依靠AddWorkRecordStep2.jsp页面完成,该文件通过request对象的getparameter()方法获取添加界面中的数据值,其中如果添加的员工编号值在数据库employee表中不存在,则提示添加错误,负责添加数据。5.5.2 考勤信息
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!