2013-03-19 90 views
0

問候所有,邏輯做逾期定單系統

目前我來面對一個邏輯的問題,我還沒有由於後兩天我一直在第二個猜測自己弄清楚。這是我正在做的事情的要點。

我有一個訂單進入一個網站。從邏輯上說,它已經根據庫存量確定了訂單上發送的特定物品的數量。如果股票足夠高,它會發出很多請求的項目。

但是,有一個轉折點。管理員可以調整這些訂單號碼。他們可以改變要求的金額和發行金額。一條規則是,他們不能發出超過請求(換言之,發出< =請求)。這是一個訂單的例子。

請求數量爲5件。訂單時的庫存號碼爲4,系統接收庫存中的物品併爲訂單發出訂單,併爲剩餘物品放置缺貨。

數量= 5 股票= 4

5 - 4 = 1

發行數量= 4

延期交貨= 1

有,我已經拿出4個scenerios以解決所有可能的變化。

1.)管理員將數量從5更改爲4.由於股票仍然是4並且無法再上漲,因此管理員會留下單獨發行的金額。這導致需要刪除缺貨。

2.)管理員將數量從5更改爲6,留下單獨發行的金額(反過來由於股票爲空)。這導致缺貨需要更新到2.

3.)管理員不會更改數量(5)。管理員將發行金額從4更改爲3.這將一個項目重新添加到庫存(1)中。這將導致缺貨保持2

4)管理的變化既數量和發行額度爲4。這使得股票然後在0缺貨也被刪除,由於它下降到0

我問題是在代碼中創建邏輯來處理這個問題。我從檢查數量開始,看它是否超過原始數量。如果是這樣,我檢查了發行金額,看它是否大於發行的原始金額。然後我一直迷路。

我希望也許有人有一些想法。我真的很感謝在弄清楚這個邏輯的任何幫助。謝謝。

+0

您發佈的案例3似乎已關閉。你的意思是以下幾點: 3)管理員不改變數量(5)。管理員將發行金額從4更改爲3.這會將一個項目添加到庫存(1),並且延期交貨仍然爲1. – StarPilot 2013-03-20 15:09:45

+0

已修復。感謝您的支持。實際上,缺貨會上升到2. – IyaTaisho 2013-03-20 17:17:15

回答

1

如果已經有履行訂單的系統(計算髮行&回單號碼),那麼處理此問題的一種方法是撤銷操作,應用管理員的更改並重新執行更改的訂單。

您必須在訂單中添加一個或兩個字段以解釋管理員的更改,並更新訂單履行系統以說明指定的已發貨金額。

通過這種方式,您不需要複雜的邏輯來改變發佈,延期交付等等。

+0

這是半合理的,但這意味着我需要更新庫存數量,刪除記錄,然後重新創建相同的記錄,並將其添加到訂單中。我猜想在一個方式它的工作方式,但我寧願不刪除記錄與做邏輯。 – IyaTaisho 2013-03-20 17:25:38

+0

也許,但我認爲我更願意將履行記錄看作是不可變的,你實際上做的是取消一個履行並替換管理員定製的履行。我還喜歡將履行邏輯放在一個地方(包括管理員更改),而不是讓第二個系統執行復雜的數據庫更新。只是我的觀點 – 2013-03-20 21:00:53