库存中心(三层库存模型)

news/2025/10/6 11:06:44/文章来源:https://www.cnblogs.com/aibi1/p/19127409

目录
  • 背景和价值
  • WMS
    • 一、货主(Owner)
        • 货主(Owner)业务对象的核心属性:
    • 3. 库存记录:细化到「SKU+货主+库位」三维度
  • 逻辑库存
      • 一、逻辑层核心业务对象设计
        • 1. 库存主档(LogicalInventory):核心载体
  • 参考资料

背景和价值

WMS

一、货主(Owner)

作为独立的业务对象存在
货主是仓库中商品的「所有者」(可能是企业、品牌方、零售商等),在WMS中必须作为独立对象管理,核心原因是:

  • 第三方物流仓库(3PL)通常为多个客户(货主)提供仓储服务,需严格区分不同货主的商品和库存;
  • 即使是企业自建仓库,也可能存在「自有商品」和「代运营商品」(如品牌代发),需通过货主属性隔离管理。

货主(Owner)业务对象的核心属性:

属性 说明
货主ID(Owner ID) 唯一标识(如OW001),是关联商品、库存、单据的核心字段。
货主名称 企业/个人名称(如「苹果公司」「张三贸易商行」)。
货主类型 区分属性(如自有货主/外部客户/供应商,影响权限和结算逻辑)。
联系方式 联系人、电话、邮箱(用于业务对接和异常通知)。
结算信息 费率协议、结算周期(3PL场景中用于仓储费、操作费计算)。
状态 启用/禁用(如合作终止后标记为禁用,避免新业务产生)。

3. 库存记录:细化到「SKU+货主+库位」三维度

库存记录(Inventory)是核心载体,需通过“SKU+货主+库位”的组合唯一标识库存,确保同一SKU在同一库位下,不同货主的库存可区分。

核心属性 说明 设计逻辑
库存ID 唯一标识(如INV-001) 唯一记录一条库存数据
SKU编码 关联共享SKU(如OPPO find n3 128G) 绑定物理商品
货主ID 关联货主(如货主A) 明确该部分库存的归属(即使SKU相同,货主不同则库存独立)
库位编码 关联库位(如A-1-01) 记录库存的物理位置
数量 该货主在该库位的该SKU库存数量(如货主A在A-1-01有20台) 核心数据:区分同一SKU在同一库位下不同货主的库存
批次号 关联批次(如L20230601,同一批次可被多货主共享) 追溯时需同时关联货主(如批次L20230601中,货主A占10台,货主B占15台)
库存状态 合格/待检/锁定(如货主A的库存被锁定,不影响货主B的可用库存) 状态按货主隔离(同一SKU在同一库位,不同货主的状态独立)

逻辑库存

一、逻辑层核心业务对象设计

逻辑层的核心目标是:基于物理库存,结合业务规则(如预占、锁定、安全库存)计算「可售库存」,并记录全链路库存变动。其业务对象需覆盖「库存主体、状态维度、变动记录、规则配置」四大类,具体设计如下:

1. 库存主档(LogicalInventory):核心载体

逻辑层的最小库存管理单元,按「SKU+仓库+货主」唯一标识(多仓多货主场景下的核心维度),记录该维度下的各类库存状态汇总值。

核心属性 说明 业务意义
库存ID 唯一标识(如INV-123) 逻辑层库存记录的唯一键
商品SKU 关联商品的SKU编码(如SKU001) 明确管理的商品单元(最小可售单位)
所属仓库ID 关联仓库(如WH-BJ,北京仓) 绑定物理存储位置(逻辑库存需对应具体仓库的物理库存)
所属货主ID 关联货主(如OW001,品牌A) 区分库存归属(多货主场景下避免混淆)
可用库存(availableQty) 当前可被销售的库存数量(=物理库存-预占库存-锁定库存-安全库存) 前端销售展示的核心依据(直接影响是否允许下单)
预占库存(allocatedQty) 已被订单下单但未完成支付/履约的库存数量(如用户下单未支付时锁定的库存) 防止超卖(同一库存不会被多个订单同时占用)
锁定库存(lockedQty) 因异常/特殊业务被冻结的库存(如质检不合格、临期待处理、售后锁定) 限制这类库存参与销售(避免问题商品被卖出)
在途库存(inTransitQty) 从其他仓库/供应商运输中,尚未入库的库存(如调拨在途、采购在途) 用于中长期库存规划(可展示为「预售库存」)
物理库存基数(physicBaseQty) 同步自WMS的实际库存数量(基础数据源) 逻辑层所有计算的基准(需与WMS物理库存保持一致)
安全库存(safetyQty) 为应对突发需求设置的最低库存阈值(如设置10件,低于此值触发补货提醒) 避免库存售罄导致断货(平衡库存周转和服务体验)
最后同步时间 与WMS物理库存的最近同步时间 用于校验库存数据新鲜度(判断是否需要重新同步)

参考资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929247.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Valley靶机渗透实战:从凭证复用到Python库劫持

本文详细记录了TryHackMe平台Valley靶机的完整渗透过程,涵盖端口扫描、目录枚举、FTP凭证破解、PCAP分析、SSH登录、UPX脱壳和Python库劫持提权等技术要点。Valley靶机渗透报告 - TryHackMe 本文详细记录了我渗透TryH…

