我正在尝试创建一个基于一些 mysql 表和表单的 Web 应用程序。
我有一个添加发货页面,用户可以在其中添加产品列表和发票编号,因此在我的Shipment_Products表中
id invoice_no product_code qty
1 34 HP222 4
2 34 HL234 1
我还有一个已售出页面,用户在其中添加了从其库存中出售的产品列表,因此表Sold_Products 的填充方式如下
id invoice_no product_code qty
1 1 HP222 2
2 34 HL234 1
我需要有第三个名为 Stock 的表,在其中我必须获取库存商品的总数,但我一直不知道如何根据这两个现有表自动生成它,然后保持更新。
有什么建议吗?
最佳答案
我认为您想要的并不像您可能试图走捷径的那么简单。首先,如果您的公司正在处理 FIFO 与 LIFO 库存,则您可以根据给定供应商在给定购买时间的成本,将库存从盘点中扣除,因为它们可用于 COGS(销售成本)目的。
您可能只有一个采购表,显示收到的每件商品和数量,然后,当商品售出时,有另一个表显示每次购买收到的可用数量的减少。考虑到这样一个简单的场景,处理起来有点棘手……
从供应商处购买 10 件产品“X”,然后不久又购买 4 件产品“X”。总共 14 个。 现在,对于销售事件,您有一个订单销售 3 个,然后是 2 个,然后是 4 个,然后是 3 个。总共售出 14 个中的 12 个,但无论以 FIFO 与 LIFO 的方式计算,所计算的数量都会有所不同最初的购买...例如:将从最初的 10 次购买和 4 次购买中考虑 FIFO。
10 purchase
10 - 3 = 7
7 - 2 = 5
5 - 4 = 1
1 - 3 = -2 -- WRONG... Only 1 of the 3 against the original 10 purchase
1 - (1 of 3) = 0
4 purchase
4 - (remaining 2 of 3) = 2 -- here is the remaining 2 entries from the last sale, leaving 2 left in inventory.
因此,没有绝对的表结构需要处理,但我认为您应该检查库存管理需求如何需要它们。
关于php - 在mysql中通过什么方式创建这个库存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27180579/