基于java的人事管理系统(源码+免费+可定制)

1. 项目概述

本课程设计旨在开发一款基于Java的人事管理系统,满足小企业日常办公需求。系统包括绩效考核、招聘管理、档案管理、工资管理、考勤管理、培训管理和系统管理七大模块,提供全面的人事管理解决方案。

2. 系统特色

该系统具备强大的权限控制功能,区分管理员、财务专员、人事专员和普通用户,确保不同用户拥有适当的系统访问权限。前端采用HTML、CSS、JavaScript,后端使用Java、Spring框架、MySQL数据库,实现用户友好的界面、多种数据操作和数据安全传输存储。

3. 实现目标

  • 实现绩效考核、招聘、档案、工资、考勤、培训、系统管理功能。
  • 提供权限控制,确保数据安全和合法访问。
  • 通过前后端技术结合,提供用户友好的界面和高效的操作体验。

4. 开发过程

  • 需求分析:明确系统功能和用户需求,制定详细需求文档。
  • 设计阶段:设计数据库结构,确定系统架构和功能模块。
  • 开发阶段:前端和后端并行开发,实现各模块功能。
  • 测试与优化:进行系统测试,修复漏洞,提高系统性能。
  • 部署与上线:将系统部署至服务器,进行性能测试,正式上线运行。

以下是开发完毕的系统展示图等信息。

一、角色图

管理员:

财务专员:

人事专员:

普通用户:

二、功能介绍

1. 登录

2. 绩效考核

绩效考核目前只做了简单的考核设置,后期可扩展更多功能与工资和培训挂钩。后期会从以下几个方面扩展:

  1. 季度考核不达标需要参加培训;
  2. 考核不达标影响绩效;
  3. 在公司做培训增加绩效;

3. 招聘管理

招聘需求:

面试结果:

4. 档案管理

员工档案:

合同管理:

5. 工资管理

6. 考勤管理

7. 培训管理

个人计划

工作日报:

转正申请:

培训计划

8. 系统管理

基础环境:

  1. JDK:1.8
  2. MySQL:5.7
  3. Maven3.0

使用框架:

  1. 核心框架:Spring Boot 2.2.13.RELEASE
  2. ORM框架:MyBatisPlus 3.1.2
  3. 数据库连接池:Druid 1.2.8
  4. 安全框架:Apache Shiro 1.8.0
  5. 日志:SLF4J ,Log4j
  6. 前端框架:VUE2.2.6,LayUI,Ztree,jQuery,Bootstrap

启动完成,访问:http://localhost:8803(账号admin/admin)

部分代码:

/**
 * 
 *
 *
 *
 * 
 */

package com.person.common.annotation;

import java.lang.annotation.*;

/**
 * 数据过滤
 *
 * @author 
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DataFilter {
    /**  表的别名 */
    String tableAlias() default "";

    /**  true:没有本部门数据权限,也能查询本人数据 */
    boolean user() default true;

    /**  true:拥有子部门数据权限 */
    boolean subDept() default false;

    /**  部门ID */
    String deptId() default "dept_id";

    /**  用户ID */
    String userId() default "user_id";
}

/**
 * 
 *
 * 
 *
 * 
 */

package com.person.common.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 系统日志注解
 *
 * @author 
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface SysLog {

	String value() default "";
}
/**
 * 
 *
 * 
 *
 * 
 */

package com.person.common.config;

import com.person.common.xss.XssFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.filter.DelegatingFilterProxy;

import javax.servlet.DispatcherType;

/**
 * Filter配置
 *
 * @author 
 */
@Configuration
public class FilterConfig {

    @Bean
    public FilterRegistrationBean shiroFilterRegistration() {
        FilterRegistrationBean registration = new FilterRegistrationBean();
        registration.setFilter(new DelegatingFilterProxy("shiroFilter"));
        //该值缺省为false,表示生命周期由SpringApplicationContext管理,设置为true则表示由ServletContainer管理
        registration.addInitParameter("targetFilterLifecycle", "true");
        registration.setEnabled(true);
        registration.setOrder(Integer.MAX_VALUE - 1);
        registration.addUrlPatterns("/*");
        return registration;
    }

    @Bean
    public FilterRegistrationBean xssFilterRegistration() {
        FilterRegistrationBean registration = new FilterRegistrationBean();
        registration.setDispatcherTypes(DispatcherType.REQUEST);
        registration.setFilter(new XssFilter());
        registration.addUrlPatterns("/*");
        registration.setName("xssFilter");
        registration.setOrder(Integer.MAX_VALUE);
        return registration;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
基于Spring Boot的宿舍管理系统码通常会使用关系型数据库来存储和管理数据。常见的数据库选择有MySQL、Oracle、SQL Server等。下面以MySQL为例,简要介绍宿舍管理系统数据库的设计。 在MySQL中,我们可以创建一个名为dormitory的数据库来存储宿舍管理系统的相关数据。该数据库中通常会包含以下表: 1. 学生表(students):记录学生信息,包括学生ID、姓名、性别、年龄、班级等字段。 2. 宿舍表(dormitories):记录宿舍信息,包括宿舍ID、宿舍楼号、宿舍房间号、床位数等字段。 3. 管理员表(administrators):记录管理员信息,包括管理员ID、姓名、密码等字段。 4. 入住记录表(check_ins):记录学生的入住情况,包括学生ID、宿舍ID、入住时间等字段。 5. 物品借用表(borrow_items):记录学生借用宿舍物品的情况,包括学生ID、物品名称、借用时间、归还时间等字段。 基于Spring Boot的宿舍管理系统码中,我们会使用Spring Data JPA来进行数据库的操作。借助于Spring Data JPA的注解和编程规范,可以方便地进行数据的增删改查操作。 此外,为了增强系统的性能和安全性,我们还可以考虑在数据库中添加索引、设置外键约束等。例如,在学生表中可以添加学生ID的唯一索引,以加快学生信息的查询速度;在宿舍表中,可以设置外键约束,确保学生ID和宿舍ID的关联关系的完整性。 综上所述,基于Spring Boot的宿舍管理系统码通常会使用关系型数据库,如MySQL,来存储和管理数据。通过合理的数据库设计和Spring Data JPA的使用,能够实现系统数据的高效管理和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值