N-132基于springboot,vue人事管理系统

news/2024/7/10 0:26:21 标签: springboot人事, vue, elementUI, 前后端分离, mysql

开发工具:IDEA

服务器:Tomcat9.0, jdk1.8

项目构建:maven

数据库:mysql5.7

系统分前后台,项目采用前后端分离

前端技术:vue+elementUI

服务端技术:springboot+mybatis-plus

本项目分为管理员与普通用户两种角色

超级管理员可以为普通员工分配一些角色,进而改变员工的访问权限。

一、管理员功能:

1.登录、退出登录、首页(Echarts图表,个人考勤、员工基本信息)

2.薪资管理

(1).五险一金:查询、明细(可修改)、导出报表

(2).参保城市:新增、修改、删除、查询、批量删除、导出报表

(3).工资管理:查询、明细(可修改)、导出报表

3.权限管理

(1).角色管理:新增、修改、删除、查询、批量删除、导出报表、分配菜单

(2).菜单管理:新增、修改、删除、查询、批量删除、导出报表

4.系统管理

(1).文件管理:上传、下载、修改、删除、查询、批量删除、导出报表

(2).员工管理:新增、修改、删除、查询、批量删除、导出报表、分配角色

(3).部门管理:新增、修改、删除、查询、批量删除、导出报表

5.考勤管理

(1).请假审批:查询、批准、驳回、导出报表

(2).考勤表现:查询、修改状态、导出报表

二、普通用户功能:

首页、登录、退出登录、个人信息、修改密码,修改个人信息、请假申请
文档截图:

管理员截图:

普通用户截图:

package com.hrm.controller;

import com.hrm.service.AttendanceService;
import com.hrm.entity.Attendance;

import com.hrm.dto.ResponseDTO;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;


/**
 * <p>
 * 前端控制器
 * </p>
 *
 * @author IT教程资源
 * @since 2023-03-29
 */
@RestController
@RequestMapping("/attendance")
public class AttendanceController {

    @Resource
    private AttendanceService attendanceService;

    @ApiOperation("新增")
    @PostMapping
    public ResponseDTO add(@RequestBody Attendance attendance) {
        return this.attendanceService.add(attendance);
    }

    @ApiOperation("逻辑删除")
    @DeleteMapping("/{id}")
    public ResponseDTO delete(@PathVariable Integer id) {
        return this.attendanceService.deleteById(id);
    }

    @ApiOperation("批量逻辑删除")
    @DeleteMapping("/batch/{ids}")
    public ResponseDTO deleteBatch(@PathVariable List<Integer> ids) {
        return this.attendanceService.deleteBatch(ids);
    }

    @ApiOperation("编辑更新")
    @PutMapping
    public ResponseDTO edit(@RequestBody Attendance attendance) {
        return this.attendanceService.edit(attendance);
    }

    @ApiOperation("查询")
    @GetMapping("/{id}")
    public ResponseDTO findById(@PathVariable Integer id) {
        return this.attendanceService.findById(id);
    }

    @ApiOperation("分页条件查询")
    @GetMapping
    public ResponseDTO list(@RequestParam(defaultValue = "1") Integer current, @RequestParam(defaultValue = "10") Integer size, String name, String month) {
        return this.attendanceService.list(current, size, name, month);
    }

    @ApiOperation("数据导出接口")
    @GetMapping("/export/{month}")
    public ResponseDTO export(HttpServletResponse response, @PathVariable String month) throws IOException {
        return this.attendanceService.export(response, month);
    }

    @ApiOperation("数据导入接口")
    @PostMapping("/import")
    public ResponseDTO imp(MultipartFile file) throws IOException {
        return this.attendanceService.imp(file);
    }


    @ApiOperation("查询")
    @GetMapping("/staff/{id}")
    public ResponseDTO findByStaffId(@PathVariable Integer id) {
        return this.attendanceService.findByStaffId(id);
    }

    @ApiOperation("编辑更新")
    @PutMapping("/set")
    public ResponseDTO setAttendance(@RequestBody Attendance attendance) {
        return this.attendanceService.setAttendance(attendance);
    }


}


http://www.niftyadmin.cn/n/5147132.html

相关文章

应用出海新福祉,融云助IM社交迅速对齐海外用户体验

对于互联网业务而言&#xff0c;贴近年轻用户的创新是永恒的话题。近期&#xff0c;一种新的社交方式悄悄地在年轻人中流行开来&#xff0c;这就是“猫鼠游戏”。关注【融云全球互联网通信云】了解更多 玩法可以说是我们熟悉的“躲猫猫”游戏升级版&#xff0c;不同之处在于&a…

力扣 寻找旋转排序数组中的最小值 二分

&#x1f468;‍&#x1f3eb; 题目地址 &#x1f338; AC code class Solution { public int findMin(int[] nums){int res Integer.MAX_VALUE;int l 0;int r nums.length - 1;while (l < r){int mid l r >> 1;if (nums[mid] < res)res nums[mid];//中值 &…

Spring boot 整合 JWT

系列文章目录 第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Sprin…

Linux-使用命令行建立Wi-Fi链接

前些日子要使用香橙派做一个NAS&#xff0c;遇到了连接Wi-Fi的问题&#xff0c;奈何又没有图形界面&#xff0c;于是在网上查找资料&#xff0c;结合gpt&#xff0c;得到下文 命令行建立WiFi连接 以下知识均来自于Chatgpt&#xff0c;这真是太牛逼了 打开终端&#xff0c;列出…

【Vue】使用v-model实现控制子组件显隐

v-model 可以实现双向绑定的效果&#xff0c;允许父组件控制子组件的显示/隐藏&#xff0c;同时允许子组件自己控制自身的显示/隐藏。以下是如何使用 v-model 实现这个需求&#xff1a; 在父组件中&#xff0c;你可以使用 v-model 来双向绑定一个变量&#xff0c;这个变量用于…

Go如何创建一个包并使用(导入本地包和注意事项)

Go 语言中&#xff0c;包&#xff08;Package&#xff09;的目的和其他语言中的库或模块是一样的&#xff0c;支持模块化、封装、单独编译和重用。 ——《The Go Programming Language》 有时候需要自己写一个包方便多次使用&#xff0c;但是在导入自己写的包时遇到了问题。我以…

【Python Numpy】修改数组形状

文章目录 前言一、什么是NumPy数组形状&#xff1f;二、NumPy改变数组形状的方法2.1 reshape方法2.2 resize方法2.3 flatten方法2.4 ravel方法2.5 transpose方法 三、关于修改数组形状更多的示例代码总结 前言 NumPy&#xff08;Numerical Python&#xff09;是Python中用于处…

通过git多人协调开发

多人协调开发过程中的问题解决。 1.新建远程的仓库分支&#xff1b; 2.拉取线上代码&#xff0c;并在VScode中打开&#xff1b; 3 拉完之后&#xff0c;打开VScode之后的左下角显示的就是当前分支的名称&#xff0c;点击之后即可随意切换&#xff1b; 4 创建本地分支&#xff0…