库存系统:仓库层、调度层、销售层的库存数据模型设计

大家好,我是汤师爷~

让我们一起深入挖掘库存概念模型的设计精髓,这不仅是构建库存管理系统的基石,更是确保库存数据精准和一致性的核心所在。

库存的数据模型设计

下图展示了库存概念模型的设计概览。通过精心设计的概念模型,我们能够有效支撑库存管理的多元化业务需求。

库存系统:仓库层、调度层、销售层的库存数据模型设计

仓库层

仓库层是商品库存存放和管理的实际场所,承担着具体的仓储操作任务。它涵盖了企业自建仓库、第三方物流仓库以及线下门店的库存。

通常,仓库层通过仓库管理系统(WMS)、门店POS系统或ERP系统来管理库存的进出,所有库存变动都通过出入库单据来实现。

仓库层的核心概念模型是仓库库存,由以下核心属性构成:

  • 货主:拥有货物所有权的实体,用于区分多货主环境下的库存归属。
  • 仓库/门店:存放货物的逻辑单元,与物理仓库有所区别,一个物理仓库可能包含多个逻辑仓库单元。
  • SKU:库存管理的基本单位,标识具体商品及其规格。
  • 批号:区分不同批次产品的标识,便于质量追溯。例如,在医药行业,批号可用于快速定位并召回特定批次的产品。
  • 生产日期:标记成品生产的日期和时间,常用于管理有保质期要求的商品库存。
  • 库存状态:描述库存在不同业务场景下的状态,包括:
    • 可用:可立即销售的库存。
    • 冻结:因质检或特殊业务需求,暂时不可用的库存。
    • 在途:已发货但尚未到达目的地的库存。
    • 不良品/废品:因质量问题,暂时不具备使用价值的库存。
  • 库位:指仓库中存放商品的具体位置,是库存管理的最小粒度。

调度层

在库存管理体系中,调度层扮演着连接仓库层与业务层的桥梁角色,负责汇总各仓库和门店的库存状态,以支持全局库存的统一调配。

通过将调度层与仓库层分离,企业能够简化对库存细节的管理(例如批号、库位等),专注于全局库存的汇总与调配。

这种解耦的设计提高了库存管理的灵活性和效率,特别适合全渠道业务场景中的动态库存分配。调度层的核心概念模型是实物库存,核心属性包括:

  • 仓库/门店:库存所在的逻辑单元。
  • SKU:具体商品及其规格。
  • 库存状态:包括可用、不可用、在途等状态,描述库存在不同业务场景下的状态。
  • 在途库存:指供应商已发货但尚未到库的库存。在某些场景中,为了避免缺货,企业可能将这部分库存计入可用实物库存中。例如,在促销期间,将部分在途库存提前上架商城销售,确保用户下单时有足够库存。
  • 账面实物库存:门店/仓库中实际存放的库存,只要是未出库的都算在账面库存中。
  • 不可用实物库存:指因质量检测、冻结或其他原因暂时不可销售的库存。例如,某批次商品因质检未通过,被标记为不可用库存。
  • 预占实物库存:订单提交并分仓成功后,对应仓库的库存会被预占,防止其他订单重复占用。订单取消或发货后,库存状态会相应调整。
  • 可用实物库存:可用实物库存是账面实物库存减去预占实物库存、不可用实物库存的剩余部分。可用实物库存 = 账面实物库存 - 预占实物库存 - 不可用实物库存。

销售层

销售层是三层库存架构中的关键环节,负责管理各个销售渠道的库存分配与同步。通过精确的库存计算和灵活的分配策略,为销售渠道提供实时、可靠的库存服务,防止超卖,保障库存利用最大化。

1、销售库存的核心属性

销售层的核心概念模型为销售库存,包含以下核心属性:

  • 销售渠道:包括自营商城、门店线下渠道,以及第三方平台(如天猫、京东、美团、饿了么)等。
  • 销售店铺:指销售的具体店铺或门店。
  • 发货方式:库存支持的履约方式,如快递、同城配送、自提等。
  • 配送区域:因仓库覆盖范围不同,SKU支持的配送区域也有所限制。
  • 销售可用库存:按照仓库/门店的供货关系和渠道分配策略,计算出汇总的可销售库存数量。

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/4309.html

(0)
LomuLomu
上一篇 2024 年 12 月 24 日
下一篇 2024 年 12 月 24 日

相关推荐

  • Redis Java 集成到 Spring Boot

    # Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎~~ ## 📚 本系列文章为个人学习笔记,在这里撰写成文一为巩固知识,二为展示我的学习过程及理解。文笔、排版拙劣,望见谅。 ![在这里插入图片描述](https://pic.it1024doc.com/csdn/202412/ca054e533844dc927c24e57c1713f…

    2024 年 12 月 27 日
    34700
  • 用 Cursor 写出第一个程序

    大家好,我是汤师爷 最近几个月,Cursor迅速走红,成为一款强大的编程助手。Cursor不仅使用简单,而且通过集成各种大模型技术,编程能力一流。 Cursor是什么? Cursor是一个类似VSCode的编辑器,集成了GPT-4、Claude 3.5等LLM模型。它本质上是在VSCode的基础上添加了AI辅助编程功能。 从界面布局到操作方式都与VSCode…

    2025 年 1 月 6 日
    40300
  • 架构师启示录:知识模型、落地方法与思维模式PDF、EPUB免费下载

    适读人群 :资深程序员、初级架构师 从架构知识模型、架构落地方法、架构思维模式三大维度介绍架构师的能力模型,带你穿越“认知迷雾” 电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍 点击原文去下载 书籍信息 作者: 灵犀出版社: 机械工业出版社出版年: 2024-3页数: 212装帧: 平装丛书: 架构师书库ISBN: 97871117…

    2025 年 1 月 11 日
    40400
  • Redis 爆高危漏洞,请速度修复。。

    大家好,我是R哥。 今天一早收到了腾讯云给我的【主机安全 】漏洞通知: 好家伙,大名鼎鼎的 Redis 爆高危漏洞了,R哥的题库「Java面试库」也用到了 Redis 来缓存面试题内容,所以这一下子就引起了我的警惕,赶紧看看什么鬼。 漏洞描述 下面是漏洞描述和修复说明: https://github.com/redis/redis/security/advi…

    2025 年 1 月 6 日
    38000
  • python SQLAlchemy ORM——从零开始学习 04 如何过滤(筛选)数据库中的数据

    04 如何过滤(筛选)数据库中的数据 从数据库中获筛选数据主要应用以下几个接口:filter、filter_by、以及 where。前两个在 02已经展开说过,先展开说where接口 前情提要:依赖03提及的model【本质上就是数据库的链接,有可忽视】 当前的数据库表内容如下,仅作例子,不相同根据自身数据库操作即可: 4-1 通过where进行筛选 同时筛…

    2025 年 1 月 15 日
    45700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信