Issue #4 の検討中に、管理者向け注文編集画面のお届け先変更だけでなく、数量変更・商品追加/削除にも後工程データとの不整合リスクがあることが分かった。
この Issue は、管理者の注文編集で、後工程に進んだ注文の数量変更・商品追加/削除をどう制御するかを扱う。
関連:
補足:
12_管理者の注文編集で後工程済み注文の数量商品変更が引当や箱詰めと不整合になる可能性がある_実装手順.md を優先する。管理者向け注文編集画面では、発送済み・手渡し済み・キャンセル済み以外の注文が編集対象になり得る。
対象:
/management/orders/edit/<order_id>/dashboard:mg_orders:order_editmg_orders/views.py の order_edit現行の Order.is_editable は、以下のような注文も編集可能にする。
数量変更・商品追加/削除は、引当済み・箱詰め済みの注文では次のような不整合を起こし得る。
Allocation で注文明細に引き当てられている。PackageItem として箱に入っている。この状態では、注文上の数量と、実際に引き当てられた袋・箱に入っている袋が食い違う恐れがある。
管理者の注文編集で、後工程に進んだ注文の数量変更・商品追加/削除が、引当・箱詰め・送料・発送処理と矛盾しないようにする。
管理者が内部構造を理解しなくても、画面上で「この注文はすでに出荷準備作業が始まっているため、この変更は直接保存できない」または「変更すると作業を差し戻す必要がある」と分かる状態を目指す。
注文の状態ごとに、管理者編集画面で許可する項目を決める。
候補:
| 状態 | 数量変更 | 商品追加/削除 | 単価変更 | メモ |
|---|---|---|---|---|
| 未引当 | 許可 | 許可 | 許可 | 後工程データと接続されていないため比較的安全。 |
| 引当済み・未梱包 | 要検討 | 要検討 | 要検討 | 許可する場合は引当解除や再引当が必要。 |
| 箱詰め中 | 原則不可 | 原則不可 | 要検討 | 変更するならキャンセルして作り直す、または梱包差し戻し導線が必要。 |
| 発送準備完了 / 伝票印刷済み | 原則不可 | 原則不可 | 要検討 | 伝票・請求・入金への影響が大きい。 |
| 発送済み / 手渡し済み / キャンセル済み | 不可 | 不可 | 不可 | 現行どおり編集不可。 |
方針候補:
Issue #4 / Issue #11 の方針とそろえるなら、まずは未引当のみ数量・商品変更可に寄せるのが自然。
単価変更は商品内容や重量を変えないため、引当・箱詰めには直接影響しない。
ただし、入金済み注文や請求書発行後の単価変更は、金額・請求・入金管理に影響する。
検討項目:
数量・商品変更を拒否する場合、内部用語だけでなく業務上の理由を示す。
文言例:
この注文はすでに出荷準備作業が始まっているため、数量や商品内容をこの画面では変更できません。内容を変更する場合は、既存注文をキャンセルし、必要な内容で注文を作り直してください。
後工程済み注文の数量・商品変更を「キャンセルして作り直す」運用に寄せる場合、Issue #11 のキャンセル強化・作り直し補助が前提になる。
そのため、この Issue は Issue #11 と連動する。
現在は #11 のキャンセル強化、#14 の管理者注文作成・作り直し導線、#13 の繰越充当が完了しているため、この前提は満たされている。#12 では、これらの既存導線を利用して、後工程済み注文の直接編集を安全に拒否する実装に集中する。
初期実装では、引当済み以降の数量・商品・単価変更はキャンセルして作り直しへ寄せる。後工程済み注文の単価だけを許可する運用や、引当解除・梱包差し戻しは、本 Issue の初期実装では扱わず将来の別 Issue 候補とする。