中小型企业人事工资管理系统的设计与实现_第1页
中小型企业人事工资管理系统的设计与实现_第2页
中小型企业人事工资管理系统的设计与实现_第3页
中小型企业人事工资管理系统的设计与实现_第4页
中小型企业人事工资管理系统的设计与实现_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、本科生毕业论文(设计)题 目: 中小型企业人事工资管理系统的设计与实现 姓 名: 吴祖培 学 院: 理学院 专 业: 网络工程 班 级: 2008级 2班 学 号: 指导教师: 赵靖 职称: 讲师 2012 年 5月16日安徽科技学院教务处制目 录摘要1关键词1引言11 系统开发概述11.1 开发的背景和意义11.2 系统的现状11.3 可行性分析11.3.1 技术可行性11.3.2 经济可行性21.3.3 操作可行性21.3.4 人员可行性21.4 开发的语言和环境21.4.1 关于java语言21.4.2 系统的开发环境22 系统的需求分析22.1 项目需求22.2 数据需求32.3 功能

2、需求33 系统的设计43.1 总体设计规划43.2 开发模式/架构53.3 数据库设计53.3.1 关系图63.3.2 数据库表的设计74 详细设计及实现84.1 界面设计实现84.1.1 登陆界面的设计实现84.1.2 主界面的设计实现94.2 主要功能模块设计实现104.2.1 登陆功能模块设计实现104.2.2 员工档案维护功能模块的设计实现114.2.3 员工考勤维护功能的设计实现124.2.4 员工工资维护功能模块的设计实现134.2.5 员工调动功能模块的设计实现134.2.6 员工档案信息统计模块的设计实现144.2.7 年度员工工资统计模块的设计实现144.2.8 系统用户管理

3、模块的设计实现145 总结15致谢15参考文献15Abstract16中小型企业人事工资管理系统的设计与实现网络工程专业学生 吴祖培 指导教师 赵靖摘要:为适应现代中小型企业的正常快速发展急需开发一个人事工资管理。先通过对部分企业的需求调研,根据软件开发的流程围绕着系统的需求分析、总体设计、详细设计及实现来完成,并不断的修正和改进,经过运行测试后直到形成一个较完善的可行性系统并拥有友好、美观的界面。本设计采用了流行的面向对象编程思想1,它具有强大的功能和灵活性。系统运用了MyEclipse开发工具、Tomcat服务器以及Oracle数据库,是一种基于Java Web23服务的B/S模式4的人事

4、工资管理系统。关键词:面向对象;Java Web;B/S模式;Tomcat;Oracle引言 伴随着当今社会信息化的浪潮,企业经营管理机制正在发生着根本性的变化,企业要想在激烈的市场竞争环境下求得生存,就必须有效地利用人才、时间、信息结合的优势,就必须改善企业管理的方式制度。因此,借助日益发展的计算机和网络技术,建立相应的企业管理系统势在必行。对企业而言,人事是企业最宝贵的资源,也是企业的“生命线”。但是如何做到企业人事与经济效益具有良好匹配;如何做到适得其才,人尽其用;如何在满足企业效益的同时又兼顾企业职工的需求;如何能在瞬息万变的时代使企业与社会环境相适应并且处理好随时变化的人事;这一系列

5、的问题都是需要亟待解决的问题。为了使企业在当今激烈的市场竞争环境下立于不败之地,设计并开发出一套适合企业人事工资管理特点的系统尤为重要。人事工资管理系统的革命性变革出现在20世纪90年代末,我国人事工资管理信息系统开发和应用虽然已经有近十年的时间,但在企业中应用的整体水平还不高,目前还处于多元化状态。同时希望通过本次的设计能够为人事资源管理信息系统的完善做出自己的贡献。1 系统开发概述11 开发的背景和意义当今企业的信息化管理是一项琐碎、复杂而又细致的工作,人员数量多,流动频繁,职工档案的更新等,会耗费工作人员大量的时间和精力,这种使用传统人工管理的方式存在着许多缺点。而如今科学技术飞速发展,

