单个产品出库扣减库存
单个产品出库扣减库存
//单个产品出库扣减库存
public function reduceNumber()
{$stockList = [];for($i=1; $i<4; $i++){ //随机生成库存数据$stockList[] = ['id' => $i,'number' => (int) ($i * 20 / 3), //库存数据'in_time' => 1734568 . rand(100, 999), //批次时间戳'name' => '产品名', //产品名//'product_code' => 'go31415926' //可以根据产品编码确定是同一商品];}$stockOutData = ['number' => mt_rand(20, 60), //随机出库数量 [20, 60]'name' => '产品名'];//排序库存数据:根据时间升序,用于出库,较早的商品先出库$times= array_column($stockList, 'in_time');array_multisort($times, SORT_ASC, $stockList);list($updateStock, $sockOutList) = $this->processStock($stockOutData, $stockList);$this->myPrint($stockList, $stockOutData, $updateStock, $sockOutList);die();
}//扣减库存
public function processStock($stockOutData, $stockList)
{$updateStock = $sockOutList = [];//判断总库存够不够$number = $stockOutData['number']; //需要出库的数量$totalNumber = array_sum(array_column($stockList, 'number')); //总库存数量if($number > $totalNumber){exit("库存仅剩 [ {$totalNumber} ] 不足 [ {$number} ] ");//return [$updateStock, $sockOutList];}//自动出库:循环处理每个批次的numberforeach ($stockList as $value){if($number <= 0){ //库存扣减完成,结束循环break;}$stockId = $value['id'];$stockNumber = $value['number']; //单个批次的库存if($stockNumber <= $number){ //该批次库存全部取出$productNum = 0;$outNumber = $stockNumber;}else{ //该批次库存部分取出$productNum = $stockNumber-$number;$outNumber = $number;}//扣减后的库存数据$updateStock[] = ['id' => $stockId,'number' => $productNum //还剩多少库存];//出库记录$sockOutList[] = ['stock_id' => $stockId, //库存ID'name' => $value['name'], //产品名'out_number' => $outNumber //出库数量];$number -= $outNumber; //待出库 = 待出库 - 已出库}return [$updateStock, $sockOutList];
}//打印结果
public function myPrint($stockList, $stockOutData, $updateStock, $sockOutList)
{echo '<pre>【库存表数据】' . PHP_EOL;print_r($stockList);echo PHP_EOL . '【要出库的数据】' . PHP_EOL;print_r($stockOutData);echo PHP_EOL . '【扣减后的库存数据】' . PHP_EOL;print_r($updateStock);echo PHP_EOL . '【出库记录数据】' . PHP_EOL;print_r($sockOutList);echo '</pre>';
}
单个产品出库扣减库存相关推荐
- 电商扣减库存_以电商为例 | B端产品经理,怎么做好库存系统设计
库存,是仓库中实际储存的货物.可以分两类:一类是生产库存,即直接消耗物资的基层企业.事业的库存物资,它是为了保证企业.事业单位所消耗的物资能够不间断地供应而储存的:一类是流通库存,即生产企业的原材料或 ...
- 电商扣减库存_经验分享:电商库存体系设计笔记
最近在做仓库库存管理相关的项目,清晰地了解了仓库是如何管理库存的,并且整清楚了各个系统的库存是如何交互的,整理了下分享给大家. 库存是什么 这里是百度百科给出的解释: "库存(invento ...
- 电商扣减库存_电商仓库管理的难点与解决方案
在我国,目前有很多小型电商企业,其仓库面积都在1000平以内,由于前期对营销的专注,对仓库的忽视,包括对设施设备的投入,导致了今天仓库工作效率低下,库存混乱,运作成本高等诸多问题,以下我们来细细诉说. ...
- 电商扣减库存_电商新零售库存分层模型介绍
01 电商新零售库存分层 梳理完中央库存的逻辑以后,下一步需要整理上下游的库存交互.在整个电商体系中,库存会存在于供应链的多个业务环节中,按照系统的分工不同,小Q将库存抽象为两类三层: 1.两类库存: ...
- 电商扣减库存_库存管理:看懂库存扣减方式,至少不会卖错货
在电商后台库存管理系统中,看懂库存扣减方式,是很重要的,最起码可以避免不要卖错货. 在电商后台库存管理系统中,影响库存的行为,主要是入库和出库,出入库的主要内容可分为货位.调拨业务.盘点业务. 1)货 ...
- 电商扣减库存_做采购的您怎么能不懂电商仓储管理呢?
在我国,目前有很多小型电商企业,其仓库面积都在1000平以内,由于前期对营销的专注,对仓库的忽视,包括对设施设备的投入,导致了今天仓库工作效率低下,库存混乱,运作成本高等诸多问题,以下我们来细细诉说. ...
- 电商扣减库存_电商后台:商品库存管理之批次管理
本文主要对电商平台的库存系统中的批次管理进行了详细的阐述,一起来看看~ 一.批次管理 库存,是电商企业不能回避的问题,如何让仓库商品能够有序的流转,是电商供应链管理后台的重中之重,也是电商企业的命门. ...
- 电商扣减库存_电商平台仓库管理系统究竟有何功能?
仓库管理系统能有效控制并跟踪仓库业务的物流和成本管理全过程,实现完善的企业仓储信息管理.本文介绍了仓库管理的概念,商品与仓库的联系,商品发货的调度中心以及其他附加功能,与大家分享! 仓库管理系统(Wa ...
- 电商扣减库存_电商之购物车
我从刚开始做产品起,就只想做电商,对医疗.教育类的都不太感兴趣.公司转型做电商,整个电商模块重构,有幸负责购物流程优化,之后支付中心和订单中心都会相继优化,今天先来讲购物车. 一.购物车目的 任何产品 ...
- 电商扣减库存_电商库存体系设计
库存是什么? 百度百科:库存(inventory)是以支持生产,维护,操作和客户服务为目的而存储的各种物料,包括原材料和在制品,维修件和生产消耗品,成品和备件等: 狭义:"仓库里存放东西&q ...
最新文章
- 开发的AI程序员“抄”代码,被骂惨的GitHub到底冤不冤?
- linux 在文本模式下(命令模式)下,中文是乱码,如何解决?
- 【计算广告】不懂这些专业术语别说你懂广告
- MySQL 8.0 压缩包版安装方法
- 从逻辑回归到最大熵模型
- Go 函数的 Map 型参数,会发生扩容后指向不同底层内存的事儿吗?
- 优必选能开放软硬件源代码吗_四个项目供父母教孩子如何使用开放式硬件和电子产品...
- eclipse cdt无法调试_eclipse导入Web项目并且部署到tomcat(超详细)
- Linux操作系统中vi常见用法和相关配置
- 修复 VM Player 断网问题 20121215T1402
- 倍福--和威伦触摸屏通信
- 可控硅型号怎样识别_可控硅的鉴别
- 你所不知道的BGP知识,Peering 和IP-Transit.
- 用python编写缠论中枢_缠论的笔、线段、中枢以及MACD背离分析实现
- 20款华丽的几何形状字体【免费下载】
- Day 05 Dict字典
- 美国国防部机密文件销毁算法
- 常用库函数的学习笔记
- numpy.corrcoef()函数讲解
- 线性代数中特殊行列式的计算
热门文章
- python中https请求的封装_python接口自动化9-https请求(SSL)
- input在vue中如何一次性上传多张图片_小程序图片上传,存储,获取,显示
- Git merge分支到master
- Intellij mac快捷键
- 数据结构 详解(C++)
- NYOJ201-作业题(最长升降子序列)
- 求数列的最大子段和java_十大经典排序算法(Java版本)
- php scrscriptipt,xss跨站脚本攻击 (初级-中级-高级)
- xmind试用模式会过期吗_汽车发动机机油「保质期」概念解析:机油真的会过期吗?...
- linux 更新目录时间戳,修改linux 文件的时间戳