当前位置:   article > 正文

Java项目:企业绩效管理系统(java+SSM+HTML+LayUI+bootstrap+mysql)_绩效管理系统开源代码下载

绩效管理系统开源代码下载

源码获取:俺的博客首页 "资源" 里下载!

项目介绍


本项目包含管理员与普通员工两种角色,
管理员角色包含以下功能:
管理员登录,员工管理,部门管理,岗位管理,职称管理,工龄奖金管理,工资项管理,考勤管理,工资查询,统计图表等功能。
员工角色包含以下功能:
员工登录,个人信息管理,考勤管理,工资详情等功能。


环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;


技术栈

1. 后端:Spring+SpringMVC+Mybatis
2. 前端:HTML+CSS+JavaScript+LayUI+jquery+bootstrap


使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中dbconfig.properties配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/ssm_esms 登录
注:tomcat中需配置路径为/ssm_esms,否则会有异常
管理员账号/密码:admin/admin
用户账号/密码:18080833/123456

 

 

 

 

 

员工管理控制层:

  1. @RestController
  2. @RequestMapping("/employee")
  3. @CrossOrigin
  4. @Slf4j
  5. public class EmployeeController {
  6. @Autowired
  7. private EmployeeService employeeService;
  8. @Autowired
  9. private DepartmentService departmentService;
  10. @Autowired
  11. private JobService jobService;
  12. @Autowired
  13. private EduLevelMapper eduLevelMapper;
  14. @Autowired
  15. private EmployeeMapper employeeMapper;
  16. /**
  17. * 搜索接口
  18. */
  19. @GetMapping("/search")
  20. public Result search(@RequestParam(name = "name", required = false,defaultValue = "") String name,
  21. @RequestParam(name = "current", required = false, defaultValue = "1") Integer current,
  22. @RequestParam(name = "size", required = false, defaultValue = "10") Integer size) {
  23. return employeeService.list(current, size, name);
  24. }
  25. /**
  26. * 分页查询接口
  27. *
  28. * @param current
  29. * @param size
  30. * @return
  31. */
  32. @GetMapping("/list")
  33. public Result list(@RequestParam(name = "current", required = false, defaultValue = "1") Integer current,
  34. @RequestParam(name = "size", required = false, defaultValue = "10") Integer size) {
  35. return employeeService.list(current, size, null);
  36. }
  37. /**
  38. * 根据id获取员工具体信息
  39. * @param id
  40. * @return
  41. */
  42. @GetMapping("/getUserById")
  43. public EmployeeDTO getUserAllInfoById(@RequestParam(name = "id") Integer id) {
  44. return employeeService.getUserById(id);
  45. }
  46. /**
  47. * 根据员工获取信息
  48. * @param id
  49. * @return
  50. */
  51. @GetMapping("/getEmployeeById")
  52. public Employee getUserById(@RequestParam(name = "id") Integer id) {
  53. return employeeMapper.selectById(id);
  54. }
  55. /**
  56. * 增加员工接口
  57. *
  58. * @param employee
  59. * @return
  60. */
  61. @PostMapping("/add")
  62. public Map<String, Object> addUser(@RequestBody Employee employee) {
  63. log.info(employee.toString());
  64. return employeeService.add(employee);
  65. }
  66. /**
  67. * 更新用户
  68. * @param employee
  69. * @return
  70. */
  71. @PostMapping("/update")
  72. public Map<String, Object> updateUser(@RequestBody Employee employee) {
  73. log.info(employee.toString());
  74. return employeeService.update(employee);
  75. }
  76. /**
  77. * 删除用户
  78. * @param id
  79. * @return
  80. */
  81. @GetMapping("/delete")
  82. public Result deleteEmployeeById(@RequestParam(name = "id") Integer id) {
  83. return employeeService.deleteEmployeeById(id);
  84. }
  85. /**
  86. * 辞退员工
  87. *
  88. * @param id
  89. * @return
  90. */
  91. @GetMapping("/dismiss")
  92. public Map<String, Object> dismissEmployeeById(@RequestParam(name = "id") Integer id) {
  93. return employeeService.dismissEmployeeById(id);
  94. }
  95. /**
  96. * 得到所以工作,部门,学历信息
  97. *
  98. * @return
  99. */
  100. @GetMapping("/otherInfo")
  101. public Result getAllOtherInfo() {
  102. Map<String, Object> info = new HashMap<>();
  103. info.put("departments", departmentService.selectAll());
  104. info.put("jobs", jobService.selectAll());
  105. info.put("eduLevels", eduLevelMapper.selectList(null));
  106. return Result.success(info);
  107. }
  108. @GetMapping("/map")
  109. public Result getMap() {
  110. return employeeService.getMap();
  111. }
  112. }

