随着计算机应用的普及、成熟,越来越多公司开始实行通过网络来进行人力资源管理系统。随着企业规模的扩大,员工人数的增多,人力资源管理系统方面信息量大,在管理方面缺乏系统的管理方式,为提高企业人力资源信息管理效率,我们急需开发这套人力资源管理系统。
本人力资源管理系统是目前各大企业管理的重要部分,系统以实际运用为开发背景,基于B/S结构,采用JSP技术,MYSQL数据库,从而保证系统的稳定性。系统设计按标准化、规范化,分层设计,构件化实现。本人力资源管理系统实现员工、部门、岗位新增、招聘、考勤、薪酬信息等基本的操作,运用了模块化的设计方案,依据企业人力资源管理系统的需求,程序系统的稳定性简易性,将每个部分放在不同的模块当中,有利于程序的设计与维护。采用软件构件化的开发方式,使系统的结构分层,业务与实现分离,逻辑与数据分离;从功能上来说,系统是比较完备的,系统以Web界面与用户交互,为用户提供了信息,并易于用户操作,同时信息数据通过数据库的管理系统存储。
人力资源管理系统的应用有效的提高企业人力资源管理系统效率,使企业的人力资源管理系统科学化、智能化、准确化。通过本次设计,将理论知识与实际操作结合起来,也提高了个人的编程能力。
关键词:人力资源管理系统;JSP技术;MYSQL数据库;B/S结构
摘 要 1
ABSTRACT 2
第1章 概述 1
1.1 研究背景 1
1.3 研究目的及意义 1
1.3 研究内容 2
第2章 相关技术介绍 3
2.1 JSP技术 3
2.2 B/S结构 4
2.3 JAVA简介 4
2.4 数据库介绍 5
3.1可行性分析 6
3.1.1技术可行性 6
3.1.2经济可行性 6
3.1.3操作可行性 6
3.2系统功能分析 7
3.3系统流程分析 7
3.3.1系统操作流程 7
3.3.2 系统登录流程 7
3.3.3添加信息流程图 8
3.4系统UML用例分析 9
第4章 系统设计 11
4.1系统概要设计 11
4.2系统结构设计 11
4.3系统数据库设计 12
4.3.1数据库概念设计 12
4.3.2数据库实体(E-R图) 13
4.3.3数据库表设计 15
第5章 系统的实现 18
5.1登录功能模块的实现 18
5.2公告管理功能模块实现 18
5.3部门管理功能模块实现 19
5.4用户管理功能模块实现 19
5.5员工管理功能模块实现 19
5.6调动管理功能模块实现 20
5.7考勤管理功能模块实现 20
5.8工资管理功能模块实现 21
5.9个人信息管理功能模块实现 21
5.10请假管理功能模块实现 22
5.11工资管理功能模块实现 22
5.12招聘管理功能模块实现 23
5.13留言管理功能模块实现 23
第6章 系统测试 25
6.1测试定义 25
6.2测试目的 25
6.3测试方法及步骤 26
6.4测试流程 27
6.5测试结论 27
结论 28
参考文献 29
致 谢 30
部分内容:
第5章 系统的实现
5.1登录功能模块的实现
用户要想进入本人力资源管理系统必须首先进入系统登录界面进行登录操作,在登录界面需要输入账号、密码,选择登录身份,点击登录按钮进行登录,系统会对用户输入的登录信息进行验证,信息正确则登录成功,反之登录失败,登录界面展如图5-1所示。
图5-1 登录界面图
@RequestMapping(value = “/login.do”)
public String login(HttpServletRequest request, User util, Model model) {
HttpSession session = request.getSession();
List listUser = userMapper.getObjectByName(util);
int i = 0;
User user = null;
if (null != listUser && listUser.size() > 0) {
for (User u : listUser) {
boolean flag = u.getS_1().equals(util.getS_1()) && u.getS_16().equals(“Y”);
if (flag) {
i = 1;
user = u;
break;
}
}
if (i == 0) {
model.addAttribute(“errMsg”, “登录失败”);
return “…/login”;
}
} else {
model.addAttribute(“errMsg”, “登录失败”);
return “…/login”;
}
if (i == 1 && !SysUtil.getSysFlag()) {
model.addAttribute("errMsg", "无法登陆,请联系管理员");
return "../login";
}
session.setAttribute("user_id", user.getId());
session.setAttribute("user_type", user.getS_11());
session.setAttribute("type1", "admin");
session.setAttribute("type2", "admin");
session.setAttribute("name", user.getS_2());
session.setAttribute("username", user.getS_0());
UserLog userLog = new UserLog();
userLog.setUser(user);
userLog.setS_0("登录成功");
userLog.setS_1(SystemUtils.getCurrentTimeToString(SystemUtils.timeFormat2));
userLog.setS_2(user.getS_2());
userLogMapper.insertObject(userLog);
return "../index";
}
该方法调用后端接口/login.do,执行login()中的方法,将前端传过来的util属性值封装成对象User, 并通过userMapper.getObjectByName(util)方法,在数据库中查询,是否存在该记录,如果定义的listUser存在则会返回list集合对象,并将所对应的值,传给user,并通过会话的方式申明session,将user保存到会话中,使用户可继续访问系统登录的所有操作;如果list集合对象为0,则说明查询的数据没有找到,则会返回登录失败所对应的方法进行处理;如果list有查询结果,但没有getSysFlag()获取到系统标签值,则也返回无法登陆,请联系管理员。