OA协同办公自动化人力资源管理系统_第1页
OA协同办公自动化人力资源管理系统_第2页
OA协同办公自动化人力资源管理系统_第3页
OA协同办公自动化人力资源管理系统_第4页
OA协同办公自动化人力资源管理系统_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

wordword/wordOA办公自动化系统软件系统管理研究——人力资源管理模块开发摘要随着信息技术的不断开展,企业现有的人工管理模式已不能满足企业的开展,企业协同办公自动化系统的出现已成为必然。其不仅能改善公司办公条件,减轻工作人员负担,提高办公质量和工作效率,还能加快公司工作规X化、科学化、网络化的进程。针对企业要求,使用JSP、Struts、Hibernate、Spring与Ibatis等技术开发一个基于Web的企业协同办公自动化系统。本系统一共分为十一个模块:人事信息管理、短消息管理、提醒器设置、日程管理、工作日志管理、工作计划管理、数据字典、部门管理、岗位管理、职位管理、权限管理、用户管理。超级管理员可以根据不同职位创建不同的角色,为用户灵活的分配系统功能权限。关键词B/S结构,MVC设计模式,JSP网页技术标准,OA协同办公系统ABSTRACTAlongwiththedevelopmentoftheinformationtechnology,thelabourmanagementmodelofenterprisecannotsatisfythedevelopmentoftheenterpriseatthepresenttime,sotheappearanceoftheofficeautomationsystembeeinevitable.Thesystemcanimprovetheworkingconditions,reducethestaff'sburden,improveworkqualityandefficiency,canalsoquickentheprocessofstandardization,scientizationandnetwork.Forrequirementsoftheenterprise,usethetechnologyaboutJSP,Struts,Hibernate,SpringandIbatistodevelopaofficeautomationsystembasedonweb.Thesystemhaselevenmodules.Therearethemanagementofpersonnelinformation,themanagementofshortmessages,remindersetttings,themanagementofdailyworkplan,themanagementofdatadictionary,themanagementofdepartment,themanagementofpost,themanagementofduty,themanagementofpowersandthemanagementofusers.Theadministratorcancreatedifferentrolesfordifferentpositionsbycharactersandcanasigntheresourceofpermissionflexiblely.KeyWords:Browser/Server,ModelViewController,JavaServerPage,OfficeAutomationSystem目录目录31.绪论8课题意义8课题目的8技术要求8可行性分析92.需求分析10概述10项目名称10开发背景10项目目标10任务说明11人事信息管理11需求分析12人事信息管理123.总体设计18概述18系统总拓扑图19系统功能清单19环境搭建204.系统设计21开发与运行环境21数据库设计21人员家庭表(t_ico_stafffamily)22人员信息表(t_ico_staffinfo)22人员奖惩记录表(t_ico_staffreward)24个人简历表(t_ico_staffvitae)24实体描述245.系统程序设计25人事信息25个人人事信息管理25人事变动记录管理27离职人员信息管理29参考文献30答谢31附录32随着世界经济一体化进程的加快,世界经济从工业化的经济逐步进入网络信息的时代。各个企业都转变着自己企业的经营与管理模式,从传统的人工管理向信息自动化管理体制过渡。企业传统式的办公管理模式也在逐步向自动化办公管理模式转变。通过对企业内部信息进展全面的自动化的管理,提高企业的办公效率;管理和统计企业生产经营中的数据,防止人为处理各类数据时所产生问题,提高企业的经济效益,使企业的管理达到到科学化、系统化的X畴。本课题是为了给现在的企业提供一个信息化平台,有效提高公司内部各级部门、员工沟通、协调能力;规X化、标准化公司各项业务流程、管理流程;提高日常工作效率,快速使用文件、报告或报表;公司领导、部门主管随时随地掌握、了解员工的工作状态;利用信息化自动办公平台为公司领导、部门主管提供准确的信息和资料,提高经营者第一时间的决策能力。JAVA:熟悉java面向对象编程的思路;WEB网页设计:能够熟练操纵网页的表单元素、JavaScript脚本(jQuery)以与CSS样式表;JSP根底:能够使用JSP进展网页排版以与结合Struts标签综合应用;Spring、Hibernate、Struts、Ibatis框架根底:理解MVC设计模、Struts拦截器原理、Struts标签的应用以与持久化层Hinernate与Ibatis的应用;Oracle数据库:能收熟练使用Oracle:安装、配置、使用Oracle数据库。可行性分析是依据初步调查的结果作出系统开发可行性与否的结论的过程。可行性分析是为了论证系统开发是否可行。为实现系统目标,需要技术保证。此系统开发所需要的技术主要有计算机硬件、软件技术、系统开发人员的水平、用户管理与使用的能力等。在选择使用JSP还是ASP开发的时候,考虑到JSP的一下优点,选择了JSP作为web开发语言。JSP是Java平台的一局部。ASP技术不能轻易的实现跨平台的web服务工作,只能在windows上它运行。而Java可以运行在不同的环境,如Linux,Windows上。Linux的安全性和稳定性也是选择Jsp作为web开发的重要原因。ASP仅支持组建对象模型,而JSP技术提供的组建都是基于JavaBean技术或JSP标签库,用户许多可重用的类库,大大的方便了web法人开发。JSP开发web比ASP更加灵活,可扩展性更强,便于以后的维护和二次开发。OA协同办公自动化系统编写需求说明的核心源于企业需求,为明确软件开发的最终目的,使开发出来的系统能够更好的达到企业信息化建设的需求,使目标系统提供的功能与企业需求达成一致。对于企业:重点在于清楚的表达企业提出的需求,如何理解企业机构部门、业务关系,让企业确认我们的表达和描述是符合客户的需求。对于开发人员:开发人员、项目经理、营销人员、员工、测试人员,重点告诉他们系统需要具有哪些功能,有哪些对象,对象有哪些属性,对象之间有哪些关系,更清楚的了解企业的真正需要,从理解的角度开发产品,真正服务于企业客户。有效提高公司内部各级部门、员工沟通、协调能力;规X化、标准化公司各项业务流程、管理流程;提高日常工作效率,快速使用文件、报告或报表;公司领导、部门主管随时随地掌握、了解员工的工作状态;利用信息化自动办公平台为公司领导、部门主管提供准确的信息和资料,提高经营者第一时间的决策能力;通过总结归纳后,该软件具备以下四大功能:个人办公管理、根本信息管理、人事信息管理、权限组管理。在需求分析中将详细描述各个功能。2.2.1人事信息管理个人人事信息管理打开添加人事信息界面出现:根本信息、联系方式、教育背景、工作经历、奖惩情况、家庭情况;可以对他们进展添加操作。打开查看人事信息界面出现:某某、员工编号、所属部门〔下拉菜单项选择择〕、担任岗位〔下拉菜单项选择择〕。可以通过下拉菜单对这些字段进展查看,并在界面出现查看的结果。打开统计人事信息界面出现:所属部门、性别、用工类型〔事业编制、企业编制、临时工〕、工龄、最高学历,通过所属部门对这些字段进展查询。打开统计人事信息界面出现:某某、员工编号、所属部门、担任岗位、职务、、操作。通过某某、员工编号、所属部门、担任岗位对这些字段进展复合查询。打开个人详细信息直接可以浏览个人的所有信息。人事变动记录管理打开员工调转管理后通过人员的一些根本信息对此人的离职确定后进展离职。打开查看离职人员后,可以通过人员的一些根本信息对离职人员的记录进展复合查询。离职人员管理打开离职人员管理后通过一些认识条件对离职人员进展查询。2.3.1人事信息管理总体用例图 图1人事信息管理用例图图2普通用户登录用例图总体描述个人登录后,可以填写自己的根本信息,可以保存草稿或者提交,提交以后等待人事专员审批,个人登录系统后可以填写和查看自己的根本资料,如果未填写根本资料,查看自己的详细信息时会提示填写根本资料。填写完人事信息后,可以保存草稿或者提交,提交以后由人事专员进展审批。个人人事信息管理图3添加人事信息用例图员工第一次登录后可添加个人人事信息,系统默认员工工号和某某为该员工登录系统的用户名和真实某某。个人人事信息包括根本信息、联系方式、教育背景、工作经历、奖惩情况、家庭信息,正确填写个人信息后,员工可选择保存草稿或者直接提交,提交以后由人事专员审批。图4查看人事信息用例图进入人事根本信息管理页面,以列表形式显示公司的员工列表,列表分页显示每一位员工的根本情况,可点击某个员工某某查看该员工的详细资料。图5统计人事信息用例图进入统计人事信息页面,可点击所属部门查看该部门所包含的人事信息详细资料。图6人事信息一览表用例图人事专员或管理员登陆系统后,可在人事信息一览表中查看人事信息,并选择导出人事信息一览表或个人履历表,点击某员工的某某可查看该员工的详细信息。图7个人详细信息用例图人事专员或管理员登陆系统后,点击某员工的某某可查看该员工的详细信息。人事变动记录管理图8个人详细信息用例图首先列表显示公司内部的所有未离职的员工列表,点击调转按钮进入员工调转页面。点击某一员工某某可查看该员工的个人根本信息与个人履历信息。选择分配调动的新部门、新岗位和新职务。图9个人详细信息用例图首先列表显示公司内部的所有未离职的员工列表,点击调转按钮进入员工调转页面。点击某一员工某某可查看该员工的个人根本信息与个人履历信息。选择分配调动的新部门、新岗位和新职务。离职人员管理图10查看离职信记录用例图在离职处理完毕后,自动将离职人员资料转移到离职人员管理列表中,人事专员可选择列表中的某一已离职员工查看该员工人事资料、删除其人事资料、将该离职人员复职。本次OA协同办公系统采用基于JAVAWEB的SSH与IBATIS四大框架技术开发。其中贯穿了MVC设计模式、JAVA面向对象思想。如如下图所示:图11系统整体架构图模型表示企业数据和业务规如此。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象Es和ColdFusionponents这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器承受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。图12系统物理架构图图13系统拓扑图表1系统功能明细表名称模块名称功能概述OA办公自动化系统个人办公1:科技园员工日程管理模块〔增,删,改,查功能〕2:站内短信模块〔增,删,改,查功能〕3:代办任务模块〔查看功能,系统自动添加〕4:系统通讯录模块〔系统自动生成,排序功能,查询功能〕5:个人通讯录模块〔增,删,改,查功能〕6:个人桌面设置模块〔增,删,改,查功能〕7:修改个人密码功能8:定时提醒功能9:工作日志管理模块〔增,删,改,查功能〕10:工作计划管理模块〔增,删,改,查功能,工作计划分解〕11:工作汇报管理模块〔增,删,改,查功能〕人事信息1:人事根本信息管理模块〔增,删,改,查功能〕2:员工分配管理模块〔增,删,改,查功能〕3:员工调度管理模块〔增,删,改,查功能〕4:员工离职管理模块〔增,删,改,查功能〕根本信息1:数据字典管理模块〔增,删,改,查功能〕2:部门管理模块〔增,删,改,查功能〕3:岗位管理模块〔增,删,改,查功能〕4:职务管理模块〔增,删,改,查功能〕5:系统日志模块〔查〕权限组1:初始化管理员密码〔administrator密码初始为88888888〕2:角色信息管理模块〔增,删,改,查,授权功能〕3:用户信息管理模块〔增,删,改,查,指定用户角色〕安装Oracle数据库安装Oracle客户端安装PLSQL配置Oracle数据库配置tomcat/java环境变量操作系统:Windows2000/XP/2003Server操作系统;数据库:Oracle;Web服务器:Tomcat5.0;Java环境:JDK1.4;处理器:IntelPentium2GHz或以上的CPU;内存:512MB,建议使用1GB内存;硬盘:硬盘至少有1GB可用空间;本系统数据库采用Oracle10g数据库,使用数据库连接池连接数据库后,通过服务端的JSP环境管理员就可以象对当地数据库一样通过各种界面对数据库进展浏览进展各种功能的显示。数据管理,增加、删除、修改。数据库是数据的存储之处,它是针对特定的需求所整理与组织出的相关信息的汇总处。无论何时,企业都需要高性能、高稳定性和高安全性的服务器操作系统作为信息化的根底构架。企业级的高端应用更离不开数据库的支持。Oracle是一个采用SQL语言的关系型数据库管理系统。它是一个不折不扣的服务器级数据库管理系统,与其它数据库服务器如SQLSERVER、Sybase、Informix等相比它拥有高弹性与多元化的结构,不仅符合业界的需求,更能与现今最重要的互联网严密集成。本系统数据库名称为oasys。数据库oasys中包含29X表。在本系统中,以下字段作为公用字段,即每X表中都包含的字段,在以下就不在赘述。表2默认字段序号字段名称中文说明键别是否为空数据类型备注1id主键PKNotnullNUMBER(19,0)2createTime创建时间NotnullDATE3operateTime操作时间DATE4creator创建人NUMBER(19,0)5operator操作人NUMBER(19,0)6status状态NotnullVARCHAR2(1)7version版本INTEGER(t_ico_stafffamily)该表用于存放人员家庭。表3人事信息表序号字段名称中文说明键别是否为空数据类型备注1STAFFINFOID员工Id关联FKNotnullNUMBER(19)2NAME家庭某某NotnullVARCHAR2(60)3RELATION关系NotnullVARCHAR2(60)4WORKUNIT工作单位FKVARCHAR2(60)5BIRTHDAY出生年月DATE6DUTY职务VARCHAR2(60)7TEL联系方式VARCHAR2(60)9REMARK备注信息VARCHAR2(1000)(t_ico_staffinfo)该表用于存放人员信息。表4人事信息表序号字段名称中文说明键别是否为空数据类型备注1NO员工编号NotnullVARCHAR2(30)2NAME员工某某NotnullVARCHAR2(60)3PHOTO照片VARCHAR2(200)4SEX性别NotnullNUMBER(1)5NATION民族NotnullVARCHAR2(15)6BIRTHDAY出生日期DATE7IDNUM某某号NotnullVARCHAR2(20)9BIRTHPLACE籍贯NotnullVARCHAR2(50)10POLICY政治面貌NotnullVARCHAR2(20)11MARRY婚姻状况NotnullNUMBER(1)12HEALTH健康状况VARCHAR2(150)13GRADUATEDSCH毕业学校VARCHAR2(100)14MAJOR所学专业VARCHAR2(100)15EDUCATIONID最高学历NUMBER(19)16DEGREEID最高学位NUMBER(19)17TITLEID职称NUMBER(19)18SPECIALTY技术特长VARCHAR2(500)19WORKTIME工作时间DATE20WORKAGE工龄NUMBER(3)21ENTRYTIME入职时间DATE22DEPTID所属部门NotnullNUMBER(19)23JOBID岗位NUMBER(19)24DUTYID职务NotnullNUMBER(19)25WORKSTATUSID在职情况NotnullNUMBER(19)26WORKTYPE用工类型NUMBER(19)27SSCADENO社保卡号VARCHAR2(50)28SALARYBANK工资卡VARCHAR2(6029SALARYCARDNO工资卡号VARCHAR2(50)30WORKTEL办公VARCHAR2(20)31EXTTEL办公VARCHAR2(20)32PHONE1手机号1VARCHAR2(20)33PHONE2手机号2VARCHAR2(20)34QQNO1QQ1VARCHAR2(15)35QQNO2QQ2VARCHAR2(15)36EMAIL11VARCHAR2(50)37EMAIL22VARCHAR2(50)38MADDRESS通讯地址VARCHAR2(200)39ZIPCODE邮政编码VARCHAR2(15)40LIVEADDRESS住址VARCHAR2(200)41HOMEADDRESS家庭地址VARCHAR2(200)42EMERGNAME联系人VARCHAR2(60)序号字段名称中文说明键别是否为空数据类型备注43EMERGTEL联系VARCHAR2(20)44RESULT审批结果NUMBER(1)45REMARK备注信息VARCHAR2(1000)46USERID登录IdNUMBER(19)47ISAPPLYNUMBER(1)48REASON申请理由VARCHAR2(1000)(t_ico_staffreward)该表用于存放人员奖惩记录。表5人员奖惩记录表序号字段名称中文说明键别是否为空数据类型备注1STAFFINFOID员工Id关联FKNotnullNUMBER(19)2TIME获奖/处罚时间NotnullDATE3FLAG获奖/处罚标记NotnullNUMBER(1)4CONTENTS获奖处罚记录NotnullVARCHAR2(300)5REMARK备注VARCHAR2(1000)(t_ico_staffvitae)该表用于存放个人简历。表6个人简历序号字段名称中文说明键别是否为空数据类型备注1STAFFINFOID员工Id关联FKNotnullNUMBER(19)2STARTTIME开始时间NotnullDATE3ENDTIME完毕时间NotnullDATE4SCHOOL学校/单位名称NotnullVARCHAR2(60)5MAJOR所学专业NotnullVARCHAR2(60)REWARD所获证书VARCHAR2(150)FLAG教育NotnullNUMBER(1)REMARK备注信息VARCHAR2(1000)ACCESSORY附件信息VARCHAR2(200)根据个人权限,员工可以对人事信息进展操作。如如下图所示:图14添加人事信息界面图添加人事信息代表代码如下〔详细代码见附录〕:this.staffInfoService.queryStaffInfo(staffInfoTemp);根据个人权限,员工可以对查看人事信息进展操作。如如下图所示:图15查看人事信息界面图查看人事信息代表代码如下〔详细代码见附录〕:this.staffInfoService.queryStaffInfoList(staffInfo,this.getPage());根据个人权限,员工可以对统计人事信息进展操作。如如下图所示:图16统计人事信息统计人事信息代表代码如下〔详细代码见附录〕:staffInfoService.queryStaffInfoCount(staffInfoCountVO,this.getPage());根据个人权限,员工可以对人事信息一览表进展操作。如如下图所示:图17人事信息一览表人事信息一览表代表代码如下〔详细代码见附录〕:this.staffInfoService.queryStaffInfoVOList(staffInfoVO,this.getPage());根据个人权限,员工可以对个人详细信息表进展操作。如如下图所示:图18人事信息一览表续图18人事信息一览表个人详细信息代表代码如下〔详细代码见附录〕:this.getServletRequest().setAttribute("isNoInfo","isNoInfo")根据个人权限,员工可以对添加离职记录表进展操作。如如下图所示:图19添加离职记录添加离职记录代表代码如下〔详细代码见附录〕:this.deptExchgService.saveOrUpdate(deptExchg,this.getLoginUserId());根据个人权限,员工可以对查看离职记录表进展操作。如如下图所示:图20查看离职记录查看离职记录代表代码如下:deptExchgService.queryDeptExchg(deptExchgVO,this.getPage());根据个人权限,员工可以对离职信息表进展操作。如如下图所示:图21查询离职信息核心代表代码如下:this.staffInfoService.queryLeftStaffInfo(staffInfo,this.getPage());通过本次对OA协同办公系统的研究,使我学会了很多的Java根底知识,Tomcat5.0技术,数据库:Oracle、SQLserver2005、MySQL,PS,HTML,JSP,Servlet,XML,CVS,Struts,Hibernate,Spring,Ibati文档编写技术,懂得了Web软件开发流程,学会了团队做事,团队生活,以与很多的做人道理,对这次的系统所有应用的知识有着很大的收获。参考文献[1]李钟尉《Java从入门到精通》,:清华大学,2010年。[2]李刚《轻量级JavaEE企业应用实战》,:电子工业,2011年。[3]陆荣幸,郁洲《J2EE平台上MVC设计模式的研究与实现》,2003年。[4]孙卫琴,李洪称《Tomcat与JavaWeb开发技术详解》,:电子工业,2003年。[5]何成万,余秋惠《MVC模型2与软件框架Struts的研究》,:计算机工程,2002年。[6]MartyHall,LarryBrown《Servlet与JSP核心编程〔第2版〕》:清华大学,2004年。答谢我和大家一起做项目,真正的体会到了团队的力量和作用,大学时光即将完毕,通过自己学到了不少知识,在课堂内学会了理论知识,在课堂外和同学们一起做项目,真正意义上的把理论和实际结合起来,使自己的知识得到了巩固,通过四年的学习,使我的人生观,价值观得到了很大的改变,懂得了如何做人,如何做一个在何时何地都受人尊重的人,在团队里我们大家互相帮助,互相信任,在教师的指导下顺利把这份作品研发出来。感谢母校给我们提供了很好的学习环境和研发平台,感谢电气院给我们提供了一切硬件帮助,感谢所有教师给我们提供了各方面的指导和有用信息,特别的感谢王书文院长给我们提供了很好的创作指导和软件开发指导,使我们这个项目能在短短几个月内开发完成,同时也进展了软件测试,是您给了我们这样一个很好的机会,让我们懂得了软件开发,学会了软件开发,最后感谢我们的团队,是你们的无私帮助和奉献,让我懂得了团结就是力量,是你们耐心的讲解和指正,让我的模块顺利完成,再次感谢所有给我们提供帮助的人,谢谢你们的帮助。附录添加人事信息详细代码: publicStringoperateAdd(){ this.queryMap(); try{ List<StaffInfo>staffInfoList=newArrayList<StaffInfo>(); //通过登录人员的id查找人员根本信息 StaffInfostaffInfoTemp=newStaffInfo(); staffInfoTemp.setUserId(this.getLoginUserId()); staffInfoList=this.staffInfoService.queryStaffInfo(staffInfoTemp); //如果不为空,跳到修改页面 if(ListUtils.isNotEmpty(staffInfoList)&&staffInfoList.size()>0){ queryStaffInfoDetails(staffInfoTemp); }else{ return"addAndEdit"; } }catch(Exceptione){ e.printStackTrace(); return"addAndEdit"; } return"addAndEdit"; }查看人事信息详细代码: publicStringoperateQuery(){ try{ this.staffInfoService.queryStaffInfoList(staffInfo,this.getPage()); }catch(Exceptione){ return"query"; } return"query"; }统计人事信息详细代码:publicStringoperateQueryStaffCount(){ try{staffInfoService.queryStaffInfoCount(staffInfoCountVO,this.getPage());for(StaffInfoCountVOs:(List<StaffInfoCountVO>)this.getPage().getPageList()){ if(null!=s){ if(null==s.getName()){ s.setName(""); } } } }catch(Exceptione){ e.printStackTrace(); return"operateQueryCount"; } return"operateQueryCount"; }人事信息一览表详细代码: publicStringoperateQueryExportStaff(){ try{ getServletRequest().setAttribute("titleMap", SelectMap.getStaffInfoTitle(true)); getServletRequest().setAttribute("titleMapDefault", SelectMap.getStaffInfoTitleDefault()); if(null!=this.getServletRequest().getParameter("flag")){this.getServletRequest().setAttribute("flag",getServletRequest().getParameter("flag")); }this.staffInfoService.queryStaffInfoVOList(staffInfoVO,this.getPage()); }catch(Exceptione){ e.printStackTrace(); return"queryExportStaff"; } return"queryExportStaff"; }查询个人详细信息详细代码:publicStringoperateShow(){ try{ List<StaffInfo>staffInfoList=newArrayList<StaffInfo>(); //审批信息 if(null!=staffInfo&&null!=staffInf

温馨提示

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

评论

0/150

提交评论