100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Java项目:员工出差请假考勤管理系统(java+JSP+LayUI+HTML+servlet+Mysql)

Java项目:员工出差请假考勤管理系统(java+JSP+LayUI+HTML+servlet+Mysql)

时间:2021-09-02 09:48:34

相关推荐

Java项目:员工出差请假考勤管理系统(java+JSP+LayUI+HTML+servlet+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项目:否;

技术栈

HTML+JSP+CSS+JavaScript+LayUI+Servlet+Mysql

使用说明

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

2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;

3. 将项目中c3p0-config.xml与utils/C3P0Utils.java配置文件中的数据库配置改为自己的配置;

4. 运行项目,输入http://localhost:8080/kaoqin 登录

管理员账号/密码:admin/123456

员工管理控制层:

@RestController@RequestMapping("/employee")@CrossOrigin@Slf4jpublic class EmployeeController {@Autowiredprivate EmployeeService employeeService;@Autowiredprivate DepartmentService departmentService;@Autowiredprivate JobService jobService;@Autowiredprivate EduLevelMapper eduLevelMapper;@Autowiredprivate 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();}}

登录管理业务处理层:

@Servicepublic class AuthServiceImpl implements AuthService {@Autowiredprivate EmployeeMapper employeeMapper;@Overridepublic Result login(String email, String password) {//先用邮箱查询是否有这个员工LambdaQueryWrapper<Employee> 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);}// 生成tokenString 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);}}}

部门管理控制层:

@Servicepublic class DepartmentServiceImpl implements DepartmentService {@Autowiredprivate DepartmentMapper departmentMapper;@Autowiredprivate DeptManagerMapper deptManagerMapper;@Autowiredprivate EmployeeMapper employeeMapper;@Overridepublic List<DepartmentDTO> selectAll() {List<DepartmentDTO> departmentDTOS = departmentMapper.selectAll();for (DepartmentDTO departmentDTO : departmentDTOS) {LambdaQueryWrapper<DeptManager> 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;}@Overridepublic Map<String, Object> add(Map<String, Object> map) {//先查询是否有部门String name = (String) map.get("name");Integer managerId = Integer.parseInt((String) map.get("managerId"));LambdaQueryWrapper<Department> 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<Employee> 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;}}}

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。