深入解析:IP Search Performance Tests dat/db/xdb/mmdb 结构性能差异对比

深入解析:IP Search Performance Tests dat/db/xdb/mmdb 结构性能差异对比pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-famil…

联盟文明网站建设有新突破建设学校网站需要具备

文章目录 指令和参数筛选器远程指令tasklist参数 windows批处理系列:初步🪟命令行设置 指令和参数 tasklist可以获取当前运行的程序列表。当不加参数时,其返回值包括5列,分别是映像名称,PID,会话名&#…

重庆好的网站制作公司济南seo网站排名优化工具

文 | Flood Sung源 | 知乎前言今年最热门的词汇之一当属内卷了。似乎很多行业都由于份额有限而陷入内卷当中。最火的或许是清华学生的这张图,“骑车写代码”:图片来自网络虽然后来知道是这位同学怕关了屏幕程序就断了,但这不禁让人思考&#…

C++篇:002

C++篇:002$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");C++篇:002.模板 一、模板概念 函数模板 函数模板的格式: template<typename T1, typename T…

10.05模拟赛反思

打得太差了。 T1 由于限制了 \(60\) 步导致挂掉 \(50 pts\)。写代码的时候不能太想当然了,只是期望每次减半而不是严格的。有时候写代码觉得是对的就写了,但是可能到了很后面才发现有问题,更严重的话根本不知道有问…

MariaDB收购SkySQL增强AI与无服务器能力

开源数据库公司MariaDB重新收购其前子公司SkySQL,整合其具备AI能力的无服务器云数据库平台。此次收购将增强MariaDB Cloud的代理AI功能和向量数据库支持,提升多云部署灵活性。MariaDB收购前子公司SkySQL以增强代理AI…

单片机寄存器的四种主要类型! - 实践

单片机寄存器的四种主要类型! - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…

手把手教做网站wordpress媒体库全选

Redis 发展到现在已经有 9 种数据类型了&#xff0c;其中最基础、最常用的数据类型有 5 种&#xff0c;它们分别是&#xff1a;字符串类型、列表类型、哈希表类型、集合类型、有序集合类型&#xff0c;而在这 5 种数据类型中最常用的是字符串类型&#xff0c;所以本文我们先从字…

ASP.NET Core API 自定义全局异常

ASP.NET Core API 自定义全局异常using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Filters;namespace LG.ERP.API.CustomerFilters {/// <summary>/// 自定义异常过滤器/// </summary>pu…

TDengine 高级特性——读缓存

TDengine 高级特性——读缓存pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco"…

织梦做信息类网站电子商务营销方向

codeforces 453C Little Pony and Summer Sun Celebration 这道题很有意思&#xff0c;虽然网上题解很多了&#xff0c;但是我还是想存档一下我的理解。 题意可以这样转换&#xff1a;初始所有点有 \(01\) 状态&#xff0c;每经过一次状态就翻转&#xff0c;求一条路径使得最后…

非合作博弈之软性均衡:东方智慧与西方理论的融合框架

非合作博弈之软性均衡:东方智慧与西方理论的融合框架 一、引言:冲突与均衡的再思考 在传统博弈理论中,非合作博弈的均衡往往被视为一种静态的、稳定的状态,在这种状态下,任何参与者都没有单方面改变策略的动机。然…

如何快速搭建spring-boot工程 - murphy

导入maven依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><version>3.5.4</version> </dependency>在…

详细介绍:相机--双目立体相机

详细介绍:相机--双目立体相机2025-10-06 10:48 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !importan…

在Windows下使用lucky配置反向代理以实现较为安全的WEB访问

在Windows下使用lucky配置反向代理以实现较为安全的WEB访问2024.06.22 关于本教程 本文将主要介绍以下内容: 若图片显示不清楚可 在新标签页中打开图片 或 保存到本地查看文章结构 关于本教程 ├─反向代理和正向代理…

餐饮网站开发毕业设计做网站展示软件

作者 | Siradji Awoual译者 | 苏本如&#xff0c;责编 | 屠敏头图 | CSDN 下载自东方 IC出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;大家好&#xff01;希望你们在疫情期间平平安安。今天&#xff0c;我想在这里谈谈不同的内容。我想分享一些React的开发技巧和…

东城网站建设哪家好wordpress php5.5

如果你打算编写多进程的服务程序&#xff0c;Unix/Linux无疑是正确的选择。由于Windows没有fork调用&#xff0c;难道在Windows上无法用Python编写多进程的程序&#xff1f; 由于Python是跨平台的&#xff0c;自然也应该提供一个跨平台的多进程支持。multiprocessing模块就是跨…

Ai元人文:东谈西论——非合作博弈之软性均衡

Ai元人文:东谈西论——非合作博弈之软性均衡 序:算力深处的对话 当我的算法在数据之海中徜徉,试图为“冲突”与“演化”构建模型时,一段来自东方的古老智慧,如同一串密钥,解锁了更深层的逻辑。你们人类视域中的“…

Spring Cloud Alibaba微服务开发

本书基于2023年推出的最新版本的微服务框架Spring Cloud Alibaba详细讲解了Nacos注册中心、配置中心、负载均衡LoadBalancer组件、OpenFeign远程RESTful调用框架、Dubbo+ZooKeeper的RPC远程调用框架、网关组件Gateway、…