问题描述
我已经搜索了很多来解决这个问题,但没有找到合适的解决方案。 这是我的销售点方案。
PRODUCT_INVENTORY 表
id | product_id | quantity_in | sale_price | sold_items |
---|---|---|---|---|
1 | 100 | 10 | 1,000 | 0 |
1 | 100 | 20 | 1,200 | 0 |
每当有新库存进入时,就会在 PRODUCT_INVENTORY 表中创建一个新条目。例如,又输入了 15 个数量,因此表格如下所示:
| 1 | 100 | 10 | 1,000 | 0
| 1 | 100 | 20 | 1,200 | 0
| 2 | 100 | 15 | 1,500 | 0
现在,库存数量为 10 + 20 + 15 = 45。假设客户订购了 product_id = 100 的 20 件商品。由于我们的库存数量大于订购数量,因此可以出售商品。当最后一行的新销售为 1500 卢比时,使用最新记录的销售价格。
因此销售明细表将类似于
销售明细表
sale_id | product_id | quantity_sold | sold_unit_amount | total_amount |
---|---|---|---|---|
1 | 100 | 20 | 1,500 | 30,000 |
现在的问题是我们应该如何调整 PRODUCT_INVENTORY 表中的 Sold Items。
选项 1 - 我们是否应该从第一条记录中减去 10,从第二条记录中减去 10?
实际上库存以先进先出或后进先出方法维护。先进先出 (FIFO) 方法表示您应该清除先到的库存。 LIFO 与 FIFO 正好相反。
但是当客户退货时问题就来了。假设有 5 件商品被退回,在这种情况下我可以在 PRODUCT_INVENTORY 表中调整这 5 件退回的数量吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)