6、计算机日趋成熟,其强大的功能已为人们深刻认识,作为计算机应用的一部分,使用计算机对企业进行人事工资管理,具有手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大的提高企业对人事工资管理的效率。因此,开发这样一套人事工资管理软件势在必行,用结构化的思维方式运用计算机解决实际工作和生活中遇到的问题,也是适应现代企业制度要求,推动企业走向科学化、信息化、规范化的必要条件。12 系统的现状现行市场上人事工资管理系统分为两种:一种是通用的,注重系统的通用性,在企业架构和职能部门稳定的情况下,各职位工资计算关系简单,此类企业较为通用。但大部分

7、中小型企业不具备这种条件,所以通用的系统很少考虑。另一种是专门针对某个企业的实际情况而开发的,针对的主要是中小型企业。13 可行性分析131 技术可行性 系统采用目前流行的基于Java Web服务开发的B/S结构,在数据库方面选择了Oracle10g,功能丰富强大。Web服务器为Tomcat,轻量而实用,为本系统的首选。同时对计算机的硬件环境也有一定的要求,如果低于最低的要求可能将影响到本系统的正常运行。132 经济可行性 系统的开发成本不能超过系统带来的经济效益。由于本人事工资管理系统的实现代替了传统的手工管理方式,可以大大的提高工资效率,释放了人力,节约了时间,其经济效益是显而易见的,从而

8、可以得出本系统在经济上是可行的。133 操作可行性 计算机技术的日趋发展,用户对人机操作界面的体验要求也越来越高。经过相关调研,在界面设计上友好、美观,查询、维护操作方便简单明了,以满足用户的要求。134 人员可行性 本系统的各模块功能并非很复杂,使用MyEclipse开发工具,无须多少人员就可以设计完成。通过对人事工资管理系统的可行性分析,所提出的功能是适合的,也是可以实现的。14 开发的语言和环境141 关于java语言 目前市场上比较流行的程序开发工具有Microsoft公司的Visual Basic、Visual C,Borland公司的Delphi,Powersoft公司的Power

9、Bulider等,有些强调程序语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的高低,各有各的优点和特色,而且语言的弹性和工具的便利性是密不可分的。本系统的开发选择的是java56,其主要特点面向对象: 现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。有三个重要的特性:封装性、多态性和继承;可移植性:就是在这个系统上做的程序经过一次编译后可以移植到别的系统上解释执行,只要经过简单

10、的粘贴和复制就行了,不影响程序的效果;安全性:一方面,在java语言里,像指针和释放内存等C+功能被删除,避免了非法内存操作。另一方面,语言功能和浏览器本身提供的功能结合起来,使它更安全;多线程:在一个程序里可同时执行多个任务,带来更好的交互性能和实时控制性能,在开发难易程度和性能上都比单线程要好;高性能: 若解释器速度不慢,java可以在运行时直接将目标代码翻译成机器指令,与C/C+的性能没什么区别。142 系统的开发环境 面对众多的编程语言,本人在系统中选择了java语言,之所以选择java语言是因为在它强大的面向对象思想,使用它能够轻松的将界面显示和业务逻辑分开来,我们可以简单的使用JS

11、P构造视图显示,而将业务逻辑处理交给了JavaBean。由于java语言的平台无关性,所以我选取在Window操作系统上开发。数据库用的是功能强、广为流行的Oracle 10g。具体的开发环境如下:操作系统:Microsoft Window XP开发工具:MyEclipse 8.5Web服务器:Apache Tomcat 6.0数据库:Oracle 10gJAVA开发包:JDK 1.5浏览器:IE82 系统的需求分析21 项目需求在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的人事工资管理系统,适应中

12、小型企业的基本业务应用。中小企业规模相对较小,但其在功能上对系统的需求却是全面的。本系统从四大模块:员工管理、部门管理、统计管理、系统管理设计出发,各模块都可以方便快捷进行查询和维护。在统计相关数据功能中可以对数据进行导出和打印。有助于企业相关领导快速了解公司的最近信息、活动,从而进行分析和决策,让企业能在激烈的市场竞争中更加灵活的应付所出现的问题,加强了公司处理基本业务的效率。22 数据需求221 数据录入处理的准确性和实时性 数据录入的正确和实时是数据正常处理的前提,错误的录入会导致系统输出的不正确而不可用,从而失去了系统的意义所在,浪费了人力、物力等。而数据的输入来源一般是手工输入,所以

