{
}

// fig.2 — 关于这个项目,问点别的
问关于「景裕机械公司库存管理信息系统」的细节 —— 技术选型 / 踩坑 / 部署。
试试下面的问题,或直接输入。
一套面向中小型机械制造企业的库存管理(WMS)信息系统,基于 RuoYi 3.9.1 二次开发,前后端分离架构。系统覆盖商品信息、入库、出库、库存查询、供应商、盘点、用户权限等核心业务,已支持线上部署。
admin / admin123(验证码为简单数学运算式)📌 本文件为 online 版本 —— 所有截图引用自
minio.zxbdwy.online图床,可直接发布到 GitHub / Gitee / 在线博客等无法访问本地docs/images/的场景。本地版请见 README.md。
景裕机械公司库存管理信息系统(StockControlSystem)是为机械制造行业量身打造的仓储与库存管控平台,主要解决企业内部物料编码混乱、入出库无凭证、库存不准、盘点低效等痛点。系统采用 Spring Boot + Vue 3 前后端分离架构,部署轻量、可扩展性强。
核心特性
以下截图均截取自线上环境 https://project.zxbdwy.online/stock-system/,托管于
minio.zxbdwy.online。


列表页:

新增 / 修改 物料分类:
| 添加物料分类 | 修改物料分类 |
|---|---|
![]() | ![]() |
列表页:

新增入库单(含明细行内编辑):

入库单详情(查看):

列表页:

新增出库单(按批次扣减):

出库单详情(查看):


库存查询为只读视图,仅提供导出功能,无新增/修改弹窗。
列表页:

新增 / 修改 供应商:
| 添加供应商 | 修改供应商 |
|---|---|
![]() | ![]() |
列表页:

新增盘点单(全盘 / 抽盘 + 明细):

列表页:

新增用户(部门 / 岗位 / 角色 联动):

列表页:

新增菜单(目录 / 菜单 / 按钮 三类):

