ssm_mysql_小型企业人事管理系统

收藏关注不迷路!!

🌟文末获取源码+数据库🌟

感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人

文章目录
  • 摘要
  • 一、开发技术介绍
  • 二、功能介绍
  • 三、代码展示
  • 四、效果图
  • 五 、源码获取

摘要

人才是企业发展的核心力量,所以人事管理是企业管理中一项重要的任务。传统的人事管理系统不仅效率慢而且极易出错,使管理者不能清楚的了解每一位员工的详细情况,对企业的发展形成了不好的影响。不过现在计算机技术十分发达,人们针对这种情况特别设计了许多类型的人事管理系统,人事管理系统的出现使企业管理者对于人事管理的现状有了非常大的改善。

本文所设计和开发的就是一种功能比较全面的人事管理系统,本文主要介绍了人事管理系统的背景以及研究的意义,介绍了开发人事管理系统所需要的一些技术,并且对系统进行了详细的需求分析和设计并成功实现。

目前,开发人事管理系统的技术有很多,本系统所用的是比较流行的JSP技术,使用的是SSM框架,数据库选择的Mysql数据库,通过对多种技术的组合使用,可以是系统的功能更加的完善,是系统的可操作性更强。

【关键词】: 人事管理系统;计算机;SSM框架;JSP

一、开发技术介绍

  • MySQL
  • JSP
  • SSM
  • b/s 架构
  • Tomcat

二、功能介绍

本系统按照使用权限分为企业管理员和员工用户,两种权限分别具有不同的功能,企业管理员主要是管理员工的信息,员工用户主要是进行工资的查看以及请假等操作。具体功能分别如下:

员工用户:
(1)登录功能:员工用户具有登录功能,每个员工只有一个账号,账号里面记录了员工一些重要信息,包括工资信息、请假信息、个人信息等。员工登录之后即可查看。
(2)个人信息:员工用户可以对个人信息进行编辑和查询。
(3)用户打卡:员工用户通过打卡页面进行打卡,是考勤的一种形式。
(4)扣款记录:员工用户如果有迟到或请假等特殊情况,企业会进行扣款,扣款记录可以从这个模块查看。
(5)请假:员工用户可以通过请假模块进行假期的申请以及详细情况的填写。

企业管理员:
(1)用户管理:管理员可以添加用户的信息,也可以查询、修改和删除用户的信息。
(2)部门管理:管理员可以添加部门的信息,也可以查询、修改和删除部门的信息。
(3)职位管理:管理员可以添加职位的信息,也可以查询、修改和删除职位的信息。
(4)员工管理:管理员可以添加员工的信息,也可以查询、修改和删除员工的信息。
(5)薪资管理:管理员可以添加薪资的信息,也可以查询、核算和删除薪资的信息。
(6)假期管理:管理员可以添加请假的信息,也可以查询和删除请假的信息。

三、代码展示

package com.li.springboot.controller;

import com.li.springboot.bean.*;
import com.li.springboot.mapper.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpSession;
import javax.xml.crypto.Data;
import java.text.SimpleDateFormat;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;

/**
 * @author lt
 * @version 1.0
 * @date 2019/12/16 11:07 下午
 */
@Controller
public class SalaryRecordController {

    @Autowired
    SalaryRecordMapper salaryRecordMapper;

    @Autowired
    EmployeeMapper employeeMapper;

    @Autowired
    JobMapper jobMapper;

    @Autowired
    DeptMapper deptMapper;

    @Autowired
    private SalaryMapper salaryMapper;

    //显示所有部门信息
    @GetMapping("/salaryrecord")
    public String getAllSalaryRecord(String name, Model model) {
        Collection<SalaryRecord> salaryRecords = null;

        if (null == name || "".equals(name)) {
            salaryRecords = salaryRecordMapper.querySalaryRecordAll();
        } else {
            salaryRecords = salaryRecordMapper.querySalaryRecordAll1(name);
        }
        model.addAttribute("salaryRecords", salaryRecords);
        return "salaryrecord/list";
    }

    //员工
    @GetMapping("/salaryrecorduser")
    public String salaryrecorduser(Model model, HttpSession session) {
        Collection<SalaryRecord> salaryRecords = null;
        User user = (User) session.getAttribute("userInfor");
        salaryRecords = salaryRecordMapper.querySalaryRecordAll12(user.getEmployeeid().toString());
        model.addAttribute("salaryRecords", salaryRecords);
        return "salaryrecord/list";
    }

