


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、企业职工信息管理系统的设计与实现报告一.概述随着计算机技术、网络技术和信息技术的发展,越来越多地改善着现代人的观念。 网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用解决方案, 它的主要 目的是实现信息交流和信息共享, 提供协同工作的手段 ,提高办公的效率 , 让人们从繁琐 的有纸办公中解脱出来。 现在我国的许多的机关单位的企业员工信息管理水平还停留在 纸介质的基础上, 这样的机制已经不能适应时代的发展, 因为它浪费了许多人力和物力, 在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代 , 基于这种情 况,我们实验小组研究开发了这套企业员工信息管理系统,希望这套系统能为小
2、型公司 的人事管理带来更多的方便。本软件基于 B/S模式,Tomcat6,mysql5,J2EE5 环境,利用MyEclipse完成J2EE的 企业级技术开发 , 整合 Hibernate3,struts2,spring 三大框架完成的人事管理的系统 .a) Hibernate 完成数据库持久层的开发 , 使整个系统脱离了对底层数据库实现技术的依赖 .b) struts2 完成WEBB的开发,并利用其面向切面的拦截器技术完成权限验证等冋题.c) Spring的IOC容器,利用其依赖注入,控制反转等特性,实现了业务逻辑层与 WEB层的解耦,DAO,SERVICE,ACTION均通过spring管
3、理其逻辑组件与相应的bean.二 . 需求分析1. 功能需求 :a) 实现员工的注册与登陆 , 并具有权限的分级 .b) 新注册的员工并不安排在员工信息中 , 而是放入待审核一栏 , 等待管理员的审核 , 审 核通过 , 分配其职位等信息 , 在此可以通过员工信息查询到该用户 .c) 具有对公司职位的管理功能 , 并且完成此功能需要管理员的权限 .d) 登陆的用户具有查询 , 浏览企业员工详细信息的权限 , 并且可以修改自己的详细信息 一栏,如电话号码 ,登陆密码,年龄等权限 ,但不能修改自身的工作信息 ,如职位,状态,注册时 间等 .e) 管理员可以审核提交注册申请的注册用户 , 可以修改比
4、自己权限级别低的员工的工 作信息 , 分配其职务 , 状态 , 并可删除相应用户的信息 .f) 可以通过员工姓名 , 职位 , 教育程度对员工进行模糊查询 .2. 模型图 :a) 数据库ER图三. 数据库逻辑设计1. 数据库关系表userjrtoidintlogin_rram£wnhapaS£_V¥Dltivarcharfrue_nameMandharMincharagemtmaniacsvairharediKato n 日vardhar世irrtvdrcharIntpositondint2. 基本表关系描述a) 每个职员拥有个人信息表与工作信息表,其个人信息表与
5、工作信息表是一对一关系,实现方式是利用hibernate的共享主键技术,即user_info的主键id并不是由数据库底 层方式生成,而是依赖与 work_info的主键id,其中work_info的主键由MySql的自动递增 方式生成,每增加一名用户,先由数据库底层生成 work_info的主键id,然后user_info根据 已生成的work_info的id为自己的主键,实现了一对一关系,并在hibernate 的支持下实现 了级联更新与删除操作b) 每个员工的工作信息表与职位表是多对一关系,即工作信息表中position_id是position 表的外键,一个职位可能存在多个员工.3. 基
6、本表源码a)user_i nfo 表CREATE TABLE 'user_i nfo' ('id' int(11) NOT NULL,'login_ name' varchar(20) DEFAULT NULL,'pass_word' varchar(20) DEFAULT NULL,'true_name' varchar(20) DEFAULT NULL,'sex' varchar(10) DEFAULT NULL,'tel_ num' varchar(20) DEFAULT NU
7、LL,'age' i nt(3) DEFAULT NULL,'marriage' varchar(IO) DEFAULT NULL,'educati on al' varchar(20) DEFAULT NULL,PRIMARY KEY ('id')b) work_info 表CREATE TABLE 'work_info' ('id' int(11) NOT NULL AUTO_INCREMENT, 'position_id' int(11) DEFAULT NULL, '
8、status' varchar(50) DEFAULT NULL, 'create_time' datetime DEFAULT NULL, 'authority' int(3) DEFAULT NULL, PRIMARY KEY ('id'),KEY 'position_id' ('position_id'),CONSTRAINT'work_info_ibfk_5' FOREIGN KEY ('position_id') REFERENCES 'position
9、39; ('id') ON DELETE SET NULL ON UPDATE SET NULL)c) position 表CREATE TABLE 'position' ('id' int(11) NOT NULL AUTO_INCREMENT, 'pos_name' varchar(50) DEFAULT NULL,PRIMARY KEY ('id')四. 软件功能设计1. 软件功能图a) 在菱形表示的区域中 , 表示执行改操作需要的权限 .b) 在白底矩形方框中 , 表示执行此操作的用户 .c) 在蓝底矩形方
10、框中 , 表示此操作的名称 .d) 在椭圆形中,表示执行当前操作所用到的STRUTS冲的ACTION,ACTION中调用相应的业务逻辑完成各种功能 .e) 在圆角矩形方框中,表示渲染当前操作的JSP界面,并可在JSP中通过不同的链接调用 不同的 ACTION.该功能图在大体上表示了该人事管理系统的主要逻辑功能 , 其中一些小的跳转如在提交 表单 , 权限效验时等等失败过程所执行的操作在考虑到图形的复杂性上并没有完全给出, 但可以在源程序中看出详细的流程 .2. 详细设计JavaBean模块,该模块主要定义了各个主要的JavaBean,完成对各供需要信息的封装,便于业务逻辑的实现.j com.p
11、ersonnelmanagement.baanDP PageModeLjava_jj Pcsitionjavat> 皿 Userlrftjjava '2) Wor kin fc .java務 Pcition.hbni.Nml起 UserlnfoHhbnn.KfnlWorklnfc.hbm.xml包含四个标准的 JavaBean和三个hibernate的数据库映射表文件.PageModel是一个分页模型,它封装了每个页面记录的数量,当前数据在数据库中总的数据条数,当前页码,下一页,上一页页码,以及当前页面封装的List类型的数据,用户JSP界面的迭代输出/每个界面容纳记录数的上限p
12、rivate int pageSize ;/当前页码privateint no wPage总的页码privateint totalPage ;/上一页的页码privateint previousPage ;/下一页的页码privateint nextPage ;/圭寸装此Bean的action名private StringactionName ;/当前页面的数据private ListvUserl nfo> userList ;public PageModel( int nowPage, int pageSize, int totalRecord,List<User lnfo>
13、; userList) this . totalPage = (totalRecord + pageSize - 1) / pageSize;this . nowPage = nowPage;this . pageSize = pageSize;this . userList = userList;/如果上一页比一小,则上一页还是一previousPage = (no wPage <= 1) ?:(no wPage - 1);/如果下一个的页码大于总页码,则下一个页码还是总页码数nextPage = (nowPage >=totalPage ) ? ( totalPage ) :
14、(nowPage + 1);下面的三个bea n, Position封装了职位信息并通过Positio n.hbm.xml完成与数据库的映Workl nfo射;Userl nfo封装了员工个人信息并通过圭寸装了工作信息并通过Workl nfo.hbm.xmlpublic class Userlnfo /idprivate int id ;UserI nfo.hbm.xml完成与数据库的映射完成与数据库的映射./登陆名logi nN ameprivate Str ing/真实姓名private Str ingtrueName;/密码private Str ingpassword;/性别priva
15、te Str ingsex;/年龄private int age;/电话号码private Stri ngtelNum ;/婚姻private Str ingmarriage ;/学历private Str ingeducati onal/ 一对一映射的工作信息privateWorkl nfoworkinfopublic int getld() return id ;public void setld( int id) this . id = id;public int getAge() return age;public void setAge( int age) this . age =
16、age;public String getMarriage() return marriage ;public void setMarriage(String marriage) this . marriage = marriage;public String getEducational() return educational ;public void setEducational(String educational) this . educational = educational;public WorkInfo getWorkInfo() return workInfo ;publi
17、c void setWorkInfo(WorkInfo workInfo) this . workInfo = workInfo;public String getLoginName() return loginName ;public void setLoginName(String loginName) this . loginName = loginName;public String getTrueName() return trueName ;public void setTrueName(String trueName) this . trueName = trueName;pub
18、lic String getPassWord() return passWord ;public void setPassWord(String passWord) this . passWord = passWord;public String getSex() return sex;public void setSex(String sex) this . sex = sex;public String getTelNum() return telNum ;public void setTelNum(String telNum) this . telNum = telNum; public
19、 UserInfo() public UserInfo( int id , WorkInfo workInfo) this . id = id;this . workInfo = workInfo;这里列出 UserInfo 的映射文件 .<hibernate-mapping ><class name="com.personnelmanagement.bean.UserInfo" table ="user_info" catalog ="personnel" ><! -由于与 WorkInfo 表是一一对
20、应的 , 这里主键采用依赖 WrokInfo 主键的生成方式以 实现一一对应 -><id name="id" type ="java.lang.Integer"><column name="id" /><generator class ="foreign" ><param name="property" >workInfo </ param> </ generator ></ id ><propert
21、y name="loginName" type ="java.lang.String"update ="false" ><column name="login_name" /></ property ><property name="passWord" type ="java.lang.String"><column name="pass_word" /></ property ><p
22、roperty name="trueName" type ="java.lang.String"><column name="true_name" /></ property ><property name="sex" type ="java.lang.String"><column name="sex" /></ property ><property name="telNum" t
23、ype ="java.lang.String"><column name="tel_num" /></ property ><property name="marriage" type ="java.lang.String"><column name="marriage" /></ property ><property name="educational"type ="java.lang.St
24、ring"><column name="educational" /></ property ><property name="age" type ="java.lang.Integer"><column name="age" /></ property > <! - 定义一对一映射 -><one-to-one name="workInfo" class ="com.personnelmana
25、gement.bean.WorkInfo" cascade ="all" ></ one-to-one ></ class > </ hibernate-mapping >五. 界面设计界面的结构图如图所示& commonindexjsploginjspj? regiterjspD META4NF& springJ ;5 WEB4NF©dib鼻;)user尸 functionlist.jsp f position.jsp f query.jsp” updateusarj&p:P updat
26、ebvork.jp j" usertistjsp;严 view.jsp1.登陆界面主要通过Struts2的标签完成表单的生成以及简单的逻辑操作用户名:密码:'Submit<s:form action -'/common/loginAction.action">/如果用户名密码错误在这里显示<s:acti on error/><s:textfieldname="loginName" label ="用户名"></s:textfield ><s:password nam
27、e="passWord" label ="密码"></ s:password >/通过插入SESSION勺ID防止表单重复提交 <s:toke n /><s:submit label ="submit" ></ s:submit ></ s:form >2.注册界面用户名:密码:重复密码:真实姓名1年龄:电话号码:性别:男性V已婚碎学历:鬲申叹下Siibrrit<s:form action -'/common/registerAction.action&q
28、uot;validate ="true" ><s:textfieldname="userInfo.loginName"label ="用户名"></s:textfield ><s:password name="userInfo.passWord"label ="密码"></ s:password ><s:password name="passWord" label ="重复密码"></
29、 s:password ><s:textfieldname="userInfo.trueName"label ="真实姓名"></ s:textfield ><s:textfieldname="userInfo.age"label ="年龄"></s:textfield><s:textfieldname="userInfo.telNum"label ="电话号码"></s:textfield >&l
30、t;s:selectname="userInfo.sex"list ="'男性','女性'"label ="性别"></ s:select ><s:selectname="userInfo.marriage"list ="'已婚','未婚'" label ="婚姻"></ s:select ><s:select label ="学历"list =
31、"'高中以下','高中',专科','本科','硕士',' 硕士以上'"n ame="userl cati on al"></ s:select ><s:toke n /><s:submit label ="submit" ></ s:submit ></ s:form >3. 管理员权限与普通权限用户的操作界面审核用户员工查询个人管理Iasi注销登陆汪销豊陆/判断是否是管理员,是管理员则多出审核用户与职位管理操作,这里是属于客户端效验<s:if test ="#sessi on.loginU ser.work In fo.authority = 10"><a href ="/PersonnelManagement/admin/getAuditUserAction">审核用户 </ a> <br ><a href ="/PersonnelManagement
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论