开发工具: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);
}
}