6.1.1 受発注エンティティの見直し
例題5 営業判断による値引きを可能にする
まず、業務の現状と要望事項を説明します。それを把握した上で、続く問題に答えなさい。
企業全体の値引き企画を適用するだけでなく、営業判断で交渉価格を設定できる柔軟性をもたせたい、という要件があります。
また、その場合、上司の承認を経た上で値引きを確定できるようにする必要がある、という要求がありました。
この仕様を満たすため、アプリケーション開発チームから次の要望がでました。
- 営業判断による値引き承認がわかるような設計にしてほしい
- 営業判断による値引きが生じた場合、承認を確認できるような属性を考慮してほしい
問題
上記の要件を考慮して、今まで作成したモデルを見直してください。
ヒント
営業判断による値引きというルールの追加処理は値引きルールエンティティに1行追加するだけで実装できます。
ただし、「90 営業判断による値引き」の場合、受注明細単位で上司の承認を必要とする部分に関しては、アプリケーション開発チームから新たな要望が出ています。
これに対応します。
営業判断による値引き「金額」「理由」は、受注単位、または明細単位で管理すべき情報です。
モデルにどのように反映させるべきでしょうか。
解答
ER図に変更はありません。
値引きルール | :定義変更なし | ||
* | ルール番号 | ||
コメント | |||
例 | 10 商品に関係なく受注伝票全体から一定額値引き 20 商品による、単価ごとの一定額値引き 30 商品ごとのまとめ買いによる一定額単価値引き 90 営業判断による値引き 110 全体から%引き 120 単価で%引き 130 商品ごとのまとめ買いによる単価%引き | ||
値引き詳細 | :変更なし | ||
* | 値引き詳細番号 | ||
ルール番号 | (FK1) | ||
値引き名前 | |||
全体値引き時、合計金額下限 | (全体値引きの際に使用) | ||
全体値引き時、合計金額上限 | (全体値引きの際に使用) | ||
値引き商品コード | (FK2) | (単価値引きの際に使用) | |
値引き商品個数下限値 | (まとめ買いの際に使用) | ||
値引き商品個数上限値 | (まとめ買いの際に使用) | ||
値引き期間開始日付 | (期間限定の際に使用、単価でも全体でも) | ||
値引き期間終了日付 | (期間限定の際に使用、単価でも全体でも) | ||
値引き額 | |||
値引きパーセント | |||
値引きルールコメント | |||
受注 | :属性追加 | ||
* | 受注注文番号 | ||
客先注文番号 | |||
受注日付 | |||
受注顧客コード | (FK1) | ||
受注社員コード | (FK2) | ||
値引き承認社員コード | (FK3) | ||
受注部門コード | (FK4) | ||
値引き詳細番号 | (FK5) | ||
営業値引き承認フラグ | 1. | ||
営業値引き理由 | 2. | ||
営業値引き非承認理由 | 3. | ||
消費税額 | (導出) | ||
税抜受注金額合計 | (導出) | ||
納入希望日 | |||
摘要 | |||
スーパータイプ:受注明細 | :属性追加 | ||
* | 受注注文番号 | (FK1) | |
* | 商品コード | (FK2) | |
値引き詳細番号 | (FK3) | ||
営業値引き承認フラグ | 1. | ||
営業値引き理由 | 2. | ||
営業値引き非承認理由 | 3. | ||
消費税額 | (導出) | ||
税抜金額 | (導出) | ||
予定納期日付 | |||
受注数量 | |||
変更後最終受注数量 | |||
ステータス |
解説
(注:番号は解答中の番号と対応します。番号が記載されていない解説は全体に当てはまります)
どのような値引きの種類であれ、値引きの計算方法については、前述の「値引きルール」と「値引き詳細」で選択できます。
営業判断による値引きに関する属性として、以下を考慮します。
- 営業判断による値引きであれば値引きルールの「90」を選択する
- 営業判断による値引きであれば値引きルールの「90」を選択する
- 承認できない場合、非承認の理由を記述する属性が必要
- 営業値引きをする単位は、伝票1枚の場合も、商品単位の場合も考えられる
上記より、「受注」エンティティと「受注明細」スーパータイプエンティティに属性「値引き詳細番号」、「営業値引き理由」、「営業値引き非承認理由」を追加しました。
解説トレーナー