基于javaweb的SpringBoot员工绩效考核系统(java+springboot+mybaits+vue+elementui+mysql)

运行环境

Java≥8、MySQL≥5.7、Node.js≥14

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可

❗没学过node.js的不要搞前后端分离项目

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

261524102608

271524102608

281524102608

291524102608

301524102608

311524102608

321524102608

331524102608

基于javaweb的SpringBoot员工绩效考核系统(java+springboot+mybaits+vue+elementui+mysql)

项目介绍

基于Springboot+vue实现的员工绩效考核管理系统

系统包含员工和管理员两个角色

管理员:

部门管理:负责创建、修改和删除部门,以及为部门设置权限和角色。

岗位管理:定义和管理岗位信息,包括添加、修改和删除岗位,以及设置岗位的职责和要求。

员工管理:全面管理员工信息,包括基本信息、工作经历、培训记录以及绩效考核结果等。

绩效指标管理:根据公司的业务需求,设定、修改和删除绩效指标。

绩效考核管理:设定考核周期,制定评估标准和方法,对员工进行定期的绩效考核,并生成相应的评估报告。

公告信息管理:发布公司政策、通知、会议安排等公告信息,确保员工及时获取。

员工:

个人中心:查看和更新个人信息,如联系方式、工作经历等。

查看绩效考核:查看自己的绩效考核结果,包括目标完成情况、评估得分等。

接收反馈:查看系统或上级给出的绩效反馈和改进建议,了解自己的工作表现和不足。

公告查看:查看系统发布的公告信息,确保自己了解公司的最新政策和通知。

报表查看:查看并理解自己的绩效考核报表,了解自己的绩效趋势和改进方向。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 

4.数据库:MySql 5.7/8.0版本均可;

5.是否Maven项目:是;

技术栈

后端:SpringBoot+Mybaits

前端:Vue+elementui

使用说明

项目运行:

  1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;

  2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令;

  3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

4.运行项目,在浏览器中输入地址:

后台登录页面

http://localhost:8080/springboot57n6g/admin/dist/index.html

管理员账户:abo 密码:abo

用户账户:员工1 密码:123456

文档结构展示:

系统登录展示:

公告管理展示:

部门展示:

岗位展示页面:

员工展示页面:

绩效指标展示:

绩效考核展示页面:

员工管理控制层:

@RestController

@RequestMapping(“/employee”)

@CrossOrigin

@Slf4j