    @GetMapping("/salaryrecorduser/add")
    @ResponseBody
    public String addSalaryRecord(Integer hour, Model model, HttpSession session) {
        Collection<SalaryRecord> salaryRecords = null;
        User user = (User) session.getAttribute("userInfor");
        Employee empById = employeeMapper.getEmpById(user.getEmployeeid().toString());
        SalaryRecord salaryRecord = new SalaryRecord();
        salaryRecord.setSalaryCost(hour>9?30:0);
        salaryRecord.setRemark(hour>9?"迟到":"正常打卡");
        salaryRecord.setEmpId(empById.getId());
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String format = simpleDateFormat.format(new Date());
        salaryRecord.setRecordDate(format);
        salaryRecordMapper.addSalaryRecord(salaryRecord);
        Salary detailByEmpId = salaryMapper.getDetailByEmpId(user.getEmployeeid());
        salaryMapper.updateSalaryByEmpId(user.getEmployeeid(), detailByEmpId.getBaseSalary() - (hour>9?30:0));
        return "ok";
    }
}

四、效果图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

五 、源码获取

下方名片联系我即可!!


大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/981446.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

25年第四本【认知觉醒】

《认知觉醒》&#xff1a;一场与大脑的深度谈判 在信息爆炸的焦虑时代&#xff0c;我们像被抛入湍流的溺水者&#xff0c;拼命抓取各种自我提升的浮木&#xff0c;却在知识的漩涡中越陷越深。这不是一本简单的成功学指南&#xff0c;而是一场关于人类认知系统的深度对话&#…

盘古信息携手艾罗能源启动IMS数字化智能制造工厂项目,共筑新能源行业数字化标杆

在政策扶持下成长的新能源行业&#xff0c;如今已逐步进入商业化阶段。相比传统制造行业&#xff0c;新能源行业离散度高、自动化程度高。 面对迅疾的市场变化&#xff0c;在大环境中一枝独秀的新能源行业&#xff0c;亟需突破传统架构的限制&#xff0c;通过构建智能化生产体…

32.C++二叉树进阶1(二叉搜索树)

⭐上篇文章&#xff1a;31.C多态4&#xff08;静态多态&#xff0c;动态多态&#xff0c;虚函数表的存储位置&#xff09;-CSDN博客 ⭐本篇代码&#xff1a;c学习/18.二叉树进阶-二叉搜索树 橘子真甜/c-learning-of-yzc - 码云 - 开源中国 (gitee.com) ⭐标⭐是比较重要的部分…

图论基础算法: 二分图的判定(C++)

二分图的基本概念 什么是二分图? 二分图(Bipartite Graph)是指一个图的顶点集可以被分割为两个互不相交的子集 U U U 和 V V V, 并且图中的每一条边都连接 U U U 中的一个顶点和 V V V 中的一个顶点. 换句话说, 二分图中的顶点可以被分成两组, 组内的顶点之间没有边相连…

pyside6学习专栏(九):在PySide6中使用PySide6.QtCharts绘制6种不同的图表的示例代码

PySide6的QtCharts类支持绘制各种型状的图表&#xff0c;如面积区域图、饼状图、折线图、直方图、线条曲线图、离散点图等&#xff0c;下面的代码是采用示例数据绘制这6种图表的示例代码,并可实现动画显示效果&#xff0c;实际使用时参照代码中示例数据的格式将实际数据替换即可…

爬虫逆向实战小记——解决webpack实记

注意&#xff01;&#xff01;&#xff01;&#xff01;某XX网站实例仅作为学习案例&#xff0c;禁止其他个人以及团体做谋利用途&#xff01;&#xff01;&#xff01; aHR0cHM6Ly9wbW9zLnhqLnNnY2MuY29tLmNuOjIwMDgwL3B4Zi1zZXR0bGVtZW50LW91dG5ldHB1Yi8jL3B4Zi1zZXR0bGVtZW5…

Hive-优化(语法优化篇)

列裁剪与分区裁剪 在生产环境中&#xff0c;会面临列很多或者数据量很大时&#xff0c;如果使用select * 或者不指定分区进行全列或者全表扫描时效率很低。Hive在读取数据时&#xff0c;可以只读取查询中所需要的列&#xff0c;忽视其他的列&#xff0c;这样做可以节省读取开销…

【三维生成】StarGen:基于视频扩散模型的可扩展的时空自回归场景生成

标题&#xff1a;《StarGen: A Spatiotemporal Autoregression Framework with Video Diffusion Model for Scalable and Controllable Scene Generation》 项目&#xff1a;https://zju3dv.github.io/StarGen 来源&#xff1a;商汤科技、浙大CAD、Tetras.AI 文章目录 摘要一、…

