美文网首页
库存校验设计方案

库存校验设计方案

作者: 草丛愚人 | 来源:发表于2020-05-12 23:48 被阅读0次

今天从下午开始就一直在排查和处理库存差异数据,发现很多订单被系统校验卡住了,本以为是仓库系统的问题,今天本着问题彻底解决的态度,又重新一条条数据,竟然核对到一个存留很久的问题。

现状业务:正常业务单据在占用库存时都会基于“良品-锁定”库存进行判断,不允许超量占用(即总占用数量大于良品数量),但仓内发起盘点或库存属性调整单据是从实物管理角度出发,并不依赖上游库存占用数据,但为避免上游超卖,仓内发起单据同样会占用供应链库存,只是说允许超占,且需要占用到具体的批次ID上,来确保最终扣减库存时能够匹配上。

现状方案:单据出库时,会判断批次库存和渠道库存是否满足,批次库存判断逻辑为:良品-本次出库扣减预占数量>=剩余预占数量;渠道库存校验逻辑为:良品-本次出库数量>=剩余预占数量

现状问题:当某个货品出现库存超占时,基于上述逻辑,仓内发起单据就会扣减失败,进而引发后续的批次库存差异,再导致后续2B或2C单据出库异常。且目前仓内发起单据取消时,系统对接异常,并不会扣减批次占用库存,更加容易导致异常。

具体数据案例见下图:

系统单据流水

调整后的方案为:

1、仓内发起单据取消接口逻辑调整,需要在单据取消时扣减批次上占用的库存;

2、出库校验逻辑调整:批次库存校验调整为:良品-实际出库数量>=批次预占数量,才允许出库,渠道库存校验调整为:良品-实际出库-预留>=0,才允许出库;

3、2B出库单和2C出库单占用库存校验逻辑不调整。

相关文章

  • 库存校验设计方案

    今天从下午开始就一直在排查和处理库存差异数据,发现很多订单被系统校验卡住了,本以为是仓库系统的问题,今天本着问题彻...

  • 【安全库存】设计,避免超卖

    晚上跟前台同学在扯【安全库存】设计方案,前台同学认为安全库存是不能作为销售库存售卖的,菜鸟同步给前台的库存不应该包...

  • MySQL 5.6.35 索引优化导致的死锁案例解析

    一、背景 随着公司业务的发展,商品库存从商品中心独立出来成为一个独立的系统,承接主站商品库存校验、订单库存扣减、售...

  • 外观模式的应用

    提出需求 现在要完成一个积分兑换礼品的功能,这个功能包含三个子系统,分别是资格校验(校验积分是否满足,库存是否足够...

  • 07使用 Go 完成用户业务逻辑

    简介 路由总览 定义 handler校验参数加密密码和数据库存储 其他 handler获取用户列表更新用户 总结 ...

  • 消息中有emoj表情的处理方式

    数据库存值报错 解决方式: 前端传值来时,emoj表情 转换为 别名字符 ;-- 实现方式:注解校验更改后端向前端...

  • 电商高并发秒杀5 流量削峰技术

    前言 对应的交易优化技术使用了缓存校验+异步扣减库存的方式,使得秒杀下单的方式有了明显的提升。即便查询优化,交易优...

  • 一次Java对象引用使用不当的引起问题

    背景描述铺货的时候要对照bach那边的库存做校验,不同蜂房要查看的sku列表是相同的,但是每个sku在每个蜂房的库...

  • 通过redis+lua实现加减库存

    一. 场景 下单后库存校验或者秒杀场景下,有很多利用“锁”的方案来解决问题。但是加锁其实是一件性价比很低的事,所以...

  • 分布式锁(Redisson)-从零开始,深入理解与不断优化

    分布式锁场景 互联网秒杀 抢优惠卷 接口幂等性校验 案例1 如下代码模拟了下单减库存的场景,我们分析下在高并发场景...

网友评论

      本文标题:库存校验设计方案

      本文链接:https://www.haomeiwen.com/subject/uvpwnhtx.html