13、可以通过系统界面上的数据校验功能来帮助用户判断输入数据的合法性。而且在系统中,数据的输入往往是大量的,因此要求系统要有一定的处理能力,以保证迅速的处理数据。222 数据的安全性 本系统为企业内部管理,因此只有特定的人事管理者才能对数据实现增加、删除、修改、查询、导出等操作。未获授权人员不能进入该系统。223 数据的导出 绝大多数的企业都需要将系统统计出的数据报表移至纸质材料上供管理者来分析数据,本系统提供了数据导出和打印功能。224 数据的备份 要定期对数据库中的数据进行全部或新增部分的备份工作,以保证在硬件出现故障或人为原因导致系统无法运行时是可以快速及时的还原到备份时的状态,由专门的数据库

14、管理人员来维护。23 功能需求本系统具有一般适用性,其所实现的功能(如图1)满足企业对日常性基本业务的管理,方便企业内部人员的沟通,以及及时的了解公司的动态,使企业的日常管理步入科学系统的轨道上。图1基本功能图(1) 用户登录:用户的相关信息存储在数据库,在登录的界面中接收用户输入的用户名和密码信息,先做客户端即浏览器端的有效性验证,通过验证后提交到服务器与数据库中的信息相比较,若二者不符合则在浏览器端提示相应的错误信息,重新输入用户名和密码,若二者相符则进入系统。(2) 主页面:当用户正常登陆进入系统后,显示的主页面美观简洁。导航条信息有当前用户名、当前日期、在线人数、关于信息、注销,以及可

15、以设置系统的背景音乐。最重要的就是系统主菜单部分,通过点击各按钮可以显示出相应模块的操作页面,进行查询和维护操作。部分查询条件是可以进行模糊查询的,尽可能帮助用户获取到所需的信息。(3) 员工管理:此员工管理模块下又分为员工档案维护、员工基本工资及费率维护、员工考勤维护、员工工资维护以及员工调动维护。a) 员工档案维护,实现员工档案的查询、添加、修改和删除操作,也可以上传员工的照片,当员工辞退后可以暂保存员工的档案信息,若删除员工档案信息则其上传的照片也要从服务器中删除掉。对查询出的结果可以打印出来。b) 员工基本工资及费率维护,实现员工的基本工资及加班、缺勤费率的查询、添加、修改和删除操作。

16、系统将以此为基础数据并根据员工的考勤记录来计算出相应员工的工资情况。对查询出的结果可以打印出来。c) 员工考勤维护,可以实现自动生成当天全体员工的初始考勤记录,再根据员工实际考勤状况来修改其考勤记录信息,一天只能生成一次,否则提示错误。支持批量对员工考勤记录信息的删除。依据条件查询出的结果可以打印出来。d) 员工工资维护,实现对员工工资的查询、修改和删除操作,定期添加员工工资信息,而员工的工资是根据员工的考勤记录、奖惩和其基本工资及相关费率综合计算而得出的,即:员工月工资=员工基本工资+加班费-缺勤扣除费+奖金+津贴。对查询出的结果可以打印出来。e) 员工调动维护,可以实现对员工调动记录的查询

17、、修改和删除操作,而人员调动记录的添加分为职务调动和部门调动,并支持单条调动或批量调动记录的添加。对查询出的结果可以打印出来。(4) 部门管理:此模块下又分为部门信息维护和部门经理调动。a) 部门维护,实现对部门信息的查询、添加、修改和删除操作。当成功添加新部门后可以为此部门调动一个部门经理,此操作也可以稍后在部门经理调动页面完成。对查询出的结果可以打印出来。b) 部门经理调动,实现对部门信息的查询和部门经理的调动操作,当新增一个新部门时可以对此部门分配一个部门经理。对查询出的结果可以打印出来。(5) 统计管理:统计管理模块下又分为员工档案统计、员工工资统计和年度员工工资统计表,统计管理部分在

