全心全意,
我目前正面临一个逻辑问题,我在两天之后还没弄清楚,因为我一直在猜测自己。这是我正在做的事情的要点。
我有订单进入网站。从逻辑上讲,它已经根据库存确定了订单中要发送的特定商品的数量。如果库存足够高,它会发出许多要求的物品。
然而,有一个扭曲。管理员可以调整这些订单号。他们可以更改所请求的金额以及发放的金额。一条规则是它们不能发出超过请求的数量(发出< =请求换句话说)。这是一个订单的例子。
请求数量为5件。订单时的库存数量为4.系统获取库存中的库存并为订单发出订单,并为剩余商品下订单。
数量= 5 股票= 4
5 - 4 = 1
问题数量= 4
Backorder = 1
我想出了4个场景来解释所有可能的变化。
1。)管理员将数量从5更改为4.管理员留下单独发行的金额,因为该股票仍然是4,并且不能更高。这导致需要删除延期交货。
2。)管理员将数量从5更改为6,单独留下已发放的金额(反过来由于库存为空)。这导致延期交货需要更新为2。
3.)管理员不会更改数量(5)。管理员将发放的金额从4更改为3.这会将一个项目重新添加到库存中(1)。这导致延期交货保持2。
4。)管理员将数量和已发行金额更改为4.这使得股票处于0.延期交货也因为下降到0而被删除。
我的问题是在代码中创建逻辑来处理这个问题。我开始检查数量是否超过原始数量。如果确实如此,我检查了已发行的金额,看它是否大于发出的原始金额。然后我一直迷路。
我希望也许有人有一些想法。我非常感谢你找出这个逻辑的任何帮助。感谢。
答案 0 :(得分:1)
如果已经存在用于履行订单的系统(计算已发布和后退订单号),则处理此操作的一种方法是撤消操作,应用管理员的更改并使用更改重新执行订单。
您必须在订单中添加一个或两个字段以说明管理员的更改,并更新订单履行系统以考虑指定的已发放金额。
通过这种方式,您不需要复杂的逻辑来更改已发布的内容,延期交货等。