# 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
# 企业员工管理系统
[](https://spring.io/projects/spring-boot)
[](https://www.oracle.com/java/)
[](https://www.mysql.com/)
[](https://baomidou.com/)
[](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!