Springboot+vue 프로젝트 인사 관리 시스템

개발 언어: 자바

개발 도구: IDEA/Eclipse

데이터베이스: MYSQL5.7

애플리케이션 서비스: Tomcat7/Tomcat8

프레임워크 사용: springboot+vue

JDK 버전: jdk1.8

기사 끝에서 소스 코드 받기

시스템은 크게 관리자, 일반 사용자 및 직원의 세 부분으로 구분되며 주요 기능에는 개인 센터, 일반 사용자 관리, 직원 관리, 인사 파일 관리, 부서 관리, 급여 관리, 인사 이동 관리, 직무 관리, 교육 관리, 및 채용 정보 관리. , 이력서 관리, 초청 면접 관리, 채용 정보 관리, 직원 지원 관리, 시스템 관리 및 기타 기능. 이 시스템은 효율적이고 역동적이며 상호 작용하며 친근한 인사 관리 시스템입니다.

키워드 : 인사시스템, 자바기술, MySQL 데이터베이스, B/S 구조

시스템 기능

이 시스템의 기능은 직원 및 관리자 모듈로 구분됩니다.

  1. 직원 배경 기능 모듈에는 개인 센터, 급여 관리, 인사 이동 관리, 교육 관리, 채용 정보 관리, 직원 지원 관리 및 시스템 관리가 포함됩니다.
  2. 프론트 엔드 기능 모듈에는 홈페이지, 채용 정보, 시스템 공지, 개인 센터 및 백그라운드 관리가 포함됩니다.
  3. 관리자 기능 모듈에는 일반 사용자 관리, 직원 관리, 인사 파일 관리, 부서 관리, 급여 관리, 인사 이동 관리, 직무 관리, 교육 관리, 채용 정보 관리, 직무 이력서 관리, 초청 면접 관리, 고용 정보 관리, 직원이 포함됩니다. 관리 애플리케이션 관리, 시스템 관리 및 기타 기능.

프런트 엔드 기능 모듈 

프론트데스크 첫 페이지에서는 그림과 같이 인사시스템 홈페이지에서 홈페이지, 채용정보, 제도공지, 개인센터, 배경관리 등의 내용을 볼 수 있습니다. 

 로그인하면 그림과 같이 로그인 페이지에서 계정, 비밀번호, 역할 및 기타 세부 정보를 입력하고 필요에 따라 로그인할 수 있습니다.

개인센터는 개인센터 페이지에서 이용자 계정, 비밀번호, 이름, 성별, 사진, 연락처, 이메일, 기타 정보를 기입하실 수 있으며, 필요에 따라 그림과 같이 개인정보를 추가, 수정, 삭제할 수 있습니다.

 채용정보, 채용정보 페이지에서 해당 정보를 조회할 수 있으며, 필요에 따라 채용정보에 이력서 발송 등의 작업을 그림과 같이 수행할 수 있습니다.

 

사용자는 공지 정보를 볼 수 있으며, 공지의 제목과 사진을 클릭하면 그림과 같이 공지의 자세한 내용을 볼 수 있습니다. 

 

 

관리자 기능 모듈

 

 

 

 

 

 

 

 

직원 백그라운드 기능 모듈

 

 

 

 

 

 핵심 코드의 일부:

package com.controller;


import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用户名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

 

추천

출처blog.csdn.net/m0_49113107/article/details/123694850