# 多租户WMS系统
**Repository Path**: 3dcrm/multi-tenant-wms
## Basic Information
- **Project Name**: 多租户WMS系统
- **Description**: 多租户WMS仓储系统,基于RuoYi开源框架开发
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2025-09-09
- **Last Updated**: 2025-09-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 多租户仓库管理系统 (Multi-Tenant WMS)
基于SpringBoot+Vue前后端分离的多租户WMS解决方案
## 项目概述
**本项目文档和业务代码95%以上由claude 4.0生成,目前只实现了基本收发功能Demo,主要用于本人学习和研究使用AI工具来开发项目,不用于商业用途。**
本项目是基于**若依(RuoYi) v3.8.9**框架开发的**多租户仓库管理系统(WMS)**,采用前后端分离架构,为企业提供SaaS化的仓库管理解决方案。
- **项目名称**: multi-tenant-wms (多租户仓库管理系统)
- **基础框架**: 若依(RuoYi) v3.8.9
- **架构模式**: 前后端分离
- **核心特性**: 多租户数据隔离、完整的RBAC权限体系
## 技术栈
### 后端技术栈
- **核心框架**: Spring Boot 2.5.15
- **安全框架**: Spring Security 5.7.12
- **数据库**: MySQL (支持多租户)
- **缓存**: Redis
- **认证**: JWT
- **数据库连接池**: Druid 1.2.23
- **分页插件**: PageHelper 1.4.7
- **任务调度**: Quartz
- **API文档**: Swagger 3.0.0
- **JSON处理**: FastJSON 2.0.53
### 前端技术栈
- **框架**: Vue 2.x
- **UI组件库**: Element UI 2.15.14
- **HTTP客户端**: Axios 0.28.1
- **图表库**: ECharts 5.4.0
- **构建工具**: Vue CLI
- **代码规范**: ESLint
## 项目模块结构
### 后端模块
```
├── ruoyi-admin/ # 管理后台模块 - 系统启动入口和配置
├── ruoyi-common/ # 公共工具模块 - 通用工具类和常量
├── ruoyi-framework/ # 框架核心模块 - 安全认证、多租户、缓存等
├── ruoyi-generator/ # 代码生成器模块 - 自动生成CRUD代码
├── ruoyi-quartz/ # 定时任务模块 - 任务调度和管理
├── ruoyi-system/ # 系统管理模块 - 用户、角色、权限、字典等
└── ruoyi-modules/ # 业务模块目录
└── ruoyi-wms/ # WMS仓储管理模块 - 仓库、库存、收发货等业务
```
### 前端模块
```
└── ruoyi-ui/ # Vue前端项目
├── src/
│ ├── api/ # API接口定义
│ │ ├── system/ # 系统管理相关API
│ │ └── wms/ # WMS业务相关API
│ ├── components/ # 公共组件
│ ├── views/ # 页面视图
│ │ ├── system/ # 系统管理页面
│ │ ├── wms/ # WMS业务页面
│ │ ├── login.vue # 登录页面
│ │ └── index.vue # 首页
│ ├── router/ # 路由配置
│ ├── store/ # Vuex状态管理
│ ├── utils/ # 工具函数
│ └── assets/ # 静态资源(图标、样式等)
└── public/ # 公共静态资源
```
### 其他重要目录
```
├── sql/ # 数据库脚本
│ ├── ry_20250417.sql # 基础数据库结构
│ ├── tenant_*.sql # 多租户相关脚本
│ └── wms_*.sql # WMS业务表结构
├── docs/ # 项目文档
│ ├── api/ # API文档
│ └── *.md # 设计文档
└── maintenance/ # 系统维护页面
```
## 核心功能特性
### 基础管理功能
1. **用户管理** - 系统操作者配置和管理
2. **部门管理** - 组织机构树结构管理,支持数据权限
3. **岗位管理** - 用户职务配置
4. **菜单管理** - 系统菜单和权限配置
5. **角色管理** - 角色权限分配和数据范围权限
6. **字典管理** - 系统固定数据维护
7. **参数管理** - 系统动态参数配置
8. **通知公告** - 系统信息发布维护
9. **操作日志** - 系统操作记录和查询
10. **登录日志** - 登录记录和异常监控
11. **在线用户** - 活跃用户状态监控
12. **定时任务** - 在线任务调度管理
13. **代码生成** - 前后端代码自动生成
14. **系统接口** - API接口文档自动生成
15. **服务监控** - 系统资源监控
16. **缓存监控** - 缓存信息查询和统计
17. **在线构建器** - 表单元素拖拽生成
18. **连接池监视** - 数据库连接池状态监控
### WMS仓储管理功能
1. **仓库管理** - 仓库基础信息配置和维护
2. **区域管理** - 仓库区域划分和管理
3. **库位管理** - 存储库位的精细化管理
4. **物料管理** - 商品物料信息维护和分类
5. **物料库位关系** - 物料与库位的关联配置
6. **货主管理** - 货物所有者信息管理
7. **供应商管理** - 供应商档案和关系维护
8. **客户管理** - 客户信息和配送地址管理
9. **区域管理员** - 仓库区域负责人配置
10. **物料管理员** - 物料专项管理人员配置
11. **仓库员工** - 仓库作业人员管理
12. **收货管理** - 入库收货作业流程管理
13. **出库管理** - 出库作业订单和流程管理
14. **库存管理** - 实时库存查询和库存分配
15. **库存分配记录** - 库存分配操作的历史记录查询
16. **出库记录查询** - 出库作业的详细记录和追溯
17. **库存增减API** - 支持外部系统的库存操作接口
18. **推荐库位** - 智能推荐最优存储库位
19. **订单编号生成** - 自动生成唯一的作业订单编号
### 多租户特性
- **租户隔离** - 完整的多租户数据隔离机制
- **租户管理** - 独立的租户管理功能
- **字典类型多租户改造** - 支持租户级别的字典管理
- **数据库约束** - 实现了租户级别的唯一性约束
- **用户租户关联** - 用户与租户的关联管理
## 快速开始
### 环境要求
- JDK 1.8+
- MySQL 5.7+
- Redis 3.0+
- Node.js 12+
- Maven 3.6+
### 后端启动
```bash
# 1. 导入数据库脚本
# 执行 sql/ 目录下的SQL文件
# 2. 修改配置文件
# 配置数据库连接和Redis连接
# 3. 启动后端服务
mvn clean install
java -jar ruoyi-admin/target/ruoyi-admin.jar
```
### 前端启动
```bash
# 1. 进入前端目录
cd ruoyi-ui
# 2. 安装依赖
npm install
# 3. 启动开发服务器
npm run dev
```
## 项目亮点
1. **完整的RBAC权限体系** - 支持用户、角色、权限的灵活配置
2. **多租户架构支持** - 完整的SaaS化多租户解决方案
3. **代码生成器** - 可快速生成CRUD代码,提高开发效率
4. **丰富的监控功能** - 系统监控、缓存监控、连接池监控
5. **前后端分离架构** - 便于团队协作和系统维护
6. **完善的日志系统** - 操作日志、登录日志、异常日志
7. **灵活的字典管理** - 支持多租户的字典配置
8. **定时任务调度** - 在线任务管理和监控
9. **安全认证机制** - JWT认证,支持多终端
10. **响应式设计** - 支持多种设备访问
## 多租户改造说明
### 数据库层面
- 在核心表中添加 `tenant_id` 字段
- 修改唯一性约束,支持租户级别唯一
- 创建租户管理相关表
### 应用层面
- 实现租户数据隔离拦截器
- 修改业务逻辑支持多租户
- 提供租户管理界面
### API层面
- 新增租户相关API接口
- 修改现有API支持租户参数
- 提供租户唯一性校验接口
## 技术文档
- [字典类型多租户改造文档](doc/dict_type_multi_tenant_api_changes.md)
- [若依环境使用手册](doc/若依环境使用手册.docx)
## 开源协议
本项目基于 MIT 协议开源,可免费用于商业项目。
## 联系方式
如有问题或建议,欢迎提交 Issue 或 Pull Request。
---
**注**: 本项目基于若依框架进行多租户改造,感谢若依团队提供的优秀开源框架。