public class EmployeeController {

@Autowired

private EmployeeService employeeService;

@Autowired

private DepartmentService departmentService;

@Autowired

private JobService jobService;

@Autowired

private EduLevelMapper eduLevelMapper;

@Autowired

private EmployeeMapper employeeMapper;

/**

  • 搜索接口

*/

@GetMapping(“/search”)

public Result search(@RequestParam(name = “name”, required = false,defaultValue = “”) String name,

@RequestParam(name = “current”, required = false, defaultValue = “1”) Integer current,

@RequestParam(name = “size”, required = false, defaultValue = “10”) Integer size) {

return employeeService.list(current, size, name);

/**

  • 分页查询接口

  • @param current

  • @param size

  • @return

*/

@GetMapping(“/list”)

public Result list(@RequestParam(name = “current”, required = false, defaultValue = “1”) Integer current,

@RequestParam(name = “size”, required = false, defaultValue = “10”) Integer size) {

return employeeService.list(current, size, null);

/**

  • 根据id获取员工具体信息

  • @param id

  • @return

*/

@GetMapping(“/getUserById”)

public EmployeeDTO getUserAllInfoById(@RequestParam(name = “id”) Integer id) {

return employeeService.getUserById(id);

/**

  • 根据员工获取信息

  • @param id

  • @return

*/

@GetMapping(“/getEmployeeById”)

public Employee getUserById(@RequestParam(name = “id”) Integer id) {

return employeeMapper.selectById(id);

/**

  • 增加员工接口

  • @param employee

  • @return

*/

@PostMapping(“/add”)

public Map<String, Object> addUser(@RequestBody Employee employee) {

log.info(employee.toString());

return employeeService.add(employee);

/**

  • 更新用户

  • @param employee

  • @return

*/

@PostMapping(“/update”)

public Map<String, Object> updateUser(@RequestBody Employee employee) {

log.info(employee.toString());

return employeeService.update(employee);

/**

  • 删除用户

  • @param id

  • @return

*/

@GetMapping(“/delete”)

public Result deleteEmployeeById(@RequestParam(name = “id”) Integer id) {

return employeeService.deleteEmployeeById(id);

/**

  • 辞退员工

  • @param id

  • @return

*/

@GetMapping(“/dismiss”)

public Map<String, Object> dismissEmployeeById(@RequestParam(name = “id”) Integer id) {

return employeeService.dismissEmployeeById(id);

/**

  • 得到所以工作,部门,学历信息

  • @return

*/

@GetMapping(“/otherInfo”)

public Result getAllOtherInfo() {

Map<String, Object> info = new HashMap<>();

info.put(“departments”, departmentService.selectAll());

info.put(“jobs”, jobService.selectAll());

info.put(“eduLevels”, eduLevelMapper.selectList(null));

return Result.success(info);

@GetMapping(“/map”)

public Result getMap() {

return employeeService.getMap();

登录管理业务处理层:

@Service

public class AuthServiceImpl implements AuthService {

@Autowired

private EmployeeMapper employeeMapper;

@Override

public Result login(String email, String password) {

//先用邮箱查询是否有这个员工

LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();

queryWrapper.eq(Employee::getEmail, email);

// queryWrapper.eq(Employee::getPassword, password);

Employee employee = employeeMapper.selectOne(queryWrapper);

//判断员工是否存在

if (employee == null) {

return Result.failure(ResponseCode.USER_NOT_FOUND);

} else {

//判断密码是否正确

if (!employee.getPassword().equals(password)) {

return Result.failure(ResponseCode.PASSWORD_ERROR);

// 生成token

String token = UUID.randomUUID().toString();

LoginDTO loginDTO = new LoginDTO();

if (employee.getAuthority() == 1) {

loginDTO.setSuper(true);

} else {

loginDTO.setSuper(false);

loginDTO.setToken(token);

loginDTO.setUserId(employee.getId());

return Result.success(loginDTO);

部门管理控制层: 

@Service

public class DepartmentServiceImpl implements DepartmentService {

@Autowired

private DepartmentMapper departmentMapper;

@Autowired

private DeptManagerMapper deptManagerMapper;

@Autowired

private EmployeeMapper employeeMapper;

@Override

public List selectAll() {

List departmentDTOS = departmentMapper.selectAll();

for (DepartmentDTO departmentDTO : departmentDTOS) {

LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();

queryWrapper.eq(DeptManager::getDeptId, departmentDTO.getId());

DeptManager deptManager = deptManagerMapper.selectOne(queryWrapper);

// fixes bug #空指针异常, 如果部门没有经理, 会抛出空指针异常

if (deptManager != null) {

EmployeeDTO manager = employeeMapper.getUserById(deptManager.getEmpId());

departmentDTO.setManager(manager);

return departmentDTOS;

@Override

public Map<String, Object> add(Map<String, Object> map) {

//先查询是否有部门

String name = (String) map.get(“name”);

Integer managerId = Integer.parseInt((String) map.get(“managerId”));

LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();

wrapper.eq(Department::getName, name);

Integer count = departmentMapper.selectCount(wrapper);

if (count != 0) {

map.put(“code”, 511);

map.put(“message”, “部门存在”);

return map;

//查询经理是否存在

LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>();

wrapper1.eq(Employee::getId, managerId);

Integer count1 = employeeMapper.selectCount(wrapper1);

if (count1 == 0) {

map.put(“code”, 404);

map.put(“message”, “用户不存在”);

return map;

//定义返回结果

Map<String, Object> resultMap = new HashMap<>();

Department department = new Department();

department.setIntro((String) map.get(“description”));

department.setName((String) map.get(“name”));

//插入部门

int i = departmentMapper.insert(department);

//部门经理表

DeptManager deptManager = new DeptManager();

deptManager.setDeptId(department.getId());

deptManager.setEmpId(managerId);

int insert = deptManagerMapper.insert(deptManager);

if (i !=0 ) {

map.put(“code”, 200);

map.put(“message”, “添加成功”);

return map;

} else {

map.put(“code”, 500);

map.put(“message”, “添加失败”);

return map;


项目链接:
https://javayms.github.io?id=351524512608201ng
https://javayms.pages.dev?id=351524512608201ng