18、系统中占有很重要的地位。a) 员工档案统计,可以分别依据员工的性别、学历、部门、工龄以饼图和柱状图的形式来显示出来,并可以将结果打印出来。b) 员工工资统计,可以统计出企业员工基本工资和部门平均工资分布的情况,并以饼图和柱状图来显示,直观而明了,并支持将结果打印出来。c) 年度员工工资统计表,可以实现按照某个年份来查询出企业本年度员工工资的情况,而且可以对统计出的数据打印和导出Excel。(6) 系统管理:系统管理模块下有用户维护、修改密码、切换用户和退出系统功能。a) 用户维护:实现对本系统用户的查询、添加、修改和删除操作。b) 修改密码:对已登陆系统的用户修改其密码。c) 切换用户:注销掉

19、当前用户,转至登陆界面。d) 退出系统:完全退出本系统。3 系统的设计31 总体设计规划整个人事工资管理系统划分为四个模块:即员工管理模块、部门管理模块、统计管理模块和系统管理模块,而每个模块下相应又划分了对应的子功能模块,各个模块功能基本都实现了多条件查询维护操作,部分查询条件可以模糊查询,一些模块提供导出和打印操作,并且用户只能通过正常的登陆后才能进行相应的操作。该系统的功能模块图(图2)如下所示。图2 系统功能模块图32 开发模式/架构系统的开发设计模式选择了目前广泛流行的MVC设计模式,随着J2EE技术的成熟,对于Web应用的开发无疑是一个不错的选择。MVC即Model-View-Co

20、ntroller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用系统被分成三个层模型层、视图层、控制层。这样的好处就是使系统层次分明,维护管理起来也很方便,本系统将使用JSP78+Servlet9+JavaBean8来实现。系统的工作流图(图3)如下所示。图3 系统工作流图33 数据库设计本系统将使用的是Oracle 10g数据库1011,结合Tomcat服务器12,相比其他的数据库,Oracle 数据库在稳定性、安全性、易用性和友好性方面都有优点,并且在大量数据处理、导出方面更强一些,市场上所占份额最多。本系统数据库共包括8张表,

21、这8张表构成了整个系统的数据处理。数据库表的清单如下表(表1)所示:表1 数据库表清单表中文名表英文名员工信息表T_EMPLOYEE部门信息表T_DEPT员工基本工资及相关费率表T_RATE员工考勤表T_CHECK员工工资表T_SALARY员工调动记录表T_TRANSFER用户表T_USER主键生成表T_TABLE_ID331 关系图 数据库表之间关系如下图(图4)所示:图4 数据库表关系图332 数据库表的设计 T_EMPLOYEE(员工信息表)员工信息表(表2)用于存储员工档案信息。表2 员工信息表列名数据类型长度是否主键允许为空描述employee_idvarchar215是否员工工号n

22、amevarchar210否否员工姓名picturevarchar220否是员工照片card_novarchar220否否员工身份证号sexvarchar24否否员工性别bornvarchar220否否员工出生日期native_placevarchar210否否员工籍贯educationvarchar210否否员工学历graduate_schoolvarchar240否否员工毕业院校jobvarchar210否否员工职务dept_idvarchar210否否员工部门号hiredatevarchar2200否否受雇日期contract_novarchar220否否合同号phonevarchar2

23、15否是员工电话emailvarchar230否是电子邮箱statusvarchar210否否状态employee_commentvarchar22048否是备注说明creatorvarchar220否否创建者create_timevarchar220否否创建时间deletorvarchar220否否删除者delete_timevarchar220否否删除时间 T_DEPT(部门信息表)部门信息表(表3)用于存储部门相关信息。表3 部门信息表列名数据类型长度是否主键允许为空描述dept_idvarchar210是否部门编号dept_namevarchar220否否部门名称dept_manage

24、r_idvarchar220否否部门经理编号dept_commentvarchar21024否是部门备注dept_statusvarchar21否否部门状态creatorvarchar220否否记录创建者create_timevarchar220否否创建时间deletorvarchar220否否记录删除者delete_timevarchar220否否删除时间 T_RATE(员工基本工资及相关费率表)员工基本工资及相关费率表(表4)用于存储员工基本工资信息和由考勤计算工资的相关费率信息。表4 员工基本工资及相关费率表列名数据类型长度是否主键允许为空描述rate_idvarchar220是否记录号

25、employee_idvarchar220否否员工工号base_salarynumber10,2否否基本工资overtime_ratenumber10,2否否加班费率lateLeave_ratenumber10,2否否迟到早退费率rate_commentvarchar21024否是备注creatorvarchar220否否创建时间create_timevarchar220否否记录删除者 T_CHECK (员工考勤表)员工考勤表(表5)用于存储员工在工作日的考勤记录信息。表5 员工考勤表列名数据类型长度是否主键允许为空描述check_idvarchar210是否员工考勤流水号employee_i

