基于java的人力资源管理系统

收藏关注不迷路,源码文章末


前言

  进入信息时代以来,随着电脑与网络技术的日逐发达,电子商务空前发展,企业之间的竞争已经从有形的市场逐渐转向了网络。而相应的企业管理也都逐步进入信息化轨道——人力资源管理系统就应运而生了。人力资源管理系统是企业管理平台(EMP)的重要组成部分,是为了提高企业人力资源管理水平而设计开发的企业人力资源信息系统。系统设计的目标是实现对企业人力资源信息进行统一管理,提供人力资源信息,用以支持决策,满足用户及时沟通需要,实现与其它系统协同工作。
本文运用现代的人力资源管理理论,结合企业具体情况,通过分折国内外人力资源管理系统现状,实现了一个基于JSP的人力资源管理系统,主要内容有:用户管理、考勤打卡、薪资信息和任务信息。系统的建立旨在将与人力资源管理有关的数据统一起来,形成一个统一的数据源,并能帮助企业的人力资源管理人员进行人力资源管理和规划。

关键词:人力资源管理系统;servlet框架;MySQL数据库;JSP

一、项目介绍

  

二、开发环境

开发语言:Java
框架:ssm
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————

三、功能介绍

  在系统开发设计前,应该对功能做初步设想,清楚这个管理系统有什么板块,每个板块有什么功能,整体的设计是否满足使用者的需求,接着对所开发的系统功能进行的详细分析总结,从而设计出完整的系统并将其实现。用户和开发人员的交流分析,使其达到最佳理解程度,使系统功能达到最佳。
管理员用例图如下所示。
在这里插入图片描述
在这里插入图片描述

图3-1 管理员用例图
员工用例图如下所示。
在这里插入图片描述

图3-2 员工用例图
人力资源管理系统方案在对需求做解析后,整个系统主要分为两个部分:管理员和员工,每个模块下的分支功能不一样。对功能做出如下说明:
员工模块:
账号登录认证。
管理个人资料信息,修改可修改的信息项。
考勤打卡,上下班打卡,同时查看历史记录。
薪资信息查询,薪资明细查询,同时查看历史已有工资的记录。
任务信息查询,查看管理员发布的任务信息。

管理员模块:
员工信息,添加员工的账号,可以重置或者删除员工账号,还可以发布薪资和任务信息。
考勤打卡,查看员工打卡记录。

四、核心代码

部分代码:

package com.example.controller;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {

    @Resource
    private CaiwuService caiwuService;

    @PostMapping
    public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
        caiwuService.add(caiwu);
           return Result.success(caiwu);
    }
	
	

    @PostMapping("/deleteList")
    public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
        caiwuService.deleteList(caiwu.getList());
        return Result.success();
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        caiwuService.delete(id);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody CaiwuVo caiwu) {
        caiwuService.update(caiwu);
        return Result.success();
    }

    @GetMapping("/{id}")
    public Result<Caiwu> detail(@PathVariable Integer id) {
        Caiwu caiwu = caiwuService.findById(id);
        return Result.success(caiwu);
    }

    @GetMapping
    public Result<List<Caiwu>> all() {
        return Result.success(caiwuService.list());
    }

    @PostMapping("/page")
    public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
        return Result.success(caiwuService.findPage(caiwuVo));
    }
	    @PostMapping("/login")
    public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
        if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
            throw new CustomException(ResultCode.PARAM_LOST_ERROR);
        }
        Caiwu login = caiwuService.login(caiwu);
//        if(!login.getStatus()){
//            return Result.error("1001","状态限制,无法登录系统");
//        }
        if(login != null) {
            HashMap hashMap = new HashMap();
            hashMap.put("user", login);
            Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
            String token = JwtUtil.creatToken(map);
            hashMap.put("token", token);
            return Result.success(hashMap);
        }else {
            return Result.error();
        }
    }
    @PutMapping("/updatePassword")
    public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
        Caiwu caiwu = caiwuService.findById(info.getId());
        String oldPassword = SecureUtil.md5(info.getMima());
        if (!oldPassword.equals(caiwu.getMima())) {
            return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
        }
        info.setMima(SecureUtil.md5(info.getNewPassword()));
        Caiwu caiwu1 = new Caiwu();
        BeanUtils.copyProperties(info, caiwu1);
        caiwuService.update(caiwu1);
        return Result.success();
    }
}

五、效果图

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

六、文章目录

目 录
第1章 绪论 1
1.1 研究背景 1
1.2 发展历史及现状 1
1.3 本文的组织结构 2
第2章 相关技术介绍 3
2.1 servlet框架 3
2.2 JAVA简介 3
2.3 MySQL数据库 3
2.4 B/S结构 4
2.5 JSP技术 4
2.6 MyEclipse开发工具 4
第3章 系统分析 6
3.1 可行性分析 6
3.1.1 技术可行性分析 6
3.1.2 经济可行性分析 6
3.1.3 操作可行性分析 6
3.2 功能需求分析 6
3.3 非功能需求分析 8
3.4 数据流程分析 8
第4章 系统设计 8
4.1 系统架构设计 8
4.2 系统功能结构 9
4.3 数据库设计 9
4.3.1 概念模型 9
4.3.2 数据表 10
表access_token (登陆访问时长) 10
表auth (用户权限管理) 10
表clock_in (考勤打卡) 11
表employee_information (员工信息) 11
表employee_users (员工用户) 12
表hits (用户点击) 12
表salary_information (薪资信息) 13
表task_information (任务信息) 13
表upload (文件上传) 14
表user (用户账户:用于保存用户登录信息) 14
表user_group (用户组:用于用户前端身份和鉴权) 15
第5章 系统实现 17
5.1 登录模块的实现 17
5.2 管理员功能模块 21
5.3 员工用户功能模块 26
第6章 统测试 30
6.1 测试目的 30
6.2 测试过程 30
6.3 测试结果 31
第7章 结论 32
参考文献 33
致谢 35

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QQ1039692211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值