基于JavaEE的网新恒天人事管理系统的设计与实现_第1页
基于JavaEE的网新恒天人事管理系统的设计与实现_第2页
基于JavaEE的网新恒天人事管理系统的设计与实现_第3页
基于JavaEE的网新恒天人事管理系统的设计与实现_第4页
基于JavaEE的网新恒天人事管理系统的设计与实现_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

题目基基于JaavaEEE的网网新恒天天人事管管理系统统的设计与实实现指导老师XXXX专业班级姓名xxx学号年x月月xxx日摘要:随着着网络技技术的不不断发展展及其在在企业管管理工作作中的应应用,在在企业建建立企业业人事管管理系统统就显得得十分必必要。所所以设计计一个企企业人事事管理系系统可以以更方便便的帮助助管理者者管理一一家企业业。本系系统的开开发正是是适应了了这一需需求,经经过实际际的需求求分析,本本系统采采用了JJavaaEE平平台中最最为流行行的Spprinng+SSpriingMVCC+MyyBattis框框架,以以Tommcatt作为应应用并选选择MyySQLL数据库库管理系系统作为为工具进进行开发发。系统统包含管管理员、HHR、领领导、普普通员工工四种不不同的用用户。操操作简便便、界面面美观、灵灵活实用用,设计计开发出出员工管管理、工工时管理理、绩效效管理、数数据分析析等功能能,基本本满足了了企业管管理的实实际需要要。本文文主要介介绍了本本课题的的开发背背景、完完成的功功能和开开发过程程,并着着重说明明了开发发设计的的思想、技技术难点点和解决决方案。关键词:JJavaaEE;;企业人人事管理理系统;;Tommcatt;MyySQLL目录1系统概述述11.1系系统的研研究现状状11.2发发展趋势势11.3系系统的开开发方法法22系统需需求分析析32.1系系统功能能分析332.2系系统功能能结构442.3功能能描述和和用例分分析42.3.11系统用用例图442.3.22员工工管理552.3.33工时时管理662.3.44绩效效管理662.3.55数据据分析772.3.66流程程管理772.4系系统性能能需求882.4.11时间间需求882.4.22空间间需求882.5安安全性和和可靠性性83系统分分析83.1系系统开发发83.2系系统开发发需求993.3系系统开发发与运行行环境设设计1003.3.11软件件环境1103.3.22硬件件环境1104系统设设计1004.1数数据库设设计1004.1.11实体体类抽象象114.1.22系统统ER图114.1.33数据据库连接接配置配配置文件件114.2数数据库的的选择1114.3数数据库表表的设计计124.4系系统详细细设计1144.4.11登录模块设设计1444.4.22HRR新增用用户、员员工离职职、升职职模块设设计1554.4.33员工工工时填填写模块块设计1164.4.44员工工请假、加加班模块块设计1175系统实实现1885.1登登录界面面及主界界面模块的实实现1885.2员员工管理理模块的的实现2115.3员员工工时时填写模模块的实现2555.4员员工请假假加班模模块的实实现266系统测试试316.1登录录模块的测试316.2员工工管理模模块的测测试3226.3工时时管理模模块的测测试3336.4测试试总结334总结35参考文献3361系统概述述1.1系系统的研研究现状状随着人类迈迈入211世纪,计计算机技技术、通通信技术术、网络络技术为为代表的的现代信信息技术术的飞跃跃发展,人人类正在在从工业业时代向向信息时时代迈进进,人们们越来越越重视信信息资源源的开发发与利用用,“信息化化”已成为为一个国国家经济济和社会会发展的的关键环环节,信信息化水水平的高高低已成成为衡量量一个国国家现代代化水平平和综合合国力的的重要标标志。信信息化的的实质是是使信息息这一社社会的主主导资源源充分发发挥作用用,可以以说推广广信息技技术是手手段,真真正利用用信息是是目的,信信息化则则是利用用信息的的过程。我国自19983年年大力推推广微型型计算机机应用以以来,在在管理信信息领域域,无论论在理论论方面还还是在实实践方面面,都有有了很大大的发展展。当今今社会计计算机技技术发展展飞速,无无论在工工厂,商商场,公公司或者者企业当当中,计计算机的的应用越越来越普普及,利利用计算算机实现现企业人人事管理理势在必必行。对对于中型型规模以以上的企企业来说说,利用用计算机机提高企企业人事事管理的的效率,是是适应现现代企业业制度要要求、推推动企业业人事管管理走向向科学化化、规范范化的必必要条件件。而基基本信息息管理是是一项琐琐碎、复复杂而又又十分细细致的工工作,公公司人员员数量多多,而且且流动频频繁,到到外面招招聘来的的人员增增多,公公司内部部职工的的部门,职职务经常常调整,职职工档案案的更新新等。如如果没有有适当的的工具来来管理这这些日常常工作,就就会耗费费工作人人员大量量的时间间和精力力。利用用B/SS结构制制作的人人事管理理系统对对职工各各种信息息进行记记录、统统计,准准确率快快速提高高,另外外,可具具有检索索迅速、查查找方便便、可靠靠性高、存存储量大大、保密密性好等等优点。这这些优点点能极大大地提高高企业管管理的效效率,因因此,开开发这样样一套管管理系统统成为很很有必要要的事情情,它能能够具体体化、合合理化的的管理单单位的人人事信息息,用结结构化的的思维方方式,运运用计算算机解决决实际工工作和生生活中遇遇到的问问题。1.2发发展趋势势信息作为生生产力中中最活跃跃的因素素,很早早就在人人类生活活中发挥挥着不可可替代的的作用,现现在许多多发展中中国家对对人力资资源的战战略性意意义都有有了深刻刻的认识识,并开开始付诸诸行动。世世界公认认,211世纪将将是人力力资源的的世纪,人人力资源源问题将将主导整整个211世纪甚甚至更为为遥远。引引起这个个状况的的变化,主主要有以以下几个个方面。竞争压力::目前,世世界经济济趋向全全球化。世世界经济济的全球球化过程程和国家家的开放放过程,要要求组织织的管理理部门降降低管理理成本以以减少竞竞争压力力和增强强竞争能能力。而而对于不不同的组组织,人人力资源源成本在在总成本本中的比比例是不不一样的的。技术革新::无论是是现在还还是将来来,工业业的发展展越来越越多地取取决于科科学和技技术、知知识与技技能。高高新科技技产业更更是如此此。这不不仅要求求员工尤尤其是技技术人员员掌握新新的科学学知识和和技术能能力,而而且更重重要的在在于要求求员工深深入而快快捷地掌掌握和应应用这些些知识和和技能。这这就导致致了两个个问题。第第一,随随着这种种技术革革新的发发展和知知识更新新速度的的加快,人人们有更更多的职职业选择择机会。第第二,伴伴随着这这种发展展以及职职业选择择机会的的增多,人人力资源源管理活活动和频频繁程度度加剧;;而且这这种活动动对科学学技术的的要求与与它的反反应程度度也更高高了,进进而提高高了人力力资源成成本。工作目标和和价值观观的改变变:随着着社会政政治和经经济的发发展,人人们的工工作目标标和价值值观也都都发生了了重要的的变化。这这就对人人事管理理部门和和管理人人员提出出了新的的要求和和新的问问题,不不得不考考虑诸如如工作类类型设计计、岗位位分析、充充分尊重重员工以以及为他他们提供供良好的的个人发发展和自自我价值值实现的的环境与与条件等等问题。这这样,人人力资源源管理就就派上了了用场。1.3系系统的开开发方法法系统采用BB/S体体系结构构,利用用JavvaEEVeeloccityy和MySQLL5.5进进行开发发的,具具有简单单、易用用性、用用户界面面友好等等特点。系系统开发发的目标标主要是是:(1)界界面设计计简洁、友友好、美美观大方方;(2)操操作简单单、快捷捷方便;;(3)数数据存储储安全、可可靠;(4)信信息分类类清晰、准准确;(5)强强大的查查询功能能,保证证数据查查询的灵灵活性;;(6)对对于用户户输入的的数据系系统进行行严格的的数据校校验,尽尽可能排排除人为为出错。2系统需需求分析析2.1系系统功能能分析本课题所研研究的“JavaaEE网新新恒天人人事管理理系统”主要由由客户端端和管理理端组成成。客户户端主要要由新增增员工模模块、员员工离职职模块、员员工升职职模块、请请假模块块、加班班模块、数数据分析析模块等等组成,管管理端主主要由员员工管理理模块、工工时管理理模块、绩绩效管理理模块、数数据分析析模块等等组成。运运行本系系统先由由登录界界面窗口口进入用用户权限限认证窗窗口,通通过用户户名和口口令验证证的用户户方可进进入系统统主窗口口进行浏浏览与操操作。客户端:(1)新增增员工模模块:只有HHR与领领导可以以查看所所有的员员工信息息,并且且HR可可以在此此模块中中,新增增新入职职的员工工信息。(2)员工工离职模模块:所所有员工工都可以以看到此此菜单,但但是只能能查看到到与自己己有关的的离职流流程。其其他流程程不能查查看与修修改。员员工提出出离职的的申请,并并提交给给其领导导进行审审核。(3)员员工升职职模块::所有员员工都可可以看到到此菜单单,但是是只能查查看到与与自己有有关的升升职流程程。其他他流程不不能查看看与修改改。员工工提出升升职的申申请,并并提交给给其领导导进行审审核。(4)请请假模块块:所有有员工都都可以看看到此菜菜单,但但是只能能查看到到与自己己有关的的请假流程程。其他他流程不不能查看看与修改改。员工工提出请请假的日日期与申申请,并并提交给给其领导导进行审审核。(5)加加班模块块:所有有员工都都可以看看到此菜菜单,但但是只能能查看到到与自己己有关的的加班流程程。其他他流程不不能查看看与修改改。员工工在前一一天或这这个月内内,有加加班的情情况,可可以提出出加班申申请,交交由其领领导进行行核实,如如果加班班申请通通过,则则本月的的工时,有有相应的的增加。(6)数数据分析析模块::领导可可以查看看此菜单单,领导导可以通通过图表表的形式式,查看看到公司司最近动动态与相相应的数数据动态态。管理端:(1)员工工管理模模块:HR与与领导对对员工的的添加、修修改、查查看和删删除。(2)工时时管理模模块:工工时的填填写、修修改、查查看和删删除。(3)绩效效管理模模块:绩绩效的查查看、新新增和删删除。(4)数据据分析管管理模块块:领导导查看。2.2系系统功能能结构根据2.11节的系系统功能能分析可可知“网网新恒天天人事管管理系统统”包括括新增员员工模块块、员工工离职模模块、员员工升职职模块、请请假模块块、加班班模块、数数据分析析模块等等模块,其其功能结结构图如如图2..1所示示。图2.1系统功功能结构构图2.3功能能描述和和用例分分析用例用于表表示系统统所提供供的服务务,它定定义了系系统是如如何被参参与者所所使用的的,它描描述的是是参与者者为了使使用系统统所提供供的某一一完整功功能而与与系统之之间发生生的一段段对话。根根据分析析,下面面将列出出本系统统的系统统用例图图。2.3.11系统用用例图系统用例图图主要是是用来描描述系统统的总体体结构,为为了确保保系统的的安全,只只能是注注册用户户才能访访问前台台,其中中该模块块主要功功能是HHR可以以将员工工录入到到系统中中;员工工可以申申请离职职、升职职、加班班与请假假;领导导可以审审核各种种流程与与查看公公司报表表数据。如下图所示:只能是领导才能访问后台,进行员工申请的流程进行查询、删除与审核并查看相关数据。该系统用例例图如图图2.2所示示。图2.2系系统用例例图2.3.22员工工管理(1)功能能介绍员工管理::为了确确保系统统的安全全,只能能是系统统管理员员才能对对用户进进行管理理,对用用户进行行修改密密码、修修改用户户名、添添加系统统用户、用用户管理理,注销销退出。(2)活动动图如图图2.33所示。图2.3系统员员工管理理活动图图2.3.33工时时管理(1)功能能介绍工时管理::系统管理理员登录录系统后后,可以以对工时时进行填填写和查查看和修改改。(2)活动动图如图图2.4所示。图2.4工工时管理理活动图图2.3.44绩效效管理(1)功功能介绍绍绩效管理::主要是是对绩效效进行添添加,修修改和查查看。(2)活活动图如如图2..5所示。图2.5绩效管理理活动图图2.3.55数据据分析(1)功能能介绍数据分析::主要是是对员工工的数据据进行系系统的分分析,通通过饼图图、树状状图,让让人一目目了然。(2)活活动图如如图2..6所示。图2.6数数据分析析管理活活动图2.3.66流程程管理(1)功能能介绍流程管理::主要根根据员工工提出请请假、加加班、离离职、升升职的申申请,HHR和领领导可以以进行审审核。(2)活动动图如图图2.7所示。图2.7流程管理理活动图图2.4系系统性能能需求本课题主要要是解决决网新恒恒天人事事管理系系统的日日常管理理中所涉涉及到的的基本信信息,目目标是使使企业人人事管理理系统在在管理上上做到数数据的信信息化、快快速化和和网络化化。本系系统主要要包括员员工管理理、工时时管理、绩绩效管理理、数据据分析、流程管理等模块。下面详细介绍这几部分模块的作用及所实现的功能。(1)员工工管理,,员工信信息的录录入、查查询、修修改、删删除,离离职与升升职的申申请。(2)工时时管理,,可以进进行工时时的填写写,请假假与加班班的申请请。(3)绩效效管理,员员工可以以查询自自己的绩绩效,管管理员可可以进行行绩效的的审核、修修改。(4)数据据分析,数数据查看看功能。(5)流程程管理,HHR和领领导对流流程进行行审核。2.4.11时间间需求(1)查查询的最最长等待待时间不不超过55秒;(2)更更新信息息的时间间不超过过5秒;;(3)数数据上传传的时间间不超过过5秒;;2.4.22空间间需求(1)支支持的终终端数::<=110000;(2)支支持的并并行操作作的使用用者数::<=3300;(3)处处理的记记录数::<==100000;;2.5安安全性和和可靠性性(1)每个个角色只只能看到到相应的的菜单,进进行相应应的操作作,无法法越权处处理。(2)在设设计过程程中尽量量避免在在VM页页面上写写代码,提提高系统统的安全全性。优优化代码码,提高高系统的的性能。3系统分分析3.1系系统开发发Veloccityy是一个个基于Javva的的模板引引擎技术术,提供供的模板板语言可可以使用用在JJavaa中定定义的对对象和变变量上。VVeloocitty是是Appachhe基基金会的的项目,开开发的目目标是分分离MMVC模式中中的持久久化层和和业务层层。但是是在实际际应用过过程中,VVeloocitty不不仅仅被被用在了了MVVC的的架构中中,还可可以被用用在以下下一些场场景中。(1)Weeb应应用:开开发者在在不使用用JSSP的的情况下下,可以以用VVeloocitty让让HTTML具有动动态内容容的特性性。(2)源代代码生成成:Veeloccityy可以以被用来来生成Javva代代码、SSQL或者PosstSccrippt。有有很多开开源和商商业开发发的软件件是使用用Veeloccityy来开开发的。(3)自动动Emmaill:很多多软件的的用户注注册、密密码提醒醒或者报报表都是是使用Vellociity来自动动生成的的。使用用Veeloccityy可以以在文本本文件里里面生成成邮件内内容,而而不是在在Jaava代码中中拼接字字符串。(4)转换换xmml:VVeloocitty提提供一个个叫AAnakkia的aant任务,可可以读取取XMML文文件并让让它能够够被VVeloocitty模模板读取取。一个个比较普普遍的应应用是将将xddoc文档转转换成带带样式的的HTTML文件。JavaBBeann是用JJavaa语言编编写的可可重用软软件组件件,类似似于Miicroosofft的CCOM组组件,可可以通过过可视化化的构建建工具来来创建。JJavaaBeaan可以以嵌入到到Appplett小程序序、应用用程序、SServvlett和复合合组件中中。编写写JavvaBeean组组件的方方法同编编写其他他Javva类一一样,可可以利用用已有的的组件、AAppllet程程序或者者Javva类,并并把它们们转换为为JavvaBeean。由由于JaavaBBeann是基于于Javva语言言的,因因此JaavaBBeann不依赖赖平台。它它具有独独立性、易编写写、易使使用、易易维护,可以在在任何安安装了JJavaa运行环环境的平平台下使使用,而而不需要要重新编编译等特特点。“JavaaEE企企业人事事管理系系统”选择采采用的是是JavvaBeean++serrvlee技术。本本系统中中Proocesss、RRoleeEmpp、Roole、UUserr等seervlle,来来通过对对业务的的访问并并进行处处理,然然后将处处理结果果返回,并并根据返返回的字字符串,跳跳转到相相应的vvm页面面;或返返回相应应的对象象,通过过相应的的技术,将将对象转转换成相相应的JJSONN字符串串,交与与前面进进行解析析,显示示出需要要显示的的数据。3.2系系统开发发需求(1)性能能要求整个系统应应当操作作简便,界界面友好好,维护护简便。数数据库要要求运行行稳定,执执行速度度快,数数据安全全性高。软软件系统统本身运运行对计计算机硬硬件平台台和操作作系统平平台要求求适中。(2)安安全和保保密要求求系统对不同同权限的的用户提提供不同同的功能能模块,对对历史数数据的更更改和新新数据的的添加只只有管理理员才能能进行操操作,一一般的用用户只能能进行查查看。对对数据库库的关键键数据应应要保密密。3.3系系统开发发与运行行环境设设计3.3.11软件件环境(1)操操作系统统:Wiindoows220000/XPP/20003或或更高版版本(2)数数据库::MyySQLL5..7(3)WWEB容容器:TTomccat77.0JDKK1.77或更高高版本3.3.22硬件件环境(1)运运行内存存:2556MBB或更高高(2)磁磁盘容量量:5112MBB或更高高(3)其其它:鼠鼠标、键键盘。4系统设设计4.1数数据库设设计MySQLL是一种种开放源源代码的的关系型型数据库库管理系系统,MMySQQL数据据库系统统使用最最常用的的数据库库管理语语言结构化化查询语语言进行行数据库库管理。它在WEBB应用方方面MMySQQL是最最好的RRDBMM应用软软件之一一。MyySQLL是一种种关联数数据库管管理系统统,关联联数据库库将数据据保存在在不同的的表中,而而不是将将所有数数据放在在一个大大仓库内内,这样样就增加加了速度度并提高高了灵活活性。MMySQQL所使使用的SSQL语语言是用用于访问问数据库库的最常常用标准准化语言言。MyySQLL软件采采用了双双授权政政策,它它分为社社区版和和商业版版,由于于其体积积小、速速度快、总总体拥有有成本低低,尤其其是开放放源码这这一特点点,一般般中小型型网站的的开发都都选择MySSQL作作为网站站数据库库。4.1.11实体体类抽象象本系统设计计的实体体包括::员工信信息、角角色、流流程、工工时管理理、工资资管理,将它们以及它们之间的关系抽象出来,并绘制成ER图,如图4.1所示。4.1.22系统统ER图图系统的实体体包括::员工信信息、角角色、流流程、工工时管理理、工资资管理,,系统EER图如如图4..1所示示。图4.1系统EER图4.1.33数据据库连接接配置配配置文件件(1)数数据库的的配置参参数(##表示注注释,DDBCoonn..javva)#加载驱动动Classs.foorNaame((“comm.myysqll.jddbc..Driiverr”);#连接数据据库jdbc..urll=jddbc::myssql:://1127..0.00.1::33006/ffangghu#用户名jdbc..useernaame==fannghuu#登录密码码jdbc..passswoord==123345664.2数数据库的的选择本系统使用用MySQLL关系型型数据库库,MyySQLL5.77能提供供中小型型系统所所需要的的数据库库服务。MMySQLL拥有一一个非常常快速而而且稳定定的基于于线程的的内存分分配系统统,可以以持续使使用面不不必担心心其稳定定性。它它可以运运行在不不同的操操作系统统下,提提高了系系统的可可移植性性。MySQLL的核心心程序采采用完全全的多线线程编程程。线程程是轻量量级的进进程,它它可以灵灵活地为为用户提提供服务务,而不不过多的的系统资资源。4.3数数据库表表的设计计数据库表有有员工表表、员工工等级表表、员工工基本薪薪资、员员工的工工作时表表和请假假表。数数据表如如表4..1-44.5所所示。员工表(eemp)如如表4..1所示示。表4.1员员工表(empp)名称类型是否为空默认值属性备注emp_iidint(111)Notnnulll无AUTO__INCCREMMENTT员工IDemp_nnameeVarchhar((50))null无无员工姓名emp_ssexchar(1)null无无员工性别emp_sstattuschar(1))null无无员工状态emp_iidcoodeVarchhar((18))null无无员工身份证证号码(118位)emp_tteleephoonevarchhar((13))null无无员工手机号号emp_aaddrresss_pvarchhar((50))null无无员工地址(省省份)emp_aaddrresss_cvarchhar((50))null无无员工地址(市市)emp_ttypeechar((1)null无无员工类型emp_ppasssworrdvarchhar((50))null无无员工z登录录密码emp_lleadder__idvarchhar((50))null无无领导人IDD(2)员员工等级级表(eemp__graade)如如表4..2所示。表4.2员员工等级级表(eemp__graade)名称类型是否为空默认值属性备注emp_ggradde_iidint(111)Notnnulll无AUTO__INCCREMMENTT员工等级IIDemp_iidint(111)Notnnulll无无员工IDemp_ggradde_aachar((1)null无无员工等级AA(A::高级;;B:中中级;CC:低级级)emp_ggradde_bbchar((1)null无无员工等级BBemp_ggradde_uutVarchhar((50)null无无员工等级更更新时间间(yyyyy--MM--dd)(3)员工基基本薪资资(emmp_ssalaary)如如表4..3所示。表4.33员工基基本薪资资(emmp_ssalaary)名称类型是否为空默认值属性备注emp_ssalaary__idint(111)Notnnulll无无员工薪资表表IDemp_iidint(111)null无无员工IDemp_ssalaarydoublle(111,22)null无无员工基本薪薪资(4)员工的的工作时时表(eemp__worrk_ttimee)如表表4.44所示。表4.4员员工的工工作时表表(emmp_wworkk_tiime)名称类型是否为空默认值属性备注emp_wworkk_tiimeint(111)Notnnulll无无工作时间IIDemp_iidint(111)null无无员工IDwrok__datte_yyvarchhar((4)null无无工作时间work__datte_mmvarchhar((2)null无无工作时间work__timmedoublle(66,1))null无无员工工作时时间(5)请假表(leaave__timme)如如表4..5所示。表4.5请请假表(leave_time)名称类型是否为空默认值属性备注leavee_tiime__idint(111)Notnnulll无uniquue请假表IDDemp_iidint(111)null无无员工IDleavee_tiime__datte_yyvarchhar((4)null无无请假时间(年年)leavee_tiime__datte_mmvarchhar((2)null无无请假时间(月月)leavee_tiimessdoublle(110,22)null无无请假小时leavee_deesvarchhar((10224)null无无请假理由statuusvarchhar((1)null未发货无是否有效end_ttimeevarchhar((50))null无无结束时间startt_tiimevarchhar((50))null无无起始时间proceess__idvarchhar((50))null无无流程ID4.4系系统详细细设计4.4.11登录录模块设设计用户登录,用用户可以以对自己己的信息息进行查查看、修修改,查查看自己己的流程程。整个个过程如如图4.2所示。图4.2用用户程序序流程图图4.4.22HRR新增用用户、员员工离职职、升职职模块设设计新增用户模模板主要要是HRR完成用用户的新新增过程程。用户首先登登录网站站,验证证是否注注册,若若未注册册需要HHR新增增该用户户,若已已注册便便可以登登录,如如果该用用户的角角色是HHR,那那么该用用户就可可以看到到用户管管理的页页面,并并可以进进行新增增用户的的操作。在用户新增增界面中中,HRR可以填填写需要要新增用用户的基基本信息息与该用用户的领领导。整个过程如如图4.3所示。图4.3HR新新增用户户流程图图员工个人可可以进入入系统,进进入流程程管理的的界面,并并提交离离职流程程,提交交给员工工对应的的领导,整整个过程程如图44.4所示。图4.4员员工离职职流程图图员工个人可可以进入入系统,进进入流程程管理的的界面,并并提交升升职流程程,提交交给员工工对应的的领导,整整个流程程如图44.5所示。图4.5员员工升职职流程图图4.4.33员工工工时填填写模块块设计员工个人可可以进入入系统,并并进入工工时填写写页面,可可能填写写本月的的工时信信息,并并提交给给领导进进行审核核。具体体过程如如图4.6所示。图4.6员员工工时时填写流流程图4.4.44员工工请假、加加班模块块设计员工个人可可以进入入系统,进进入流程程管理的的界面,并并提交请请假流程程,提交交给员工工对应的的领导,整整个流程程如图44.7所示。图4.7员员工请假假流程图图员工个人可可以进入入系统,进进入流程程管理的的界面,并并提交加加班流程程,提交交给员工工对应的的领导,整整个流程程如图44.8所示。图4.8员员工加班班流程图图5系统实实现5.1登登录界面面及主界界面模块块的实现现(1)图形形界面系统登录界界面如图图5.1所所示。图5.1系系统登录录界面系统主界面面如图55.2所示。图5.2主主界面(2)设计计说明运行本系统统将展示示出图55.1所示示的界面面,即登登录界面面。使用用者输入入合法的的用户名名和密码码进行登登录,会会员与管管理员登登陆需要要输入用用户名及及密码,然然后将这这二个参数数传到后后台进行行处理,同同时去数数据库中中进行查查询匹配配看是否否有匹配配的信息息然后将将信息返返回回去去,如果果有则进进入系统统,如果果没有则则提示管管理员您您输入的的用户名名或密码码失败,请请输入正正确的信信息进行行登陆,将将展示出出图5..2所示示的界面面。主要方法代代码如下下:@RequuesttMapppinng(vvaluue=="//doLLogiin"))@RespponsseBoodypubliicRResuultDDtodoLLogiin(MModeelmmodeel,@ReequeestBBodyyEmmpDttoeempDDto,,SeervlletRRespponsserrespponsse,SerrvleetReequeestreqquesst)thrrowssIOOExccepttionn{//获得得在下面面代码中中要用的的reqquesst,rrespponsse,ssesssionn对象HttpSServvlettReqquesstsservvlettReqquesst==(HHttppSerrvleetReequeest))reequeest;;HttpSSesssionnseessiion=sservvlettReqquesst.ggetSSesssionn();;booleeancheeckOOutLLogiin==iEEmpSServvicee.chheckkOuttLoggin((emppDtoo);Map<SStriing,,Sttrinng>errrorMMap=nnewHasshMaap<SStriing,,Sttrinng>(();Strinngeerroor==""";try{{SecurrityyConntexxt.llogiin(eempDDto..gettEmppNamme()),emmpDtto.ggetEEmpPPasssWorrd()),ffalsse);;}cattch(AcccouuntEExceeptiione){errorr=e.ggetMMesssagee();;errorrMapp.puut(""useerNaame"",eerroor);;returrnRResuultDDtoFFacttoryy.tooNacck(eerroor,errrorMMap));}cattch(CrredeentiialssExccepttionne)){errorr="密码码错误,,还剩""+5++"次次机会"";errorrMapp.puut(""passswoord"",eerroor);;returrnRResuultDDtoFFacttoryy.tooNacck(eerroor,errrorMMap));}cattch(AuutheentiicattionnExccepttionne)){SysPaaraDDtosyssParraDtto==neewSSysPParaaDtoo();;sysPaaraDDto..settParraNaame(("loockTTimee");;List<<SyssParraDtto>lisstLoock=ssysPParaaSerrvicce.ffinddParraSeelecct(ssysPParaaDtoo);Strinngpparaa;intpparaaIntt=10;;if(SStriingUUtill.issLisstNootNuull((lisstLoock))){{para=llisttLocck.gget((0)..gettParra());paraIInt=IInteegerr.paarseeIntt(paara));}sysPaaraDDto..settParraNaame(("LooginnFaiilurreCoountt");;List<<SyssParraDtto>lisstLooginn=syssParraSeerviice..finndPaaraSSeleect((syssParraDtto);;StrinngffaillStrringg;intffaillIntt=5;if(SStriingUUtill.issLisstNootNuull((lisstLooginn)){failSStriing=llisttLoggin..gett(0)).geetPaara(();failIInt=IInteegerr.paarseeIntt(faailSStriing));}errorr="密码码已输错错"++faailIInt+""次,该该账户已已被冻结结,请在在"++paaraIInt+""分钟后后尝试登登录";;errorrMapp.puut(""useerNaame"",eerroor);;returrnRResuultDDtoFFacttoryy.tooNacck(eerroor,errrorMMap));}Subjeectsubbjecct==SeecurrityyUtiils..gettSubbjecct());if(!!cheeckOOutLLogiin){ResulltDttorresuultDDto=RResuultDDtoFFacttoryy.tooNacck(""登录失失败",,""");returrnrresuultDDto;;}elsse{{empDtto==iEEmpSServvicee.fiindEEmpDDtoBByEmmpNaame((emppDtoo.geetEmmpNaame(());;sessiion..settAtttribbutee("eempDDto"",eempDDto));modell.adddAtttriibutte(""emppNamme",,emmpDtto.ggetEEmpNNamee()));ResulltDttorresuultDDto=RResuultDDtoFFacttoryy.tooAckk("登登录成功功","/uuserr/oppenFFirsstPaage"");returrnrresuultDDto;;}}5.2员员工管理理模块的的实现(1)图图形界面面员工入职、离离职、升升职。当当员工进入入本系统统后,进进行如下下操作将将展示出出图5..3员工入入职、图图5.4员工离离职、图图5.55员工升升职。图5.3员员工入职职图5.4员员工离职职图5.5员员工升职职(2)设设计说明明员工管理主主要包括括员工入入职、离离职、升升职。员员工可根根据图55.3所展展示的界界面进行行员工入入职的查查询、添添加和删删除操作作。根据据图5..4所展展示的界界面进行行员工升升职的查查询、添添加和删删除操作作。根据据图5..5所展展示的界界面进行行员工升升职的查查询、添添加和删删除操作作。主要要方法实实现代码码如下::@RequuesttMapppinng(vvaluue=="//opeenEmmpPaage"")publiicSStriingopeenEmmpPaage((Moddelmoddel)){try{{List<<EmppDtoo>eempDDtoss=iEmmpSeerviice..finndAlllEmmp(nnewEmppDtoo()));modell.adddAtttriibutte(""emppDtooLisst",,emmpDttos));modell.adddAtttriibutte(""mennuArrrayy",newwSttrinng[]]{"员员工管理理",""员工入入职"}});loggeer.iinfoo("ddnall");;}cattch(Exxcepptioonee){{loggeer.eerroor(""错误"");}returrn""pagge/uuserr/emmpLiist"";}@RequuesttMapppinng(vvaluue=="//opeenAdddEmmpPaage"")publiicSStriingopeenAdddEmmpPaage((Moddelmoddel)){List<<EmppDtoo>eempDDtoLListt=emppDaoo.fiindAAllLLeadder(();modell.adddAtttriibutte(""emppDtooLisst",,emmpDttoLiist));returrn""pagge/uuserr/adddEmmp";;}@RequuesttMapppinng(vvaluue=="//finndAlllEmmp",,meethood==ReequeestMMethhod..POSST)@RespponsseBoodypubliicRResuultDDtofinndAlllEmmp(@@ReqquesstBoodyEmppDtooemmpDtto){try{{List<<EmppDtoo>eempDDtoss=iEmmpSeerviice..finndAlllEmmp(eempDDto));for(EEmpDDtoemppDtoo2:eempDDtoss){if(SttrinngUttil..isNNotNNulll(emmpDtto2..gettEmppSexx()))){empDtto2..settEmppSexx(EnnumHHelpper..traansllatee(EmmpSeexEnnum..claass,,emmpDtto2..gettEmppSexx())).geetTeext(());;}}loggeer.iinfoo("成成功"));returrnRResuultDDtoFFacttoryy.tooAckk("成成功",,emmpDttos));}cattch(Exxcepptioonee){{loggeer.eerroor(""错误"");e.priintSStacckTrracee();;returrnRResuultDDtoFFacttoryy.tooNacck(""NACCK"));}}publiicLListt<EmmpDtto>finndAlllEmmp(EEmpDDtoemppDtoo){{List<<EmppDtoo>eempLListt=emppDtooMappperr.fiindAAllEEmp((emppDtoo);returrneempLListt;}<seleectid=="fiindAAllEEmp""paarammeteerTyype=="coom.ffangghu..dtoo.usser..EmppDtoo"rresuultMMap=="BaaseRResuultMMap"">SELECCT<<inccludderrefiid=""Basse_CColuumn__Lisst"/>FROMemppwhheree1==1<ifttestt="eempNNamee!=='''anndeempNNamee!==nuull"">andeemp__nammellikee'%%${eempNNamee}%''</if>><ifttestt="eempSSex!=''anddemmpSeex!!=nnulll">aandempp_seex==#{{emppSexx}</if>><ifttestt="eempIIdcoode!=''anddemmpIddcodde!!=nnulll">andeemp__idccodeeliike'%$${emmpIddcodde}%%'</if>><ifttestt="eempTTeleephoone!=''anddemmpTeelepphonne!!=nnulll">andeemp__tellephhoneeliike'%$${emmpTeelepphonne}%%'</if>><ifttestt="eempAAddrresssP!!='''aandemppAdddresssP!=nulll">>andeemp__adddresss_pp=#{eempAAddrresssP}</if>><ifttestt="eempAAddrresssC!!='''aandemppAdddresssC!=nulll">>andeemp__adddresss_cc=#{eempAAddrresssC}</if>>orderrbyyemmp_iid</sellectt>5.3工工时填写写模块的的实现(1)图图形界面面工时填写进进行填写写工时,查查询与删删除。当当员工进进入本系系统后,进进行如下下操作,将将展示出出图5..6工时填填写。图5.6工工时填写写(2)设设计说明明工时填写进进行填写写工时,查查询与删删除。当当员工进进入本系系统后,对工时信息进行管理,将展示出图5.6工时填写。主要方法的的实现代代码如下下:@RequuesttMapppinng(vvaluue=""gbiin1sscheedulle"))publiicSStriinggbiin1sscheedulle(MModeelmmodeel){{//retturnn"ddevaappwwithhfulllcaanleendaar/ggbinn1sccheddulee";//领导EmpDttoeempDDto=iiEmppSerrvicce.ffinddEmppDtooByEEmpIId(WWebUUtill.geetSeessiionUUserr()..gettEmppLeaaderrId(());;modell.adddAtttriibutte(""leaaderr",emppDtoo);returrn""devvapppwitthfuullccanllenddar//timme";;}@RequuesttMapppinng(vvaluue=""finndWoorkTTimee")@RespponsseBoodypubliicRResuultDDtofinndWoorkTTimee(){{Map<SStriing,,Strringg>mmap=nnewHasshMaap<SStriing,,Strringg>());map.pput(("emmpIdd",WebbUtiil.ggetSSesssionnUseerIdd()++""));Strinngmmontth==DaateUUtill.geetMoonthh(neewDDatee()))+""";if(moonthh.leengtth())==11){monthh="0""+moonthh;}map.pput(("moonthh",monnth));List<<WorrkTiimeDDto>>woorkTTimeeDtooLisst==iWWorkkTimmeSeerviice..finndWoorkTTimee_M((mapp);if(SttrinngUttil..isNNulll(woorkTTimeeDtooLisst)||worrkTiimeDDtoLListt.siize(()<==0){{returrnRResuultDDtoFFacttoryy.tooNacck(""没有数数据",,woorkTTimeeDtooLisst);;}returrnRResuultDDtoFFacttoryy.tooAckk("存存在数据据",worrkTiimeDDtoLListt);}@RequuesttMapppinng(vvaluue=""savveWoorkTTimee")@RespponsseBoodypubliicRResuultDDtosavveWoorkTTimee(@RRequuesttBoddyWWorkkTimmeDttowworkkTimmeDtto){{try{{iWorkkTimmeSeerviice..savveWoorkTTimee(woorkTTimeeDtoo);returrnRResuultDDtoFFacttoryy.tooAckk("保保存成功功");;}cattch(Exxcepptioonee){{returrnRResuultDDtoFFacttoryy.tooNacck(""保存失失败"));}}5.4工工时管理理模块的的实现(1)图图形界面面工时管理进进行增加加,修改改,删除除。当员员工进入入本系统统后,进进行如下下操作,将将展示出出图5..7员工加加班管理理、图55.8加班申申请、图图5.9领导审审核加班班信息。图5.7员员工加班班管理图5.8加加班申请请图5.9领领导审核核加班信信息(2)设设计说明明加班管理进进行增加加,审核核,删除除。当员员工进入入本系统统后,对对加班信信息进行行管理,将将展示出出图5..7员工加加班管理理、图55.8加班申申请、图图5.9领导审审核加班班信息。主要方法的的实现代代码如下下:@RequuesttMapppinng(vvaluue=""doEEmpOOutIInfoo")@RespponsseBoodypubliicRResuultDDtodoEEmpOOutIInfoo(@RRequuesttBoddyPProccesssDtooprroceessDDto)){try{{iProccesssSerrvicce.aaddEEmpOOutIInfoo(prroceessDDto));returrnRResuultDDtoFFacttoryy.tooAckk("新新增流程程成功"");}cattch(Exxcepptioonee){{e.priintSStacckTrracee();;returrnRResuultDDtoFFacttoryy.tooNacck(""新增流流程失败败");;}}@RequuesttMapppinng(vvaluue=""cheeckPProccesss/{iid}"")publiicSStriingcheeckPProccesss(@PPathhVarriabbleStrringgidd,Moddelmoddel)){ProceessDDtoproocesssDtto==iPProccesssSerrvicce.ggetPProccesssByIId(iid);;EmpDttoeempDDto=iiEmppSerrvicce.ffinddEmppDtooByEEmpIId(pproccesssDtoo.geetPrroceessTTo())+""");proceessDDto..settProocesssTooNamme(eempDDto..gettEmppNamme()));empDtto==iEEmpSServvicee.fiindEEmpDDtoBByEmmpIdd(prroceessDDto..gettEmppId(()+""");;proceessDDto..settEmppNamme(eempDDto..gettEmppNamme()));proceessDDto..settProocesssSttatuusSttr(EEnummHellperr.trransslatte(PProccesssStaatussEummn.cclasss,proocesssDtto.ggetPProccesssStaatuss())).geetTeext(());;modell.adddAtttriibutte(""proocesssDeetaiil",,prroceessDDto));if("AA".eequaals((proocesssDtto.ggetPProccesssTyppe()))||"BB".eequaals((proocesssDtto.ggetPProccesssTyppe()))){{switcch((proocesssDtto.ggetPProccesssTyppe())){{case"A"":LeaveeTimmeDttolleavveTiimeDDto=lleavveTiimeDDtoMMappper..sellecttByPProccesssId((proocesssDtto.ggetPProccesssId(());;modell.adddAtttriibutte(""leaaveTTimeeDtoo",leaaveTTimeeDtoo);breakk;case"B"":OverTTimeeDtooovverTTimeeDtoo=oveerTiimeDDtoMMappper..sellecttByPProccesssId((proocesssDtto.ggetPProccesssId(());;modell.adddAtttriibutte(""oveerTiimeDDto"",ooverrTimmeDtto);;breakk;}}returrn""pagge/pproccesss/chheckkProocesss";;}@RequuesttMapppinng(vvaluue=""passsPrroceess"")@RespponsseBoodypubliicRResuultDDtopasssPrroceess((@ReequeestPParaamSStriingproocesssIdd,Moddelmoddel)){iProccesssSerrvicce.uupdaatePProccesssStaatuss(prroceessIId);;returrnRResuultDDtoFFacttoryy.tooAckk("通通过流程程");;}@RequuesttMapppinng(vvaluue=""savvePrroceess"")@RespponsseBoodypubliicRResuultDDtosavvePrroceess((@ReequeestBBodyyPrroceessDDtoproocesss,MModeelmmodeel){{try{{iProccesssSerrvicce.ssaveeRetturnnProocesss(pproccesss);returrnRResuultDDtoFFacttoryy.tooAckk("保保存成功功");;}cattch(Exxcepptioonee){{e.gettStaackTTracce());returrnRResuultDDtoFFacttoryy.tooNacck(""保存失失败"));}}@RequuesttMapppinng(vvaluue=""sellecttProocesss"))@RespponsseBoodypubliicRResuultDDtosellecttProocesss(@@ReqquesstBoodyProocesssDttopproccesssDtoo,MModeelmmodeel){{List<<ProocesssDtto>ressulttDtoo=iPrroceessSServvicee.fiindPProccesssByEEmp((proocesssDtto);;if(SttrinngUttil..isNNulll(reesulltDtto)||ressulttDtoo.siize(()<==0){{returrnRResuultDDtoFFacttoryy.tooNacck(""没有数数据",,reesulltDtto);;}for(PProccesssDtood::ressulttDtoo){d.settProocesssSttatuus(EEnummHellperr.trransslatte(PProccesssStaatussEummn.cclasss,d.ggetPProccesssStaatuss())).geetTeext(());;EmpDttoeempDDto=eempDDao..sellecttByPPrimmaryyKeyy(d..gettEmppId(());;d.settEmppNamme(eempDDto..gettEmppNamme()));empDtto==emmpDaao.sseleectBByPrrimaaryKKey((d.ggetPProccesssTo(());;d.settProocesssTooNamme(eempDDto..gettEmppNamme()));}returrnRResuultDDtoFFacttoryy.tooAckk("存存在数据据",ressulttDtoo);}6系统测试试6.1登录录模块的的测试1测试问题题单项目编号::测试类别::集成测测试序号:产品标识GradPProjjectt产品中文标标识基于JavvaEEE的网新新恒天人人事管理理系统的的设计与与实现第几次测试试1测试工程师师胡芳测试模块//功能//性能系统登录测试记录单单测试时间2016/55/1问题记录序号故障现象级别处理人处理时间处理说明1没有输入密密码的情情况也能能进入系系统,如如图图66.1、图图6.22所示中胡芳2016/55/1已处理图6.11不输输入密码码图6.22登录此此系统2问题严重重度描述述如REF_Ref420066471\h表6.1所示::表6.SEQ表\*ARABIC\s111问题严严重度描描述表级别描述高如使系统崩

温馨提示

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

评论

0/150

提交评论