Java如何实现员工绩效管理系统
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要为大家展示了"Java如何实现员工绩效管理系统",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Java如何实现员工绩效管理系统"这篇文章吧。基于
千家信息网最后更新 2026年11月02日Java如何实现员工绩效管理系统
这篇文章主要为大家展示了"Java如何实现员工绩效管理系统",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Java如何实现员工绩效管理系统"这篇文章吧。
基于SSM+Mysql+Maven+HTML实现的员工绩效管理系统。该系统只有后台页面,后台前端框架使用的是layui官网推荐后台界面。
角色分为管理员和员工
管理员功能有:员工管理、职位管理、部门管理、岗位管理、工资管理、工龄管理、考勤管理、工资项管理等。
员工功能有:考勤管理、工资管理、个人信息。
运行环境:jdk1.8、tomcat7.0\8.5、maven3.5\3.6、eclipse、mysql5.x。


后台员工管理控制器代码:
/** * 后台员工管理控制器 * @author Administrator * */@RequestMapping("/admin/staff")@Controllerpublic class StaffController { @Autowired private StaffService staffService; @Autowired private JobTitleService jobTitleService; @Autowired private RoleService roleService; @Autowired private PositionService positionService; @Autowired private DepartmentService departmentService; @Autowired private OperaterLogService operaterLogService; @Autowired private AttendanceService attendanceService; /** * 员工列表页面 * @param model * @param staff * @param pageBean * @return */ @RequestMapping(value="/list") public String list(Model model, Staff staff, PageBean pageBean){ model.addAttribute("title", "员工列表"); model.addAttribute("jobNumber", staff.getJobNumber()==null?"":staff.getJobNumber()); model.addAttribute("pageBean", staffService.findList(staff, pageBean)); return "admin/staff/list"; } /** * 新增员工页面 * @param model * @return */ @RequestMapping(value="/add",method=RequestMethod.GET) public String add(Model model){ model.addAttribute("roles", roleService.findAll()); model.addAttribute("educationEnum",EducationEnum.values()); model.addAttribute("jobTitleList",jobTitleService.findAll()); model.addAttribute("positionList",positionService.findAll()); model.addAttribute("departmentList",departmentService.findAll()); return "admin/staff/add"; } /** * 员工添加表单提交处理 * @param staff * @return */ @RequestMapping(value="/add",method=RequestMethod.POST) @ResponseBody public Result add(Staff staff){ //用统一验证实体方法验证是否合法 CodeMsg validate = ValidateEntityUtil.validate(staff); if(validate.getCode() != CodeMsg.SUCCESS.getCode()){ return Result.error(validate); } if(staff.getRole() == null || staff.getRole().getId() == null){ return Result.error(CodeMsg.ADMIN_STAFF_ROLE_ERROR); } if(!StringUtil.isMobile(staff.getMobile())){ return Result.error(CodeMsg.ADMIN_STAFF_MOBILE_ERROR); } if(!StringUtil.isMobile(staff.getEmergencyMobile())){ return Result.error(CodeMsg.ADMIN_STAFF_EMERGENCY_MOBILE_ERROR); } //自动生成工号 int maxId = staffService.findMaxId()+1; String jobNumber = DateUtil.getCurrentDateTime("yyyyMMdd"); if(maxId<10){ jobNumber=jobNumber+"0"+maxId; }else{ jobNumber=jobNumber+maxId; } staff.setJobNumber(jobNumber); //到这说明一切符合条件,进行数据库新增 if(staffService.save(staff) == null){ return Result.error(CodeMsg.ADMIN_STAFF_ADD_ERROR); } operaterLogService.add("添加员工,员工名:" + staff.getName()); return Result.success(true); } @RequestMapping(value="/edit_self",method=RequestMethod.POST) @ResponseBody public Result edit_self(Staff staff, HttpServletRequest request){ //用统一验证实体方法验证是否合法 CodeMsg validate = ValidateEntityUtil.validate(staff); if(validate.getCode() != CodeMsg.SUCCESS.getCode()){ return Result.error(validate); } if(!StringUtil.isMobile(staff.getMobile())){ return Result.error(CodeMsg.ADMIN_STAFF_MOBILE_ERROR); } if(!StringUtil.isMobile(staff.getEmergencyMobile())){ return Result.error(CodeMsg.ADMIN_STAFF_EMERGENCY_MOBILE_ERROR); } if(staff.getId() == null || staff.getId().longValue() <= 0){ return Result.error(CodeMsg.ADMIN_STAFF_NOT_EXIST_ERROR); } //到这说明一切符合条件,进行数据库保存 Staff findById = staffService.find(staff.getId()); //讲提交的员工信息指定字段复制到已存在的staff对象中,该方法会覆盖新字段内容 BeanUtils.copyProperties(staff, findById, "id","createTime","updateTime","jobNumber", "role","educationEnum","jobTitle", "position","department","entryTime"); Staff saveStaff = staffService.save(findById); if(saveStaff == null){ return Result.error(CodeMsg.ADMIN_STAFF_EDIT_ERROR); } Staff loginedStaff = SessionUtil.getLoginedStaff(); if(loginedStaff != null){ if(loginedStaff.getId().longValue() == findById.getId().longValue()){ loginedStaff.setHeadPic(saveStaff.getHeadPic()); loginedStaff.setName(saveStaff.getName()); loginedStaff.setMobile(saveStaff.getMobile()); loginedStaff.setEmergencyContact(saveStaff.getEmergencyContact()); loginedStaff.setEmergencyMobile(saveStaff.getEmergencyMobile()); loginedStaff.setAge(saveStaff.getAge()); loginedStaff.setSex(saveStaff.getSex()); SessionUtil.set(SessionConstant.SESSION_STAFF_LOGIN_KEY,loginedStaff); } } operaterLogService.add("编辑员工,员工名:" + staff.getName()); return Result.success(true); } /** * 员工编辑页面 * @param model * @return */ @RequestMapping(value="/edit",method=RequestMethod.GET) public String edit(Model model,@RequestParam(name="id",required=true)Long id){ model.addAttribute("staff", staffService.find(id)); model.addAttribute("roles", roleService.findAll()); model.addAttribute("educationEnum",EducationEnum.values()); model.addAttribute("jobTitleList",jobTitleService.findAll()); model.addAttribute("positionList",positionService.findAll()); model.addAttribute("departmentList",departmentService.findAll()); return "admin/staff/edit"; } /** * 编辑员工信息表单提交处理 * @param staff * @return */ @RequestMapping(value="/edit",method=RequestMethod.POST) @ResponseBody public Result edit(Staff staff, HttpServletRequest request){ //用统一验证实体方法验证是否合法 CodeMsg validate = ValidateEntityUtil.validate(staff); if(validate.getCode() != CodeMsg.SUCCESS.getCode()){ return Result.error(validate); } if(staff.getRole() == null || staff.getRole().getId() == null){ return Result.error(CodeMsg.ADMIN_STAFF_ROLE_ERROR); } if(!StringUtil.isMobile(staff.getMobile())){ return Result.error(CodeMsg.ADMIN_STAFF_MOBILE_ERROR); } if(!StringUtil.isMobile(staff.getEmergencyMobile())){ return Result.error(CodeMsg.ADMIN_STAFF_EMERGENCY_MOBILE_ERROR); } if(staff.getId() == null || staff.getId().longValue() <= 0){ return Result.error(CodeMsg.ADMIN_STAFF_NOT_EXIST_ERROR); } //到这说明一切符合条件,进行数据库保存 Staff findById = staffService.find(staff.getId()); //讲提交的员工信息指定字段复制到已存在的staff对象中,该方法会覆盖新字段内容 BeanUtils.copyProperties(staff, findById, "id","createTime","updateTime","jobNumber"); Staff saveStaff = staffService.save(findById); if(saveStaff == null){ return Result.error(CodeMsg.ADMIN_STAFF_EDIT_ERROR); } Staff loginedStaff = SessionUtil.getLoginedStaff(); if(loginedStaff != null){ if(loginedStaff.getId().longValue() == findById.getId().longValue()){ loginedStaff.setHeadPic(saveStaff.getHeadPic()); loginedStaff.setName(saveStaff.getName()); loginedStaff.setMobile(saveStaff.getMobile()); loginedStaff.setEmergencyContact(saveStaff.getEmergencyContact()); loginedStaff.setEmergencyMobile(saveStaff.getEmergencyMobile()); loginedStaff.setAge(saveStaff.getAge()); loginedStaff.setSex(saveStaff.getSex()); SessionUtil.set(SessionConstant.SESSION_STAFF_LOGIN_KEY,loginedStaff); } } operaterLogService.add("编辑员工,员工名:" + staff.getName()); return Result.success(true); } /** * 离职员工 * @param id * @return */ @RequestMapping(value="/delete",method=RequestMethod.POST) @ResponseBody public Result delete(@RequestParam(name="id",required=true)Long id){ if(staffService.updateStatus(StaffStatus.QUIT.getCode(), id)<=0){ return Result.error(CodeMsg.ADMIN_STAFF_STATUS_ERROR); } operaterLogService.add("员工离职,员工ID:" + id); return Result.success(true); } /** * 修改个人信息 * @param model * @return */ @RequestMapping("/self") public String self(Model model){ Staff loginedStaff = SessionUtil.getLoginedStaff(); Staff staff = staffService.find(loginedStaff.getId()); model.addAttribute("roles", roleService.findAll()); model.addAttribute("educationEnum",EducationEnum.values()); model.addAttribute("jobTitleList",jobTitleService.findAll()); model.addAttribute("positionList",positionService.findAll()); model.addAttribute("departmentList",departmentService.findAll()); model.addAttribute("staff",staff); return "admin/staff/self"; } } 后台角色管理控制器:
/** * 后台角色管理控制器 * @author yy * */@RequestMapping("/admin/role")@Controllerpublic class RoleController { private Logger log = LoggerFactory.getLogger(RoleController.class); @Autowired private MenuService menuService; @Autowired private OperaterLogService operaterLogService; @Autowired private RoleService roleService; /** * 分页搜索角色列表 * @param model * @param role * @param pageBean * @return */ @RequestMapping(value="/list") public String list(Model model,Role role,PageBean pageBean){ model.addAttribute("title", "角色列表"); model.addAttribute("name", role.getName()); model.addAttribute("pageBean", roleService.findByName(role, pageBean)); return "admin/role/list"; } /** * 角色添加页面 * @param model * @return */ @RequestMapping(value="/add",method=RequestMethod.GET) public String add(Model model){ List 后台工龄管理Controller:
/** * 后台工龄管理Controller */@Controller@RequestMapping("/admin/work_years")public class WorkingYearsController { @Autowired private WorkingYearsService workingYearsService; @Autowired private OperaterLogService operaterLogService; /** * 分页查询工龄列表 * @param model * @param pageBean * @param workingYears * @return */ @RequestMapping("/list") public String list(Model model, PageBean pageBean, WorkingYears workingYears){ model.addAttribute("title","工龄列表"); model.addAttribute("years",workingYears.getYears()); model.addAttribute("pageBean",workingYearsService.findList(workingYears, pageBean)); return "/admin/working_years/list"; } /** * 添加页面 * @return */ @RequestMapping("/add") public String add(){ return "/admin/working_years/add"; } /** * 工龄添加提交处理 * @param workingYears * @return */ @RequestMapping(value = "/add",method = RequestMethod.POST) @ResponseBody public Result add(WorkingYears workingYears){ //用统一验证实体方法验证是否合法 CodeMsg validate = ValidateEntityUtil.validate(workingYears); if(validate.getCode() != CodeMsg.SUCCESS.getCode()){ return Result.error(validate); } if(workingYearsService.findByYears(workingYears.getYears())!=null){ return Result.error(CodeMsg.ADMIN_WORKING_YEARS_EXIST_ERROR); } if(workingYearsService.save(workingYears) == null){ return Result.error(CodeMsg.ADMIN_WORKING_YEARS_ADD_ERROR); } operaterLogService.add("添加工龄,工龄补贴为:" + workingYears.getSubsidy()); return Result.success(true); } /** * 编辑页面 * @param model * @param id * @return */ @RequestMapping("/edit") public String edit(Model model,@RequestParam(name="id",required=true)Long id){ model.addAttribute("workYears",workingYearsService.find(id)); return "/admin/working_years/edit"; } /** * 编辑表单提交处理 * @param workingYears * @return */ @RequestMapping(value = "/edit",method = RequestMethod.POST) @ResponseBody public Result edit(WorkingYears workingYears){ //用统一验证实体方法验证是否合法 CodeMsg validate = ValidateEntityUtil.validate(workingYears); if(validate.getCode() != CodeMsg.SUCCESS.getCode()){ return Result.error(validate); } if(workingYearsService.isExistYear(workingYears.getYears(),workingYears.getId())){ return Result.error(CodeMsg.ADMIN_WORKING_YEARS_EXIST_ERROR); } //到这说明一切符合条件,进行数据库保存 WorkingYears findById = workingYearsService.find(workingYears.getId()); //讲提交的用户信息指定字段复制到已存在的department对象中,该方法会覆盖新字段内容 BeanUtils.copyProperties(workingYears, findById, "id","createTime","updateTime"); if(workingYearsService.save(findById) == null){ return Result.error(CodeMsg.ADMIN_WORKING_YEARS_EDIT_ERROR); } operaterLogService.add("编辑工龄,工龄补贴为:" + workingYears.getSubsidy()); return Result.success(true); } /** * 工龄删除操作 * @param id * @return */ @RequestMapping(value = "delete",method = RequestMethod.POST) @ResponseBody public Result delete(@RequestParam(name="id",required=true)Long id){ try{ workingYearsService.delete(id); }catch (Exception e){ return Result.error(CodeMsg.ADMIN_WORKING_YEARS_DELETE_ERROR); } operaterLogService.add("删除工龄补贴,工龄ID:" + id); return Result.success(true); }} 以上是"Java如何实现员工绩效管理系统"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
员工
管理
角色
验证
工龄
方法
后台
页面
合法
实体
统一
信息
内容
字段
处理
系统
表单
管理系统
绩效
控制器
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网的科技
麻工互联网科技
深圳互联网科技公司
喔噻互联网科技
米客互联网科技
奔汉互联网科技
互联网科技小额贷款
顺玮阁互联网科技
华服互联网科技官网
玉溪新华互联网科技好不好
朱啸虎曾投资哪些互联网科技企业
卓翼科技产业互联网合作
张召忠谈中国互联网科技
互联网相关科技技术
广州有谷有贝互联网科技有限公司
山东大美朱楼互联网科技有限公司
信承诺互联网科技有限公司
抖集互联网科技技术咨询
互联网科技职业技能培训学校
互联网科技企业文化
百单网互联网科技有限公司怎么样
美国互联网科技巨头监管
金融科技与互联网金融
科技与互联网的利与弊
苏州铭阳互联网科技有限公司
互联网科技和信息
互联网在线教育科技创业
2021互联网科技公司排名
互联网科技大会大佬
长沙易易互联网科技有限公司