目前我被要求开发和改进php& mysql基于Web的系统。系统习惯于管理数量,保留所有记录库存和消费食品的销售。我已经提供了一些授权ID作为管理员,它允许我们添加和更新现有数据。
每个包裹都来到仓库,管理员饲养员应该记录它们(项目ID,日期时间,成本,数量,供应商详细信息等)
系统已经植入了一些功能来跟踪物品的数量,只要库存数量低于/低于基准数量,它会自动告知 管理员为特定项目创建采购订单并发送给其供应商。系统应确保业务保持各种商品可供出售。
有一些基于记录的例子我被操纵以使其更简化,
ITEM_ID | DATETIME |COST ($)| QTY_IN_STOCK | BENCHMARK_QTY | SUPPLIER_ID |
20041 | 2012-04-12 10:49:20 | 12 | 120 | 140 | 40 |
因为 QTY_IN_STOCK< BENCHMARK_QTY ,系统自动告知管理员制作一些采购订单。 今天我们得到SUPPLIER_ID(40)的通知,他们接受某种形式包含'Candy Bar'订购的100个数量,每个引用约10美元。
这种情况在商业活动中似乎很常见,因为经济增长因素和不时的成本波动。我们订购的包裹到仓库,更新记录所需的饲养员(DATETIME(自动更新),COST,QTY_IN_STOCK)
如何通过防止不一致数据(COST)来解决这种情况,因为业务剩余QTY_IN_STOCK(购买120件,每件12美元)。 无法为此添加新记录,因为我们不会使用类似的SUPPLIER_ID来保持数据冗余。
任何想法,评论或想法都会有所帮助!
答案 0 :(得分:0)
基本上,您在一个表中获得的数据应该分布在三个不同的表中。表1(PARTS)应包含每个部件的标准数据:部件号,部件名称,最小库存,供应商。表2(MOVEMENTS)应保存每个部分的运动数据:日期,数量,运动类型,成本。零件可以输入库存,在这种情况下,'运动类型'将会购买'和'成本'将是来自供应商的单位成本,或者他们可以留下库存,在这种情况下'类型的运动'将是'用法'或者'销售&#39 ;; '成本'是无关紧要的。表3(BALANCES)应保存每个部分的清单 - 这将与MOVEMENTS表中的总数相同。您可以在每次有新动作时对动作求和,也可以更新总动作。
这样您就可以以不同的价格记录同一部分的购买。您的库存值可以通过多种方式计算 - FIFO,LIFO或平均值;每个都需要一个不同的算法来遍历MOVEMENTS表。