diff --git a/改善案/issue_3_計画始動後の作付け変更_調査.md b/改善案/issue_3_計画始動後の作付け変更_調査.md index 6656f33..b704301 100644 --- a/改善案/issue_3_計画始動後の作付け変更_調査.md +++ b/改善案/issue_3_計画始動後の作付け変更_調査.md @@ -425,7 +425,7 @@ RESERVE 付け替えもこの方針と整合する。 | 移動先計画の命名 | `{year}年度 {品種名} 施肥計画(品種変更移動)` | | 変更履歴 | **PlanVarietyChange モデルを新設** | | 圃場グループ | **対応不要**(現在値扱いのまま) | -| 田植え計画 | **施肥と同様に対応**(実装は施肥の後) | +| 田植え計画 | **現時点では全件移動**(実績概念なし)。将来の実績連携実装後に再設計(実装は施肥の後) | ### 9-2. 品種変更時の自動処理フロー @@ -441,8 +441,11 @@ RESERVE 付け替えもこの方針と整合する。 - actual_bags IS NULL → 未散布(移動対象) - actual_bags IS NOT NULL かつ actual_bags < bags → 一部散布済み(移動不可・旧計画に残す) - actual_bags >= bags → 散布完了(移動不可・旧計画に残す) - ※ actual_bags = 0 は現行 services.py では null に丸められるため実運用上は出ないが、 - 将来のロジック変更に備えて「is NULL」単独ではなく上記3区分で判定する + ※ actual_bags = 0 の扱いは明示的に決定しておく必要がある。 + 現行 services.py では SUM = 0 のとき NULL に丸めるが、 + データ補正や手動更新で 0 が直接セットされる可能性は排除できない。 + 本仕様では actual_bags IS NULL を未散布と判定し、0 は一部散布済みと同様に扱う + (移動不可・旧計画に残す)とする。 対象: FertilizationPlan.variety=A かつ year=変更年度 かつ FertilizationEntry.field=変更圃場 かつ actual_bags IS NULL(未散布)