0

みなさん、こんにちは。

私は現在、自分自身を推測し続けているため、2日経ってもまだ理解していない論理的な問題に直面しています。ここに私がやっていることの要点があります。

あるサイトに注文があります。論理的には、在庫に基づいて、注文で送る特定のアイテムの数をすでに決定しています。在庫が十分にある場合は、要求された数のアイテムを発行します。

ただし、ひねりがあります。管理者はこれらの注文番号を調整できます。要求された金額と発行された金額を変更できます。1 つのルールは、要求された数を超えて発行できないことです (つまり、発行された <= 要求された数)。ご注文の一例です。

数量 5 のアイテムの要求が来ました。注文時の在庫数は 4 でした。システムは、在庫があるものを取り出して注文に発行し、残りのアイテムをバックオーダーにします。

数量 = 5 在庫 = 4

5 - 4 = 1

出庫数量 = 4

バックオーダー = 1

考えられるすべての変更を説明するために思いついた 4 つのシナリオがあります。

1.) 管理者は、数量を 5 から 4 に変更します。管理者は、在庫がまだ 4 であり、これ以上増加できないため、発行された金額をそのままにします。これにより、バックオーダーを削除する必要があります。

2.) 管理者は数量を 5 から 6 に変更し、発行された金額をそのままにします (在庫が空であるため)。これにより、バックオーダーを 2 に更新する必要があります。

3.) 管理者は数量 (5) を変更しません。管理者は発行量を 4 から 3 に変更します。これにより、在庫 (1) にアイテムが 1 つ追加されます。これにより、バックオーダーは 2 のままになります。

4.) 管理者は、数量と発行額の両方を 4 に変更します。これにより、在庫は 0 のままになります。在庫が 0 になるため、バックオーダーも削除されます。

私の問題は、これを処理するコードでロジックを作成することです。数量をチェックして、元の数量を超えていないかどうかを確認することから始めました。もしそうなら、発行された金額が元の発行された金額よりも多いかどうかを確認しました. そして、私は道に迷い続けます。

誰かが何かアイデアを持っていることを願っています。このロジックを理解するための助けに本当に感謝しています。ありがとう。

4

1 に答える 1

1

注文を履行するためのシステム(発行済みおよびバックオーダー番号を計算する)がすでにある場合、これを処理する1つの方法は、操作を逆にして、管理者の変更を適用し、変更を注文に再履行することです。

管理者の変更を考慮して注文にフィールドを1つまたは2つ追加し、指定された発行額を考慮して注文履行システムを更新する必要があります。

このように、発行されたものやバックオーダーされたものなどを変更するための複雑なロジックは必要ありません。

于 2013-03-20T14:40:27.373 に答える