26、dvarchar215否否员工工号overtimevarchar210否否加班时间late_leavevarchar210否否迟到或早退时间is_dutychar1否否是否缺勤check_commentvarchar21024否是考勤备注check_datevarchar220否否考勤日期 T_SALARY (员工工资表)员工工资表(表6)用于存储员工每月的工资信息。表6 员工工资表列名数据类型长度是否主键允许为空描述salary_idvarchar220是否工资流水号employee_idvarchar215否否员工工号base_salarynumber10,2否否基本工资awardnumb

27、er10,2否否奖金attachnumber10,2否否津贴overtime_paynumber10,2否否加班费duty_cutnumber10,2否否缺勤扣除other_cutnumber10,2否是其他扣除should_salarynumber10,2否否应发工资actual_salarynumber10,2否否实发工资begin_timevarchar220否否结算起始时间end_timevarchar220否否结算结束时间issue_datevarchar215否否发放日期salary_commentvarchar21024否是备注creatorvarchar220否否记录创建者cr

28、eate_timevarchar220否否记录创建时间 T_TRANSFER (员工调动记录表)员工调动记录表(表7)用于存储员工的调动信息。表7 员工调动记录表列名数据类型长度是否主键允许为空描述transfer_idvarchar220是否调动记录号employee_idvarchar220否否员工工号job_beforevarchar230否否调前职务job_aftervarchar230否否调后职务dept_beforevarchar230否否调前部门dept_aftervarchar230否否调后部门transfer_datevarchar220否否调动日期transfer_comm

29、entvarchar21024否是调动备注creatorvarchar220否否记录创建者create_timevarchar220否否记录创建时间 T_USER(用户表)用户表(表8)用于存储系统用户信息。表8 用户表列名数据类型长度是否主键允许为空描述user_idvarchar210是否用户编号user_namevarchar220否否用户名称passwordvarchar240否否用户密码contact_telvarchar215否是联系电话emailvarchar250否是电子邮箱create_datevarchar220否否创建时间 T_TABLE_ID (主键生成表)主键生成表(

30、表9)用于生成自动增长的主键值。表9 主键生成表列名数据类型长度是否主键允许为空描述table_namevarchar230是否表名valuevarchar220否否主键值4 详细设计及实现41 界面设计实现411 登陆界面的实现 在浏览器地址中输入登陆地址进入系统登陆界面(图6)。系统用户正确输入用户名和密码后方能进入系统。在点击登陆按钮时,会先在浏览器端做用户名和密码的合法性验证,如用户名或密码为空,则提示相关信息。当在服务器端判断输入的用户名和密码有误时返回登陆界面,并提示错误信息(图5)。若用户想通过直接在地址栏输入要访问的页面地址,从而跳过登陆界面进入系统的方式是行不通的,系统将强制

31、转向登录页面。图5 错误提示信息图6 登陆界面登陆界面关键代码如下:用户名密 码 $user_msg  412 主界面的实现 系统用户登陆成功后,会进入到主界面(图7)。包含头部区域head.html(人事工资管理系统LOGO),工具栏区toolbar.jsp(用户、日期和关于等信息),主菜单区menu.html(用户的可操作菜单),操作页面区about.html(功能菜单中相应的操作内容)。主菜单下有员工管理、部门管理、统计管理和系统管理四个子菜单,而每个子菜单下又有相应的子模块功能的实现,查询和维护操作都是在操作页面区,各个区域独立而又相关联。图7 系统主界面主界面的关

32、键代码: 42 主要功能模块设计实现421 登陆模块功能的实现 用户通过登录页面才能正常进入本系统中,先创建登录页面login.jsp。再新建User.java类用来封装页面中的用户信息,便于业务逻辑的处理。页面中的数据提交到控制层LoginServlet.java,调用业务逻辑处理层UserManager来判断输入的用户信息是否正确,最后将处理的结果一步步返回到页面。若输入的用户信息判断正确则将用户信息设置到session中,可供其他页面使用,并可根据此来判断用户是否登录了系统。关键代码如下:String userId = request.getParameter(userId);Strin