| 框架 / 组件 | 版本 | 用途 |
|---|---|---|
| Spring Boot | 2.5.15 | 应用主框架 |
| Spring Security | 5.7.14 | 安全认证 / 权限拦截 |
| MyBatis | - | ORM 持久层 |
| Druid | 1.2.27 | 数据库连接池 + SQL 监控 |
| MySQL Driver | 8.x | 数据库驱动 |
| JWT (jjwt) | 0.9.1 | 无状态 Token 鉴权 |
| PageHelper | 1.4.7 | 分页插件 |
| Fastjson2 |
| 框架 / 组件 | 版本 | 用途 |
|---|---|---|
| Vue | 3.5.26 | 前端主框架 |
| Vite | 6.4.1 | 构建工具 |
| Element Plus | 2.13.1 | UI 组件库 |
| Pinia | 3.0.4 | 状态管理 |
| Vue Router | 4.6.4 | 路由 |
| Axios | 1.13.2 | HTTP 客户端 |
| ECharts | 5.6.0 | 图表可视化 |
| Sass-embedded | 1.97.2 |
景裕机械公司库存管理信息系统/
├── StockControlSystem/ # 后端 Maven 多模块工程
│ ├── stock-admin/ # Web 入口(Controller + 启动类 + 配置)
│ ├── stock-common/ # 通用工具 / 常量 / 注解 / 异常
│ ├── stock-framework/ # 框架核心:安全、AOP、拦截器、Mybatis 配置
│ ├── stock-generator/ # 代码生成器
│ ├── stock-quartz/ # 定时任务模块
│ ├── stock-system/ # 系统管理(用户/角色/菜单/字典/部门/岗位/日志)
│ ├── stock-wms/ # ★ 核心业务:仓储与库存(WMS)
│ ├── sql/ # 数据库初始化脚本
│ └── pom.xml
├── StockControlSystem-Vue/ # 前端 Vue3 + Vite 工程
│ ├── src/
│ │ ├── api/ # 后端接口封装
│ │ ├── views/ # 页面视图
│ │ ├── components/ # 通用组件
│ │ ├── router/ # 路由配置
│ │ ├── store/ # Pinia Store
│ │ └── utils/ # 工具函数
│ ├── vite.config.js
│ └── package.json
├── docs/ # 项目文档
│ ├── images/ # README 截图
│ ├── 代码设计.md
│ └── 数据库物理结构设计.md
├── README.md # 本地版(引用 docs/images/)
└── README-online.md # 线上版(引用 MinIO 图床)
com.stock.wms
├── domain/ # 实体类(16 张表对应的领域对象)
│ ├── WmsWarehouse # 仓库
│ ├── WmsLocation # 货位
│ ├── WmsMaterialCategory # 物料分类
│ ├── WmsMaterialInfo # 物料档案
│ ├── WmsMaterialSupplier # 物料-供应商关联
│ ├── WmsMaterialAttachment # 物料附件(图纸等)
│ ├── WmsSupplier # 供应商
│ ├── WmsInboundOrder / Detail # 入库单 / 明细
│ ├── WmsOutboundOrder / Detail # 出库单 / 明细
│ ├── WmsReturnOrder / Detail # 退货单 / 明细
│ ├── WmsCheckOrder / Detail # 盘点单 / 明细
│ └── WmsStock # 库存余量
├── mapper/ # MyBatis Mapper 接口
└── service/ # 业务接口与实现
| 模块名称 | 路由路径 | 功能说明 |
|---|---|---|
| 商品信息管理 | /material | 物料分类树、物料档案、规格图纸、单位换算、供应商绑定 |
| 入库管理 | /inbound | 采购入库 / 退货入库单据,支持审核、执行、生成库存流水 |
| 出库管理 | /outbound | 销售出库 / 调拨出库单据,按批次先进先出扣减库存 |
| 库存查询 | /stock | 按物料、仓库、货位、批次号多维查询;显示库存数量、可用、冻结 |
| 供应商管理 | /supplier | 供应商档案:原材料、标准件、轴承、电子元器件等分类 |
| 软件 | 版本要求 | 备注 |
|---|---|---|
| JDK | 1.8+ | 推荐 8u202 及以上 |
| Maven | 3.6+ | 用于后端构建 |
| MySQL | 5.7 / 8.0 | 字符集 utf8mb4 |
| Redis | 5.0+ | Token 与缓存存储 |
| Node | 18+ / 20+ | 前端构建(推荐 pnpm) |
# 创建库
mysql -uroot -p -e "CREATE DATABASE stock DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
# 创建账号(与 application-druid.yml 对应)
mysql -uroot -p -e "CREATE USER 'stock'@'%' IDENTIFIED BY 'stock123'; GRANT ALL ON stock.* TO 'stock'@'%'; FLUSH PRIVILEGES;"
# 导入脚本
mysql -ustock -pstock123 stock < StockControlSystem/sql/stock_localhost-2026_05_14_22_12_33-dump.sql
cd StockControlSystem
# 修改 stock-admin/src/main/resources/application-druid.yml 中的数据库与 Redis 连接
mvn clean package -DskipTests
java -jar stock-admin/target/stock-admin.jar
# 启动后接口前缀 http://localhost:8801
cd StockControlSystem-Vue
pnpm install # 或 npm install
pnpm dev # 默认监听 80 端口
# 访问 http://localhost
| 账号 | 密码 | 角色 |
|---|---|---|
| admin | admin123 | 超级管理员 |
| ry | admin123 | 普通用户 |
cd StockControlSystem
mvn clean package -P prod -DskipTests
# 产物:stock-admin/target/stock-admin.jar
通过 systemd 或 PM2 + java -jar 方式守护启动:
nohup java -Xms512m -Xmx1024m -jar stock-admin.jar \
--spring.profiles.active=druid \
> stock-admin.log 2>&1 &
cd StockControlSystem-Vue
pnpm build:prod
# 产物:dist/ ,base 路径为 /stock-system/
Nginx 配置参考:
server {
listen 443 ssl http2;
server_name project.zxbdwy.online;
location /stock-system/ {
alias /var/www/stock-system/;
index index.html;
try_files $uri $uri/ /stock-system/index.html;
}
}
# 接口子域:将 /stock-system 前缀转发到后端 8801
server {
listen 443 ssl http2;
server_name api.zxbdwy.online;
location /stock-system/ {
proxy_pass http://127.0.0.1:8801/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
系统共约 16 张业务表 + 16 张 RuoYi 系统表,业务核心表:
| 表名 | 说明 |
|---|---|
wms_warehouse | 仓库 |
wms_location | 货位 |
wms_material_category | 物料分类(树形) |
wms_material_info | 物料档案 |
wms_material_supplier | 物料-供应商关联 |
wms_material_attachment | 物料附件 |
wms_supplier |
| 2.0.61 |
| JSON 序列化 |
| Apache POI | 4.1.2 | Excel 导入导出 |
| Kaptcha | 2.3.3 | 图形 / 算式验证码 |
| Velocity | 2.3 | 代码生成模板 |
| Swagger | 3.0.0 | 接口文档 |
| Redis (Lettuce) | - | 缓存 / Token 存储 |
| Oshi | 6.10.0 | 服务器硬件监控 |
| Quartz | - | 定时任务调度(stock-quartz) |
| 样式预处理 |
| Vue Quill | 1.2.0 | 富文本编辑器 |
| vuedraggable | 4.1.0 | 拖拽排序 |
| splitpanes | 4.0.4 | 分屏面板 |
| nprogress | 0.2.0 | 顶部加载进度条 |
| jsencrypt | 3.3.2 | RSA 前端加密 |
| 盘点单管理 | /check | 全盘 / 抽盘单据,盘点中→已完成,自动生成差异调整 |
| 用户管理 | /system/user | 用户 CRUD、密码重置、角色分配、部门归属 |
| 菜单管理 | /system/menu | 目录 / 菜单 / 按钮 三级权限点配置 |
| 供应商 |
wms_inbound_order | 入库单 |
wms_inbound_detail | 入库单明细 |
wms_outbound_order | 出库单 |
wms_outbound_detail | 出库单明细 |
wms_return_order | 退货单 |
wms_return_detail | 退货单明细 |
wms_check_order | 盘点单 |
wms_check_detail | 盘点单明细 |
wms_stock | 库存余额(按批次) |