vue2(笔记)4.0vueRouter.声明式/编程式导航以及跳转传参.重定向

---vueRouter 五个步骤: 两个核心: {path:路径,component:组件} 二级路由: 1.在主页路由对象中,添加children配置项 2.准备路由出口 示例代码: {path: /,component: layout,redirect: home,children: [{path: /home,component: home},{path: /card,component: card}]}, 在l…

内网渗透信息收集linuxkali扫描ip段,收集脚本(web安全)

内网ip段扫描↓ 工具1↓ nmap -sn 192.168.128.0/24工具2↓ nbtscan 192.168.128.0/24 工具↓3 arp-scan -t 1000 192.168.128.0/24 cmd命令扫描↓ for /L %I in (1,1,255) Do ping -w 1 -n 1 192.168.128.%I | findstr "TTL" 这个命令在Windows命令提示符下使…

DeepSeek崛起:如何在云端快速部署你的专属AI助手

在2025年春节的科技盛宴上&#xff0c;DeepSeek因其在AI领域的卓越表现成为焦点&#xff0c;其开源的推理模型DeepSeek-R1擅长处理多种复杂任务&#xff0c;支持多语言处理&#xff0c;并通过搜索引擎获取实时信息。DeepSeek因其先进的自然语言处理技术、广泛的知识库和高性价比…

python-leetcode 48.二叉树的最近公共祖先

题目&#xff1a; 给定一个二叉树&#xff0c;找到该树中两个指定节点的最近公共祖先 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&#xff0…

示例:在WPF中如何使用Segoe MDL2 Assets图标和使用该图标的好处

一、目的&#xff1a;分享在WPF中如何使用Segoe MDL2 Assets图标和使用该图标的好处 在WPF中使用Segoe MDL2 Assets字体&#xff0c;可以通过设置控件的FontFamily属性来实现。Segoe MDL2 Assets是一个包含许多图标的字体&#xff0c;通常用于Windows应用程序的图标显示。 二、…

QT——基于 QListWidget 和 QStackedWidget 的页面切换

Qt 练习题&#xff1a;基于 QListWidget 和 QStackedWidget 的页面切换 Qt 练习题&#xff1a;基于 QListWidget 和 QStackedWidget 的页面切换 题目描述&#xff1a; 请使用 Qt 设计一个窗口&#xff0c;其中包含一个 QListWidget 和一个 QStackedWidget。要求实现以下功能&a…

Docker概念与架构

文章目录 概念docker与虚拟机的差异docker的作用docker容器虚拟化 与 传统虚拟机比较 Docker 架构 概念 Docker 是一个开源的应用容器引擎。诞生于 2013 年初&#xff0c;基于 Go 语言实现。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xf…

linux server docker 拉取镜像速度太慢或者超时的问题处理记录

已经按网上的帖子将镜像地址改为国内的了,用docker info命令查看,如下图所示: 但是还存在下载镜像特别卡的问题,而不是直接报错了,如下图所示: 甚至已经连续下载一晚上了,还是卡在这里,不见任何下载进展。 我在window的docker中下载了对应的镜像,并用以下语句生成了…

四十二:VSCODE打开新文件覆盖上一个文件窗口问题

VSCODE打开新文件覆盖上一个文件窗口问题_vscode enablepreview-CSDN博客

shell文本处理

shell文本处理 一、grep ​ 过滤来自一个文件或标准输入匹配模式内容。除了 grep 外&#xff0c;还有 egrep、fgrep。egrep 是 grep 的扩展&#xff0c;相当于 grep -E。fgrep 相当于 grep -f&#xff0c;用的比较少。 用法 grep [OPTION]... PATTERN [FILE]...支持的正则描述…

下载b站视频音频

文章目录 方案一&#xff1a;jjdown如何使用 方案二&#xff1a;bilibili哔哩哔哩下载助手如何使用进入插件网站插件下载插件安装 使用插件下载视频音频&#xff1a;复制音频下载地址 方案三&#xff1a;bat命令下载单个音频下载单个视频下载单个音视频 方案一&#xff1a;jjdo…

【项目管理】基于 C 语言的 QQ 聊天室实现(TCP + 多线程 + SQLite3)

基于 C 语言的 QQ 聊天室(TCP + 多线程 + SQLite3) 项目功能基础功能: 登录、注册、添加好友、私聊、创建群聊、群聊扩展功能: 删除好友、注销账号、好友在线状态、群管理(拉人/踢人)、VIP 特权、邮件通知等 功能介绍:模拟QQ聊天客户端:登录界面:1、登录2、注册 //将用…