33、g password = request.getParameter(password);if(userId = null)request.getRequestDispatcher(/login.jsp).forward(request, response);elsetry User user = UserManager.getInstance().login(userId, password);/将用户信息设置到session中request.getSession().setAttribute(user_info, user);/设置session超时request.getSession().

34、setMaxInactiveInterval(60*60*60);/重定向到主控页面response.sendRedirect(request.getContextPath() + /main.html);catch(Exception e) request.setAttribute(user_msg, 用户名或密码有误,请确认后重新输入!);request.getRequestDispatcher(/login.jsp).forward(request, response);422 员工档案维护功能模块的实现 该模块功能(图8 )实现了新员工档案信息的添加,并可上传员工的照片,系统把上传的员

35、工照片存储在服务器中,照片的路径则存在相应员工的档案信息里,当删除一个员工档案时相应员工在服务器中照片若存在也要删除掉。可以修改员工的基本信息,亦可辞退员工和删除员工档案,辞退的员工其档案信息还在系统中保留着。对员工档案信息的分页查询功能是带多条件查询的,员工工号、姓名条件可以模糊查询,所在部门号条件可以在弹出窗口选择,受雇日期有日历小窗口可供选择日期,在职状态用下拉框来选择,也可以对所有查询条件重置。支持查看某条记录的明细信息,并且对查询出的员工档案信息结果可以打印出来。图8 员工档案维护423 员工考勤维护功能模块的实现 员工考勤维护功能实现员工考勤记录的批量生成、删除、修改和查询操作。支

36、持批量生成当天全体员工系统初始化的考勤记录,员工考勤流水号是用主键生成表来维护,递增自动生成的,再根据实际需要修改某些员工的具体考勤记录信息,如加班时间、早退或迟到时间以及是否缺勤。多条件查询条件中员工工号是可以模糊查询的,下拉框选择是否缺勤以及考勤日期的区间查询,支持对查询出来的多记录中的某条记录可以查看其明细信息。最后对查询出的查询结果可以打印出来,如下图(图9)。分页查询的代码如下:StringBuffer sbSql = new StringBuffer();sbSql.append(selectcheck_id,employee_id,overtime,late_leave,is_d

37、uty,check_comment,check_date ).append(from ).append( ).append(select rownum rn, check_id,employee_id,overtime,late_leave,is_duty,check_comment,check_date ).append(from ).append( ).append(select check_id,employee_id,overtime,late_leave,is_duty,check_comment,check_date from t_check ).append(where empl

38、oyee_id like %+pageModel.getCondList().get(0)+% and is_duty like %+pageModel.getCondList().get(1)+% ).append(and to_date(check_date,yyyy-MM-dd) between to_date(+pageModel.getCondList().get(2)+,yyyy-MM-dd) and to_date(+pageModel.getCondList().get(3)+,yyyy-MM-dd) order by check_id desc).append() where

