作者计算机毕业设计江挽个人简介曾长期从事计算机专业培训教学本人也热爱上课教学语言擅长Java、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法也喜欢交流技术大家有技术代码这一块的问题可以问我想说的话感谢大家的关注与支持网站实战项目安卓/小程序实战项目大数据实战项目深度学习实战项目目录基于spring boot的员工管理系统介绍基于spring boot的员工管理系统演示视频基于spring boot的员工管理系统演示图片基于spring boot的员工管理系统代码展示基于spring boot的员工管理系统文档展示基于spring boot的员工管理系统介绍基于Spring Boot的员工管理系统是一套面向中小型企业日常办公场景设计的信息化管理平台采用B/S架构进行开发后端以Java语言结合Spring Boot框架搭建同时提供Python语言结合Django框架的版本供选择前端使用Vue配合ElementUI与HTML完成页面交互数据统一存储于MySQL数据库中开发工具可选用IDEA或PyCharm。系统围绕企业员工管理的实际流程进行功能划分涵盖系统首页、员工管理、部门管理、申请管理、请假申请、记录管理、出勤记录、奖惩信息、工资信息、设置、个人中心以及修改密码等模块能够完成员工基础信息的录入与维护、部门结构的配置、请假与申请的提交和审批、出勤情况的记录、奖惩信息的登记以及工资信息的查询与管理等操作用户通过个人中心可以查看和调整自身账户信息并支持密码修改整体功能贴合企业人事管理的常见需求结构清晰、操作直观适合作为计算机专业毕业设计的实践课题。基于spring boot的员工管理系统演示视频演示视频基于spring boot的员工管理系统演示图片基于spring boot的员工管理系统代码展示importorg.apache.spark.sql.SparkSession;importorg.apache.spark.sql.Dataset;importorg.apache.spark.sql.Row;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.*;importjava.util.List;importjava.util.Map;RestControllerRequestMapping(/api/employee)publicclassEmployeeController{AutowiredprivateEmployeeServiceemployeeService;privateSparkSessionsparkSparkSession.builder().appName(EmployeeSystem).master(local[*]).getOrCreate();PostMapping(/add)publicMapString,ObjectaddEmployee(RequestBodyEmployeeemployee){if(employee.getName()null||employee.getName().trim().isEmpty()){returnMap.of(code,400,msg,员工姓名不能为空);}if(employee.getDeptId()null){returnMap.of(code,400,msg,请选择所属部门);}EmployeeexistemployeeService.getByPhone(employee.getPhone());if(exist!null){returnMap.of(code,400,msg,该手机号已被使用);}employee.setStatus(1);employee.setCreateTime(newjava.util.Date());introwsemployeeService.insert(employee);if(rows0){returnMap.of(code,200,msg,员工添加成功,data,employee.getId());}returnMap.of(code,500,msg,添加失败请稍后重试);}GetMapping(/page)publicMapString,ObjectpageEmployee(RequestParam(defaultValue1)intpage,RequestParam(defaultValue10)intsize,RequestParam(requiredfalse)Stringkeyword){intoffset(page-1)*size;ListEmployeelistemployeeService.pageList(keyword,offset,size);inttotalemployeeService.countByKeyword(keyword);DatasetRowdsspark.createDataFrame(list,Employee.class);longdeptCountds.select(deptId).distinct().count();returnMap.of(code,200,msg,查询成功,total,total,deptCount,deptCount,data,list);}}ServicepublicclassLeaveService{AutowiredprivateLeaveMapperleaveMapper;AutowiredprivateEmployeeMapperemployeeMapper;publicMapString,ObjectapplyLeave(Leaveleave){if(leave.getEmployeeId()null){returnMap.of(code,400,msg,申请人不能为空);}if(leave.getStartTime()null||leave.getEndTime()null){returnMap.of(code,400,msg,请假时间不能为空);}if(leave.getStartTime().after(leave.getEndTime())){returnMap.of(code,400,msg,开始时间不能晚于结束时间);}EmployeeempemployeeMapper.selectById(leave.getEmployeeId());if(empnull){returnMap.of(code,400,msg,员工不存在);}intdays(int)((leave.getEndTime().getTime()-leave.getStartTime().getTime())/(1000*60*60*24))1;leave.setDays(days);leave.setStatus(0);leave.setApplyTime(newjava.util.Date());introwsleaveMapper.insert(leave);if(rows0){returnMap.of(code,200,msg,请假申请已提交,leaveId,leave.getId());}returnMap.of(code,500,msg,提交失败);}PostMapping(/approve)publicMapString,ObjectapproveLeave(RequestParamLongleaveId,RequestParamIntegerstatus,RequestParam(requiredfalse)Stringremark){LeaveleaveleaveMapper.selectById(leaveId);if(leavenull){returnMap.of(code,400,msg,请假记录不存在);}if(leave.getStatus()!0){returnMap.of(code,400,msg,该申请已处理请勿重复操作);}leave.setStatus(status);leave.setRemark(remark);leave.setApproveTime(newjava.util.Date());introwsleaveMapper.updateById(leave);if(rows0){returnMap.of(code,200,msg,status1?已通过:已驳回);}returnMap.of(code,500,msg,审批失败);}}ServicepublicclassSalaryService{AutowiredprivateSalaryMappersalaryMapper;AutowiredprivateAttendanceMapperattendanceMapper;privateSparkSessionsparkSparkSession.builder().appName(SalarySystem).master(local[*]).getOrCreate();publicMapString,ObjectgenerateSalary(LongemployeeId,Stringmonth){if(employeeIdnull||monthnull||month.isEmpty()){returnMap.of(code,400,msg,员工和月份不能为空);}SalaryexistsalaryMapper.getByEmployeeAndMonth(employeeId,month);if(exist!null){returnMap.of(code,400,msg,该月工资已生成);}intattendanceDaysattendanceMapper.countNormalDays(employeeId,month);intleaveDaysattendanceMapper.countLeaveDays(employeeId,month);doublebaseSalarysalaryMapper.getBaseSalary(employeeId);doubledeductionleaveDays*(baseSalary/22);doublerealSalarybaseSalary-deduction;SalarysalarynewSalary();salary.setEmployeeId(employeeId);salary.setMonth(month);salary.setBaseSalary(baseSalary);salary.setAttendanceDays(attendanceDays);salary.setLeaveDays(leaveDays);salary.setDeduction(deduction);salary.setRealSalary(realSalary);salary.setCreateTime(newjava.util.Date());introwssalaryMapper.insert(salary);if(rows0){returnMap.of(code,200,msg,工资生成成功,realSalary,realSalary);}returnMap.of(code,500,msg,生成失败);}GetMapping(/statistics)publicMapString,Objectstatistics(RequestParamStringmonth){ListSalarylistsalaryMapper.listByMonth(month);DatasetRowdsspark.createDataFrame(list,Salary.class);doubletotalSalaryds.agg(org.apache.spark.sql.functions.sum(realSalary)).first().getDouble(0);longemployeeCountds.select(employeeId).distinct().count();returnMap.of(code,200,msg,统计完成,totalSalary,totalSalary,employeeCount,employeeCount);}}基于spring boot的员工管理系统文档展示作者计算机毕业设计江挽个人简介曾长期从事计算机专业培训教学本人也热爱上课教学语言擅长Java、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法也喜欢交流技术大家有技术代码这一块的问题可以问我想说的话感谢大家的关注与支持网站实战项目安卓/小程序实战项目大数据实战项目深度学习实战项目