# 前編・総合演習：取引先別の値引き機能

これは架空の販売管理案件です。顧客コード・実データは使わず、普段の開発環境で試してください。アプリ内では計画、結果、判断を記録します。

## 最初の依頼
「優良取引先に10%値引きを適用したい。過去の分もお願いします。」

## 現行調査の材料
- 受注画面と夜間バッチにそれぞれ金額計算がある。
- 取引先マスターに優良区分がある。
- 古い設計書には「金額は四捨五入」とあるが、対象の金額・処理時点は不明。
- 受注明細と受注合計は別のテーブルに保存する。
- 締め済み取引は請求・会計連携に使用される。
- 現行テストは通常取引先の正常系だけ。

## 演習上の合意済み条件
- 対象は新規かつ未締めの受注。過去分・締め済み分は今回の対象外。
- 対象取引先は既存の優良区分で判断する。
- 明細金額＝単価×数量。明細金額の10%を値引きする。
- 値引き額の小数は切り捨てる。税はこの演習の対象外。
- 非対象の取引先は変更しない。
- 金額は0円以上、受注合計と明細合計が一致する。
- 正常系だけでなく権限不足・保存失敗・再実行も確認する。

## 独立した計算例
単価1,001円×数量3＝3,003円。値引き額は300円、差引額は2,703円。
単価99円×数量1＝99円。値引き額は9円、差引額は90円。
非対象取引先で単価1,001円×数量3＝3,003円。値引きなし。

## 作業
1. 未確定事項と対象外を整理する。
2. データ・画面・バッチ・帳票への影響を調べる計画を作る。
3. 使用する技術と選定・継続理由を記録する。
4. 作業分解、AIへの依頼、レビュー、検証方法を定める。
5. 実装する場合は架空データと検証環境を使う。
6. 期待値と実測、成功と未実施を分けて記録する。
7. 途中失敗、再実行、既存機能の確認を行う。
8. 別の担当者に説明し、指摘と修正を残す。

## 条件変更による再確認
レビュー後に「値引き額の端数は切り上げ」と変更されたと仮定する。
変更の合意が必要な範囲、設計・実装・テストへの影響を整理する。
3,003円の10%値引きは301円、差引額は2,702円になる。

## 提出内容
要件・未確認・対象外／影響調査／技術判断／AIへの依頼／変更内容／レビュー／テスト結果／残るリスク／対応できる範囲と支援条件。

実施段階を「計画・記述」「実装・作業実施」「結果検証」「第三者レビュー」から選び、実行していないことを実施済みとしない。