39、 rownum ? );PreparedStatement pstmt = null;ResultSet rs = null;List checkList = null;Connection conn = ConnectionManager.getConnection();pstmt = conn.prepareStatement(sbSql.toString();int pageNo = pageModel.getPageNo();int pageSize = pageModel.getPageSize();pstmt.setInt(1, pageNo * pageSize);pstmt.s

40、etInt(2, (pageNo - 1) * pageSize);rs = pstmt.executeQuery();上述分页查询运用的是JDBC操作数据库,而Oracle数据库的分页查询相比其他数据库稍复杂点,并且用的是三层嵌套查询,效率高。根据前台相应的查询条件将分页查询的结果集以及相关分页信息封装到PageModel类的对象中,再通过Servlet控制器传到页面中显示出来。图9 员工考勤维护424 员工工资维护功能模块的实现 员工工资维护功能模块实现了员工工资记录的添加(图10)、修改、删除和查询操作。员工每月的应发工资的是由员工基本工资,由考勤记录计算出的加班费、缺勤费、奖金、津贴以

41、及其他扣除综合计算得出的,工资流水号是由主键生成表来维护自动递增生成的,而根据员工的考勤记录信息系统可以自动计算生成出相应员工的加班费和缺勤扣除费用。查询条件员工工号是可以模糊查询的,结算日期为区间查询,亦可对查询出的某条记录查询其明细信息,支持对查询出的记录信息的打印操作。图10 员工工资的添加425 员工调动功能模块的实现 员工调动功能模块实现了对员工调动记录的查询、修改、删除和人员调动操作。查询操作是按员工工号模糊查询以及调动日期区间查询,并支持对查询出的调动记录信息的打印操作。人员调动操作分为职务调动、部门调动及调动,支持单个员工调动和批量员工调动。生成员工调动记录同时更新相应员工的新

42、职务或新部门。426 员工档案信息统计功能的实现 员工档案信息的统计是按企业员工的学历、性别、部门以及工龄统计的,并且可以根据需要分别按饼状图和柱状图显示出来,从图中可以看出统计的人数及相应比例,如下图11和图12所示。并且支持对统计出的饼状图和柱状图打印出来。 图11 员工学历分布图 图12 员工学历柱状图427 年度员工工资统计功能的实现 本功能模块实现了按某年份统计企业全体员工的工资情况(图13),从一月到十二月份之间的详细工资,默认可选年份在十年之内。此统计信息可以帮助企业相关管理者分析本企业员工工资分布状况,并作出相关的决策。并可对统计出的数据打印出来,也可导出到Excel中。图13

43、 年度员工工资统计428 系统用户管理功能的实现 此模块功能实现系统用户的添加、修改、删除及查询操作。可以对当前用户的密码进行修改,同时将session中的用户信息一并修改,保持同步。5 总结经过这几个月的不断实践与摸索,人事工资管理系统的设计与实现终于完成了,本人认为系统基本的功能模块都能较好的实现了,达到了预期的要求和目的。在本系统的设计与实现的过程中包括有功能需求分析、基本功能模块设计、数据库表结构设计、开发模式/架构及系统设计时应注意的事项。系统设计为整个系统构建了骨架,各个功能模块实现核心部分。而系统的详细设计则是由系统需求分析阶段的结论将其具体化,并完成了各个模块基本的查询、添加、

44、修改、删除及打印等操作,一个较为完整的可行性的人事工资管理系统就形成了。在本次的设计中,也是将以前所学的理论知识转化为实践的过程,它给了我面对实际问题的机会,当然在整个设计编写过程中,不断的遇到问题,通过查找相关资料不断解决问题,这样会使我克服问题的自学能力不断的提高。整个系统是由自己动手设计实现的,使自己对软件的开发流程步骤有了初步的了解认识。同时在程序编程方面也有了很多的提升。不过由于自己的能力有限和时间的仓促,该系统也还有许多不尽如意的地方,比如在系统用户权限验证方面未实现。还有最初在设计时考虑不是太周密,经常修改。具体的思维逻辑是否严密有待软件的后期使用来确定。致谢我想说的是能够顺利完

45、成本次的毕业设计,在这里首先感谢我校图书管给我们提供的大量资源库,本人从中学会了挺多东西,也希望以后会有更多的同学能够很好的利用图书馆的资源,丰富自己的知识面;然后必须感谢我的指导老师,是赵老师指导我熟悉了整个流程,在这之前对JSP、Servlet等知识只是了解皮毛,通过从校图书管借关于这方面从入门到精通的详解书籍,按照老师的建议学习,从开始对它们的一知半解到能较熟悉的应用,在这中间收获到的真是很多很多;还有也要感谢我的同学和好友,是他们让我的大学生活丰富多彩,是他们给我勇气和快乐;另外还要感谢四年来教我的所以老师们,是你们孜孜不倦的教诲及谆谆教导让我学习了基本的专业的知识、做人的道理以及分析问题、解决问题的方法,为本毕业设计的完成打下了坚定的基础,同时也会让我在今后的学习和工作中能更加的熟练应用;最后衷心感谢帮助过我的老师们,在这里祝我校全体老师工作顺利,身体健康,开开心心每一天。参考文献:1 孙卫琴.Java面向对象编程M.北京:电子工业出版社,2006.02.2 赵峰.基于JSP技术的Web应用程序开发的安全策略J.电脑知识与技术,2007 (12):12-13.3 王伍伶,闫玉根.JSP与Web数据

温馨提示

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

评论

0/150

提交评论