登录管理业务处理层:

  1. @Service
  2. public class AuthServiceImpl implements AuthService {
  3. @Autowired
  4. private EmployeeMapper employeeMapper;
  5. @Override
  6. public Result login(String email, String password) {
  7. //先用邮箱查询是否有这个员工
  8. LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper<>();
  9. queryWrapper.eq(Employee::getEmail, email);
  10. // queryWrapper.eq(Employee::getPassword, password);
  11. Employee employee = employeeMapper.selectOne(queryWrapper);
  12. //判断员工是否存在
  13. if (employee == null) {
  14. return Result.failure(ResponseCode.USER_NOT_FOUND);
  15. } else {
  16. //判断密码是否正确
  17. if (!employee.getPassword().equals(password)) {
  18. return Result.failure(ResponseCode.PASSWORD_ERROR);
  19. }
  20. // 生成token
  21. String token = UUID.randomUUID().toString();
  22. LoginDTO loginDTO = new LoginDTO();
  23. if (employee.getAuthority() == 1) {
  24. loginDTO.setSuper(true);
  25. } else {
  26. loginDTO.setSuper(false);
  27. }
  28. loginDTO.setToken(token);
  29. loginDTO.setUserId(employee.getId());
  30. return Result.success(loginDTO);
  31. }
  32. }
  33. }

部门管理控制层: 

  1. @Service
  2. public class DepartmentServiceImpl implements DepartmentService {
  3. @Autowired
  4. private DepartmentMapper departmentMapper;
  5. @Autowired
  6. private DeptManagerMapper deptManagerMapper;
  7. @Autowired
  8. private EmployeeMapper employeeMapper;
  9. @Override
  10. public List<DepartmentDTO> selectAll() {
  11. List<DepartmentDTO> departmentDTOS = departmentMapper.selectAll();
  12. for (DepartmentDTO departmentDTO : departmentDTOS) {
  13. LambdaQueryWrapper<DeptManager> queryWrapper = new LambdaQueryWrapper<>();
  14. queryWrapper.eq(DeptManager::getDeptId, departmentDTO.getId());
  15. DeptManager deptManager = deptManagerMapper.selectOne(queryWrapper);
  16. // fixes bug #空指针异常, 如果部门没有经理, 会抛出空指针异常
  17. if (deptManager != null) {
  18. EmployeeDTO manager = employeeMapper.getUserById(deptManager.getEmpId());
  19. departmentDTO.setManager(manager);
  20. }
  21. }
  22. return departmentDTOS;
  23. }
  24. @Override
  25. public Map<String, Object> add(Map<String, Object> map) {
  26. //先查询是否有部门
  27. String name = (String) map.get("name");
  28. Integer managerId = Integer.parseInt((String) map.get("managerId"));
  29. LambdaQueryWrapper<Department> wrapper = new LambdaQueryWrapper<>();
  30. wrapper.eq(Department::getName, name);
  31. Integer count = departmentMapper.selectCount(wrapper);
  32. if (count != 0) {
  33. map.put("code", 511);
  34. map.put("message", "部门存在");
  35. return map;
  36. }
  37. //查询经理是否存在
  38. LambdaQueryWrapper<Employee> wrapper1 = new LambdaQueryWrapper<>();
  39. wrapper1.eq(Employee::getId, managerId);
  40. Integer count1 = employeeMapper.selectCount(wrapper1);
  41. if (count1 == 0) {
  42. map.put("code", 404);
  43. map.put("message", "用户不存在");
  44. return map;
  45. }
  46. //定义返回结果
  47. Map<String, Object> resultMap = new HashMap<>();
  48. Department department = new Department();
  49. department.setIntro((String) map.get("description"));
  50. department.setName((String) map.get("name"));
  51. //插入部门
  52. int i = departmentMapper.insert(department);
  53. //部门经理表
  54. DeptManager deptManager = new DeptManager();
  55. deptManager.setDeptId(department.getId());
  56. deptManager.setEmpId(managerId);
  57. int insert = deptManagerMapper.insert(deptManager);
  58. if (i !=0 ) {
  59. map.put("code", 200);
  60. map.put("message", "添加成功");
  61. return map;
  62. } else {
  63. map.put("code", 500);
  64. map.put("message", "添加失败");
  65. return map;
  66. }
  67. }
  68. }

 源码获取:俺的博客首页 "资源" 里下载!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/476500
推荐阅读
相关标签
  

闽ICP备14008679号