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 倉庫的區別

維度WMSMES 倉庫模組
定位通用倉儲管理製造深度整合
表數量16 表62 表
適用場景獨立倉儲、物流中心製造工廠、生產車間
特色功能基礎出入庫盤點線邊庫、生產領料、外協管理
是否需要 MES❌ 獨立使用✅ 屬於 MES 的一部分
docs