基于java的工厂员工管理系统.docx
- 文档编号:30622454
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:31
- 大小:432.16KB
基于java的工厂员工管理系统.docx
《基于java的工厂员工管理系统.docx》由会员分享,可在线阅读,更多相关《基于java的工厂员工管理系统.docx(31页珍藏版)》请在冰豆网上搜索。
基于java的工厂员工管理系统
基于Java的
工厂员工管理系统
届别2011届
系别计算机系
专业计算机科学与技术
姓名孙飞
指导教师张宁
二○一一年五月
基于java的工厂员工管理系统
学生姓名:
孙飞指导老师:
张宁
摘要:
随着社会的进步,科技的发展,互联网给人们的工作生活带来了极大地便利,因此帮助企业设计基于B/S模式的员工管理系统是很有必要的,这样可以提高企业效率以及社会竞争力,大大减少了错误的出现,帮助企业在当前社会取得更好的效益。
根据实际需求,“工厂员工管理系统”项目采用模块化的设计思想,在WindowsXP操作系统环境下,搭建JSP运行环境JDK+TOMCAT,通过使用JAVA脚本语言完成动态的、交互的web服务器应用程序,实现员工信息管理、员工奖惩管理、员工调动管理及用户密码修改功能。
关键词:
JSPJAVAJDBC-ODBCjavabean数据库
0引言
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Java,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。
用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:
跨平台、动态的Web、Internet计算。
从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Javaapplet。
JDBC,全称为JavaDataBaseConnectivitystandard,它是一个面向对象的应用程序接口(API),通过它可访问各类关系数据库。
JDBC也是java核心类库的一部分。
要通过JDBC来存取某一特定的数据库,必须有相应的JDBCdriver,它往往是由生产数据库的厂家提供,是连接JDBCAPI与具体数据库之间的桥梁。
JavaBean是一种JAVA语言写成的可重用组件。
为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。
本系统采用这四种技术方便开发,节省时间。
1系统分析
1.1需求分析
根据人事管理的要求,以及工厂的实际情况,本系统应该完成以下功能:
(1)工厂员工信息管理
(2)工厂员工奖惩管理
(3)工厂员工调动管理
(4)工厂员工考勤管理
(5)工厂员工薪金管理
(6)工厂员工培训管理
(7)人才招聘管理
(8)系统用户管理
介于时间以及个人水平的原因,本系统主要实现了员工信息管理、员工奖惩管理、员工调动管理和系统用户管理四个功能。
1.2可行性分析
随着社会的发展,科技的进步,通过网络对员工进行管理可以大大的提高企业员工的利用率,位企业创造了更大的价值。
本系统采用JSP技术,JAVA与数据库通过JDBC进行连接,SUN公司也提供了JDBC-ODBC桥连方式,方便了JAVA对数据库的访问。
对于用户来说,只要掌握一定的上网经验就可以对本系统进行操作,方便了公司内部的管理。
2总体设计
2.1开发运行环境
操作系统:
WindowsXP;
数据库:
SQLserver2008;
开发工具包:
JDK;MyEclipse;
JSP服务器:
Tomcat6.0;
2.2项目规划
工厂员工管理系统由人员信息管理、奖惩信息管理、人员调动信息管理、系统用户管理4个部分组成,规划系统功能模块如下:
人员信息管理模块:
该模块主要功能是对员工基本信息等进行管理
奖惩信息管理模块:
该模块主要是对工厂员工奖惩情况进行管理。
人员调动信息模块:
该模块主要是对工厂员工调动信息进行管理。
系统用户管理模块:
该模块主要功能是管理员密码修改功能的管理。
2.3项目设计
本系统主要用于对企业中的员工进行管理。
具体地讲,员工管理系统就是通过员工信息、员工考核、薪酬管理、奖惩管理、员工培训、员工调动信息管理等一系列手段来提高劳动生产率,最终达到发展目标的一种管理行为。
具体实现目标如下:
(1)实现对员工信息进行全面管理的功能;
(2)系统用户信息的管理;
(3)工厂员工奖惩信息管理;
(4)工厂员工人员调动信息管理。
系统最大限度地实现了易安装性、易维护性和易操作性。
系统运行稳定、安全可靠。
2.4系统功能结构图
人力资源管理系统功能结构如图1所示。
3系统功能设计
3.1模块功能介绍
(1)登录模块
此模块实现用户进入系统管理前的验证操作,只有输入正确的用户名和密码才能进入系统,进行各种操作。
(2)人员档案模块
此模块实现对企业所有员工的档案进行管理,并且根据需要,可以对某个员工的档案进行修改、删除和查询。
(3)奖惩管理模块
本模块提供了记录奖惩类别,内容,原因等奖惩信息的管理。
可以根据需要添加奖惩详细信息、删除奖惩详细信息、修改奖惩详细信息。
(4)人员调动模块
本模块提供了管理企业人员调动信息管理的功能,可以根据需要,对某条调动记录进行修改和删除。
3.2数据库设计
3.2.1数据库的需求分析
依据项目的处理需求,对应数据表的设计及功能如下:
(1)员工基本信息表:
主要用于保存员工信息
(2)奖惩管理信息表:
主要用于保存奖惩信息
(3)人事调动管理信息表:
主要用于保存内部人员调动信息
(4)系统用户管理表:
主要用于保存用户信息
3.2.2数据库各表具体设计
表3.2.1员工基本信息表(employee)
字段名
类型
长度
备注
EmployeeID
varchar
6
员工编号
UserName
varchar
20
姓名
Sex
varchar
10
性别
Branch
varchar
40
部门
Birthday
date
——
出生日期
NativePlace
varchar
20
籍贯
Marriage
varchar
20
婚姻
IdentityID
varchar
18
身份证号
Politics
varchar
20
政汉面貌
Folk
varchar
20
民族
Education
varchar
20
学历
Department
varchar
40
专业
GraduateDate
date
——
毕业时间
University
varchar
40
毕业院校
AccumulateID
varchar
20
公积金账号
AdministrationLevel
varchar
20
行政级别
Duty
varchar
40
职务
Position
varchar
20
职称
ForeignLanguage
varchar
20
外语语种
FLLevel
varchar
20
外语等级
ComputerLevel
varchar
20
计算机等级
Phone
varchar
20
家庭电话
MobilePhone
varchar
11
手机号码
Address
varchar
50
家庭住址
Incumbency
varchar
20
在职情况
IncumbencyType
varchar
20
用式形式
Resume
varchar
400
个人简历
表3.2.2奖惩管理信息表(rpmanage)
字段名
类型
长度
备注
RewardNO
int
——
记录编号
EmployeeID
varchar
6
员工编号
Position
varchar
20
职称
RewardPunish
varchar
10
奖/惩
Rewardcontent
varchar
50
奖惩内容
Reason
varchar
100
原因
Branch
varchar
40
批准部门
HandleName
varchar
20
审核人
StartDate
date
——
开始时间
CancelDate
date
——
撤销时间
CancelReason
varchar
100
撤销原因
Remark
varchar
400
备注
表3.2.3系统用户管理表(users)
字段名
类型
长度
备注
UserName
varchar
16
用户名
Password
varchar
16
密码
表3.2.4人事调动管理信息表(translate)
字段名
类型
长度
备注
TranslateNO
int
——
记录编号
EmployeeID
varchar
6
员工编号
TranslateDate
date
——
调动时间
PriorBranch
varchar
40
前部门
NextBranch
varchar
40
现部门
PriorDuty
varchar
40
前职务
NextDuty
varchar
40
现职务
HandleName
varchar
20
经办人
Remark
varchar
400
备注
3.2.3数据库连接与访问
数据库连接和访问主要由类DBConnect负责,用户使用此类进行连接和访问数据库,其主要实现代码摘录如下:
privatebooleanconnect()throwsException{
booleanopened=false;
Driverdriver=(Driver)Class.forName(jdbcClassName).newInstance();
DriverManager.registerDriver(driver);
conn=DriverManager.getConnection(dbUrl,username,password);
stmt=conn.createStatement();
opened=true;
returnopened;
}
publicConnectiongetDBConnection(){
returnconn;
}
publicResultSetexecuteQuery(Stringsql)throwsSQLException{
if(stmt!
=null){
returnstmt.executeQuery(sql);//查询语句
}
else
returnnull;
}
publicvoidexecuteUpdate(Stringsql)throwsSQLException{
if(stmt!
=null)
stmt.executeUpdate(sql);//插入、更新语句
}
publicvoidclose()throwsException{
if(stmt!
=null){
stmt.close();
stmt=null;
}
if(conn!
=null)
conn.close();
}
}
3.3系统中的JavaBean结构
JavaBean的工作原理是将数据的基本处理逻辑封闭在JavaBean中,然后通过其提供的方法对其进行调用,最大的优点是可以实现代码的重复利用。
本系统的JavaBean的目录和包的结构如图2所示。
其中:
(1)DataConvert.java为系统设置了YYYY—MM—DD的年月日格式
(2)DBConnect.java为系统提供了与数据库的连接;
(3)User.java定义了系统用户,用户名和密码的输入通过它连接到数据库;
(4)Employee.java定义了员工的信息,添加、修改、删除员工及员工信息通过它连接数据库;
(5)Translate.java定义了调动员工的信息,添加、修改、删除等操作通过它连接数据库;
(6)Reward.java定义了奖惩员工的信息,添加、修改、删除等操作通过它连接数据库;
3.4公共模块
本系统的公共模块如图3所示,其内容都是由许多页面共同拥有的,其中包含JavaScript文件,JSP文件,和CSS样式表。
4系统实现
4.1登录模块
登录模块用来判断用户的合法性,防止非法用户进入员工管理系统,其结构如图4所示:
如果用户没有输入用户名或者密码,而单击登录按钮,系统会弹出对话框提示用户。
输入用户名和密码后,系统会判断输入的用户信息。
如信息错误,则会给出提示信息“用户名或密码不正确”。
4.1.1相关JavaBean程序
主要定义了类User.java,其主要代码摘录如下:
publicstaticbooleanChkLogin(String_UserName,String_Password)throwsException{
DBConnectdbc=null;
booleanIsExist=false;
try{
dbc=newDBConnect();
Connectionconn=dbc.getDBConnection();
Statementstmt=null;
stmt=conn.createStatement();
ResultSetrs=null;
rs=stmt.executeQuery("SELECTPasswordFROMusersWHEREUserName='"+_UserName+"'");
if(!
rs.next()){
IsExist=false;
}
else{
if(_Password.equals(rs.getString("Password")))
IsExist=true;
}
}
catch(Exceptione){
System.err.println(e);
}
finally{
try{
dbc.close();
}
catch(Exceptione){
e.printStackTrace();
}
}
returnIsExist;
}
publicstaticStringModifyPassword(String_UserName,String_NewPassword){
DBConnectdbc=null;
try{
dbc=newDBConnect();
Connectionconn=dbc.getDBConnection();
Statementstmt=null;
stmt=conn.createStatement();
stmt.executeUpdate("UPDATEusersSETPassword='"+_NewPassword+"'WHEREusername='"+_UserName+"'");
dbc.close();
return"1";
}
catch(Exceptione){
e.printStackTrace();
returne.toString();
}
}
4.1.2相关JSP文件
本模块主要涉及到两个页面:
login.jsp和ChkLogin.jsp,下面是其关键代码:
ChkLogin.jsp:
<%if(!
User.ChkLogin(username,password)){
//调用User.java方法,进行用户验证,如果出错返回登录页面,正确则进入主页
loginmsg="userwrong";
response.sendRedirect("login.jsp?
loginmsg="+loginmsg);
return;
}
response.sendRedirect("index.jsp");%>
4.2主页面模块
4.2.1主页面结构图
主页面是用户通过身分验证后进入的页面,也是操作员工信息管理系统各功能的平台,可以在该模块中管理人员档案,奖惩,人员调支等,其结构如图5所示:
4.2.2主页面相关JSP文件
相关的JSP文件主要有:
index.jsp,Logout.jsp,Header.jsp,Footer.jsp,ModifyPasswordStep1.jsp,ModifyPasswordStep2.jsp。
其中修改密码的关键代码如下:
<%try{
Stringusername=(String)session.
getValue("UserName");
Stringoldpassword=newString(request.
getParameter("oldpassword"));
Stringnewpassword=newString(request.
getParameter("newpassword"));
--调用User类中的ChkLogin方法先进行旧密码判断-->
if(!
(User.ChkLogin(username,oldpassword)))
{%>
alert("旧密码输入错误,请重新输入.");
window.history.back();
--调用User类中的ModifyPassword方法先修改密码-->
<%}else{IsSucceed=User.ModifyPassword(username,newpassword);}
}catch(Exceptione){
out.println("error:
"+e.getMessage());
}%><%if(IsSucceed.equals("1"))
out.println("修改密码成功!
");
else{
out.println("修改密码失败!
");
%>
<%out.println("错误:
"+IsSucceed);}%>
4.3人员档案模块
人员档案是人事管理系统的基本数据资料,是员工管理系统的基本功能,其提供的功能有:
添加人员档案,修改人员档案,删除人员档案和查询人员档案。
其模块结构如图7所示:
本模块包含的JSP文档及其功能如下:
(1)Employee.jsp功能与index.jsp类似,EmployeeLeft.jsp用于显示本模块网页的功能链接。
(2)AddEmployeeStep1.jsp主要用于提供用户输入人员档案信息的界面,AddEmployeeStep2.jsp则用于提交信息并连接数据库和修改数据库。
(3)ManageEmployeeStep1.jsp主要用于显示人员管理的条件查询页面,ManageEmployeeStep2.jsp则用于操作数据库并显示查询结果列表。
(4)单击列表中的“修改”链接则进入ModifyEmployeeStep1.jsp页面,此页面提供修改人员信息功能,单击修改按钮后,则进入ModifyEmployeeStep2.jsp向数据库中写入信息,如果更新成功则显示“修改人员档案成功”,否则显示“修改人员档案失败!
”并将错误显示在页面中。
如果单击删除链接,则进入DelEmployeeStep1.jsp页面,实现删除操作。
(5)SearchEmployeeStep1.jsp页面,主要用于查询人员档案,在管理人员档案操作中,既使用其来进行数据库查询,SearchEmployeeStep2.jsp则用于显示查询结果列表,由于员工信息较多,因此只选取部分显示。
(6)如需查看详细信息,则可单击员工编号,进入ViewEmployeeStep1.jsp页面,该文件用于显示员工的详细信息以及其余模块的信息,如奖惩情况和调动情况。
Employee.java定义了类Employee,用来封装与人员档案相关的方法,如增加、修改、删除、查询等,其定义的关键方法及主要代码如下:
(1)Add()用于添加人员档案:
dbc=newDBConnect();
Connectionconn=dbc.getDBConnection();
Statementstmt=null;
stmt=conn.createStatement();
stmt.executeUpdate("INSERTINTOemployee(EmployeeID,UserName,Sex,Branch,NativePlace,"+"Marriage,IdentityID,Politics,Folk,Education,Department,University,AccumulateID,"+"AdministrationLevel,Duty,Position,ForeignLanguage,FLLevel,ComputerLevel,Phone,"+"MobilePhone,Address,Incumbency,IncumbencyType,Resume,Birthday,GraduateDate)VALUES"+"('"+_EmployeeID+"','"+_UserName+"','"+_Sex+"','"+_Branch+"','"+_NativePlace+"','"+_Marriage+"',"+"'"+_IdentityID+"','"+_Politics+"','"+_Folk+"','"+_Education+"','"+_Department+"',"+"'"+_University+"','"+_AccumulateID+"','"+_AdministrationLevel+"','"+_Duty+"','"+_Position+"',"+"'"+_ForeignLanguage+"','"+_FLLevel+"','"+_ComputerLevel+"','"+_Phone+"','"+_MobilePhone+"','"+_Address+"',"+"'"+_Incumbency+"','"+_IncumbencyType+"','"+_Resume+"','"+_Birthday+"','"+_GraduateDate+"')");
dbc.close();
(2)Modify()用于修改人员档案:
dbc=newDBConnect();
Connectionconn=dbc.getDBConnection();
Statementstmt=null;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 java 工厂 员工 管理 系统