我必须跟踪单个零件和套件(组件)的库存,但找不到令人满意的方法。伪造和超简化数据库示例:
表产品: 产品 ID 1 产品名称 助焊剂电容器 产品成本 900 产品价格 1350 (900*1.5) 产品库存 3 - 产品 ID 2 产品名称融合先生 产品成本 300 产品价格 600 (300*2) 产品库存 2 - 产品 ID 3 产品名称 时间旅行套装 prodCost 1200 (900+300) 产品价格 1560 (1200*1.3) 产品库存 2 表相关 相对 ID 1 relSrc 1(磁通电容器) relType 4(是的子部分) relDst 3(时间旅行套件) - 相对 ID 2 relSrc 2(融合先生) relType 4(是的子部分) relDst 3(时间旅行套件)
prodPrice:它是根据成本计算的,但不是以线性方式计算的。在此示例中,对于 500 或更少的成本,加价为 200%。对于 500-1000 的成本,加价为 150%。对于 1000+ 的成本,加价是 130% 这就是为什么时间旅行套件比单个零件便宜得多的原因
prodStock:这是我的问题。我可以出售套件或单个零件,因此套件的库存是虚拟的。
我购买时的问题:一些供应商向我出售整个 Time Travel 套件(带有一个条形码),而有些供应商向我出售单个零件(带有不同的条形码)所以当我加载库存时,我不知道如何估算它.
出售时的问题:如果我只出售套件,计算库存会很容易:“我有 3 个 Flux 电容器和 2 个 Mr Fusion,所以我有 2 个 Time travel 套件和一个 Flux 电容器”但我可以出售套件或单个零件. 因此,我必须同时跟踪单个零件和可能的套件的库存(并且我必须补偿售价)
可能这真的很简单,但我看不到一个简单的解决方案。恢复:我必须找到一种跟踪库存的方法,而数据库/程序是必须这样做的(我不能要求店员更正库存)
我正在使用 php+MySql。但这更像是一个逻辑问题而不是编程问题
更新:可悲的是,Eagle 的解决方案不起作用。
- 关系可以并且是递归的(一个工具包使用另一个工具包)
- 有些套件确实使用了多个相同的部件(2 个磁通电容器 + 1 个 Mr Fusion)
- 我真的需要为套件的库存存储一个价值。相同的数据库用于用户想要购买零件的网页。我应该展示可用的库存(否则他们甚至不会尝试购买)。并且无法计算网页上每个用户搜索的库存
但我喜欢将股票标记为虚拟的布尔值的想法