0

问候大家,

我目前遇到了一个逻辑问题,两天后我还没有弄清楚,因为我一直在猜测自己。这是我正在做的事情的要点。

我有一个进入网站的订单。从逻辑上讲,它已经根据库存确定了要在订单中发送多少特定商品。如果库存足够高,它会发出许多请求的物品。

但是,有一个转折。管理员可以调整这些订单号。他们可以更改请求的金额以及发行的金额。一条规则是他们不能发出超过请求的数量(换句话说,发出 <= 请求)。这是一个订单的例子。

收到一份数量为 5 件的请求。订购时的库存数量为 4。系统获取库存并为订单发出库存,并为剩余的项目下订单。

数量 = 5 库存 = 4

5 - 4 = 1

问题数量 = 4

缺货 = 1

我想出了 4 个场景来解释所有可能的变化。

1.) 管理员将数量从 5 更改为 4。由于库存仍然是 4 并且不能再高,管理员不理会发行的数量。这导致需要删除延期交货。

2.) 管理员将数量从 5 更改为 6,仅保留已发行数量(反过来,由于库存为空)。这导致延期交货需要更新为 2。

3.) 管理员不更改数量 (5)。管理员将发出的数量从 4 更改为 3。这会将一件物品重新添加到库存 (1) 中。这会导致延期交货订单保持为 2。

4.) 管理员将数量和发行数量都更改为 4。这使得库存为 0。由于库存下降到 0,延期交货也被删除。

我的问题是在代码中创建逻辑来处理这个问题。我首先检查数量,看看它是否超过了原始数量。如果是这样,我检查了发行量,看它是否大于原始发行量。然后我一直迷路。

我希望也许有人有一些想法。我真的很感谢在弄清楚这个逻辑方面的任何帮助。谢谢。

4

1 回答 1

1

如果已经有一个系统来履行订单(计算已发出和延期交货的订单号),那么处理此问题的一种方法是撤销操作,应用管理员的更改并使用更改重新履行订单。

您必须在订单中添加一个或两个字段以说明管理员的更改,并更新订单履行系统以说明指定的发出金额。

通过这种方式,您不需要复杂的逻辑来更改已发布、延期交货等的内容。

于 2013-03-20T14:40:27.373 回答