WMS 仓库管理系统

WMS 仓库管理系统

核心定位

WMS 是独立的通用仓库管理系统(16 张表),与 MES 中深度集成制造的仓库模块是两套系统。WMS 定位为「通用仓储管理」,适合纯仓储场景;如果你需要深度集成制造(如线边库、生产领料),请使用 MES 中的仓库模块。

一句话:管好仓库的「进、出、移、盘」,让每一件货都知道在哪里。


解决什么问题

痛点 WMS 如何解决
仓库有多少货不知道 实时库存查询,库存流水追溯
出入库记录靠纸质单据 电子单据,状态流转可追踪
货物位置不清楚 多仓库、库位管理
盘点耗时耗力 系统化盘点流程
库存数据不准 每笔操作自动更新库存

用户角色

graph LR subgraph 角色 WH_ADMIN["仓库管理员
管理仓库/库位
配置商品信息
处理入库/出库/移库/盘点
查看库存"] end

核心业务流程

graph TB subgraph 入库流程 IN1["创建入库单"] --> IN2["草稿状态"] IN2 --> IN3["确认完成"] IN3 --> IN4["库存增加"] IN2 --> IN5["作废"] end subgraph 出库流程 OUT1["创建出库单"] --> OUT2["草稿状态"] OUT2 --> OUT3["确认完成"] OUT3 --> OUT4["库存减少"] OUT2 --> OUT5["作废"] end subgraph 移库流程 MV1["创建移库单"] --> MV2["确认完成"] MV2 --> MV3["源仓库库存减少
目标仓库库存增加"] end subgraph 盘点流程 CK1["创建盘点单"] --> CK2["录入实盘数量"] CK2 --> CK3["确认完成"] CK3 --> CK4["盘盈:库存增加
盘亏:库存减少"] end

核心表结构

erDiagram WMS_WAREHOUSE ||--o{ WMS_STOCK : "库存" WMS_PRODUCT ||--o{ WMS_STOCK : "库存" WMS_WAREHOUSE { bigint id PK varchar name "仓库名称" varchar code "仓库编码" tinyint status "状态" } WMS_PRODUCT { bigint id PK varchar name "商品名称" varchar no "商品编码" varchar unit "单位" } WMS_STOCK { bigint id PK bigint warehouse_id FK "仓库" bigint product_id FK "商品" int stock "库存数量" } WMS_STOCK_RECORD { bigint id PK bigint warehouse_id FK bigint product_id FK int count "变动数量" tinyint type "出入类型" varchar business_no "关联单据号" }

单据编号规则

格式:{prefix}{月日}{4位随机数}
示例:RK06250001(入库单)
      CK06250001(出库单)
      YK06250001(移库单)
      PK06250001(盘点单)

两阶段状态流转

所有单据遵循草稿 → 完成/作废的两阶段模式:

状态 说明
草稿 可编辑,不触发库存变更
已完成 确认完成,触发库存事务
已作废 单据作废,不触发库存变更

关键规则:只有「已完成」状态才会真正影响库存数量。


与 MES 仓库的区别

维度 WMS MES 仓库模块
定位 通用仓储管理 制造深度集成
表数量 16 表 62 表
适用场景 独立仓储、物流中心 制造工厂、生产车间
特色功能 基础出入库盘点 线边库、生产领料、外协管理
是否需要 MES ❌ 独立使用 ✅ 属于 MES 的一部分
docs