# enterprise management **Repository Path**: DoVisCan/enterprise-management ## Basic Information - **Project Name**: enterprise management - **Description**: 本科JavaEE期末项目,小型企业管理系统 后端springboot+mybatis-plus 前端 vue3+element-plus 后端master分支 前端vue分支 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-04 - **Last Updated**: 2026-01-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 企业员工管理系统
[![Spring Boot](https://img.shields.io/badge/Spring_Boot-3.0.2-green?style=for-the-badge&logo=spring-boot)](https://spring.io/projects/spring-boot) [![Java](https://img.shields.io/badge/Java-17-red?style=for-the-badge&logo=java)](https://www.oracle.com/java/) [![MySQL](https://img.shields.io/badge/MySQL-8.0-blue?style=for-the-badge&logo=mysql)](https://www.mysql.com/) [![MyBatis-Plus](https://img.shields.io/badge/MyBatis--Plus-3.5.6-orange?style=for-the-badge&logo=apache-mybatis)](https://baomidou.com/) [![License](https://img.shields.io/github/license/cwnu-enterprise/enterprise-management?style=for-the-badge)](LICENSE)
## 📋 项目概述 企业员工管理系统是一个基于 **Spring Boot 3.0.2** 开发的现代化企业级应用,旨在提供全面的员工管理解决方案。系统涵盖了员工信息管理、考勤管理、薪资管理、部门管理等核心功能模块,帮助企业高效管理人力资源。
### 🎯 系统架构图 ```mermaid graph TB A[前端界面] --> B[API网关] B --> C[员工管理模块] B --> D[考勤管理模块] B --> E[薪资管理模块] B --> F[部门管理模块] B --> G[管理员模块] C --> H[MySQL数据库] D --> H E --> H F --> H G --> H ```
## 🚀 主要功能 ### 1. 🧍 员工管理 - **员工注册/入职**: 支持员工基本信息录入和账号创建 - **员工登录**: 提供安全的用户认证机制,支持JWT令牌验证 - **员工信息管理**: 支持员工信息的增删改查操作 - **员工列表分页**: 提供分页查询功能,支持大量员工数据管理 - **员工信息导出**: 支持将员工信息导出为 Excel 表格,包含员工ID、用户名、部门、岗位、工号、性别、电话、邮箱、基本工资、入职日期、离职日期、出生日期、状态等完整信息 - **员工组合查询**: 支持按姓名、部门、岗位等多条件组合查询 ### 2. 🕐 考勤管理 - **打卡功能**: 支持上下班打卡,记录考勤时间 - **考勤统计**: 提供月度考勤统计和分析 - **考勤记录查询**: 支持按月份、员工查询考勤记录 - **考勤规则配置**: 可配置不同部门的考勤规则 - **考勤概览**: 提供员工考勤总览信息,包括签到次数、早退次数、迟到次数、旷工次数、请假次数、出差次数等 - **考勤统计**: 提供整体考勤统计,包括员工人数、签到人数、迟到人数、早退人数、旷工人数等 - **工作日管理**: 智能识别工作日,支持节假日处理 ### 3. 💰 薪资管理 - **工资发放**: 支持管理员批量发放工资 - **工资查询**: 提供员工工资记录查询功能 - **工资条**: 为员工提供详细的工资条信息 - **工资组合查询**: 支持按月份、员工姓名、部门进行组合查询 - **工资配置**: 支持员工薪酬配置管理 ### 4. 🏢 部门管理 - **部门创建**: 支持新增部门信息 - **部门信息管理**: 提供部门信息的修改、删除功能 - **部门查询**: 支持部门信息的查询和组合查询 - **部门列表**: 提供分页的部门列表展示 - **部门统计**: 提供部门员工统计功能 ### 5. 🔐 系统管理 - **管理员功能**: 支持管理员账号的注册和登录 - **权限控制**: 基于角色的权限管理(管理员/普通员工) - **API 文档**: 集成 Knife4j 提供在线 API 文档 - **邮件通知**: 支持邮件通知功能 - **数据安全**: 使用MD5加密保护用户密码 ## 🛠️ 技术栈 ### 后端技术 | 技术 | 版本 | 说明 | |------|------|------| | **Spring Boot** | 3.0.2 | 核心框架 | | **MyBatis-Plus** | 3.5.6 | 持久层框架 | | **MySQL** | 8.0 | 数据库 | | **JWT** | 4.5.0 | 身份认证 | | **Lombok** | - | 代码简化 | | **Swagger/Knife4j** | 4.5.0 | API文档 | | **EasyExcel** | 4.0.3 | Excel导入导出 | | **Spring Mail** | 4.0.0 | 邮件服务 | | **Pinyin4j** | 2.5.1 | 拼音转换 | | **Jollyday** | 0.5.10 | 节假日处理 | ### 项目特性 - **现代化架构**: 基于 Spring Boot 的微服务架构 - **RESTful API**: 提供标准化的 RESTful 接口 - **分页处理**: 使用 MyBatis-Plus 提供的分页插件 - **异常处理**: 统一的异常处理机制 - **日志管理**: 使用 SLF4J + Logback 进行日志记录 - **数据验证**: 完整的数据验证和错误处理 - **安全防护**: JWT令牌认证,密码MD5加密 ## 📦 项目结构 ``` src/ ├── main/ │ ├── java/edu/cwnu/enterprisemanagement/ │ │ ├── DTO/ # 数据传输对象 │ │ ├── VO/ # 视图对象 │ │ ├── common/ # 通用类 │ │ ├── config/ # 配置类 │ │ ├── controller/ # 控制器层 │ │ ├── domain/ # 实体类 │ │ ├── exception/ # 异常处理 │ │ ├── mapper/ # 数据访问层 │ │ ├── service/ # 业务逻辑层 │ │ ├── utils/ # 工具类 │ │ └── EnterpriseManagementApplication.java # 启动类 │ └── resources/ │ ├── mapper/ # MyBatis XML 映射文件 │ └── application.yml # 配置文件 └── test/ # 测试代码 ``` ## 🔧 环境要求 - **JDK**: 17 或更高版本 - **Maven**: 3.6 或更高版本 - **MySQL**: 8.0 或更高版本 - **操作系统**: Windows/Linux/macOS ## 🚀 快速开始 ### 1. 环境准备 确保已安装以下软件: - JDK 17+ - Maven 3.6+ - MySQL 8.0+ ### 2. 数据库配置 1. 创建数据库: ```sql CREATE DATABASE enterprise CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 2. 导入数据库表结构(具体表结构请参考项目中的 SQL 文件) ### 3. 项目配置 修改 [application.yml](src/main/resources/application.yml) 配置文件: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/enterprise?useUnicode=true&characterEncoding=utf-8&useSSL=false username: root # 替换为您的数据库用户名 password: 123456 # 替换为您的数据库密码 mail: host: smtp.qq.com port: 465 username: your-email@qq.com # 替换为您的邮箱 password: your-password # 替换为您的邮箱授权码 server: port: 8088 ``` ### 4. 项目启动 1. 克隆项目: ```bash git clone cd enterpriseManagement ``` 2. 编译项目: ```bash mvn clean install ``` 3. 启动项目: ```bash mvn spring-boot:run ``` 或打包后运行: ```bash mvn package java -jar target/enterpriseManagement-0.0.1-SNAPSHOT.jar ``` ### 5. 访问系统 - **API 文档**: [http://localhost:8088/enterprise/doc.html](http://localhost:8088/enterprise/doc.html) - **系统访问**: [http://localhost:8088/enterprise](http://localhost:8088/enterprise) ## 📚 API 接口说明 ### 员工管理接口 - `POST /employee/login` - 员工登录 - `GET /employee/list` - 获取员工列表(分页) - `POST /employee/register` - 员工注册 - `PUT /employee/update` - 更新员工信息 - `DELETE /employee/delete` - 删除员工 - `GET /employee/export` - 导出员工信息Excel ### 考勤管理接口 - `PUT /attendance/signIn` - 上班打卡 - `PUT /attendance/signOut` - 下班打卡 - `POST /attendance/getEmployeeAttendance` - 获取员工考勤概览 - `GET /attendance/attendanceStatistics/{yearMoth}` - 考勤统计 ### 薪资管理接口 - `GET /wage/select/{employeeId}` - 查询员工工资 - `GET /wage/list/{employeeId}` - 查询员工工资记录 - `POST /wage/issue` - 发放工资 ### 部门管理接口 - `GET /department/list` - 获取部门列表 - `POST /department/add` - 添加部门 - `PUT /department/update` - 更新部门 - `DELETE /department/delete` - 删除部门 ### 管理员接口 - `POST /admin/login` - 管理员登录 - `POST /admin/register` - 管理员注册 ## 🔐 权限说明 - **管理员**: 拥有所有功能的完全访问权限 - **普通员工**: 仅能访问个人相关的考勤、工资等信息 ## 📊 系统特色 ### 1. 🎨 美观的UI设计 - 清晰的API文档界面 - 完善的错误提示机制 - 用户友好的交互设计 ### 2. 🔒 安全性保障 - JWT令牌认证 - 密码MD5加密存储 - 统一的异常处理 ### 3. 🚀 高性能设计 - MyBatis-Plus优化数据库操作 - 分页查询减少数据库压力 - 高效的数据访问模式 ### 4. 📈 可扩展性 - 模块化设计便于功能扩展 - 标准化接口便于集成 - 配置化管理便于部署 ## 📞 联系方式 如有任何问题或建议,请通过以下方式联系: - QQ邮箱: [2975274582@qq.com](mailto:2975274582@qq.com) ---
### 🌟 如果这个项目对你有帮助,请给一个 Star!