Skip to content

Latest commit

 

History

History
321 lines (250 loc) · 24.2 KB

Orders.md

File metadata and controls

321 lines (250 loc) · 24.2 KB

画面定義書:受注管理

要件定義 / 基本設計 / 詳細設計
基本:共通仕様 / 機能一覧 / テーブル一覧 / 画面一覧 / 画面遷移
詳細:テーブル定義書 / 画面定義書(受注管理) / イベント仕様書

対象画面:SC-ORD-01 〜 SC-ORD-05

本書は画面ごとに「画面項目」「アクションボタン」「イベント一覧」を定義する。 各イベントの処理内容は イベント仕様書 を参照。

凡例

欄 内容
項目 ID <画面ID>-I<連番>
ボタン ID <画面ID>-B<連番>
種別 ラベル(表示のみ)/テキスト/数値/日付/ドロップダウン/チェック/表
入出力 入 = 利用者が入力、出 = 表示のみ、入出 = 初期値を表示し利用者が変更可
データソース テーブル.列 または算出式

金額の算出式は共通仕様 3 節に従う。 RowVersion は楽観排他のために画面が内部保持するが、画面項目としては表示しない。


SC-ORD-01 受注一覧画面

受注を検索条件で絞り込み、ページ単位に一覧表示する。受注管理モジュールの入口。

画面項目

検索条件

項目 ID 表示名 種別 入出力 必須 データソース 制約・備考
SC-ORD-01-I01 顧客 ドロップダウン 入 - Customers.CustomerID / CompanyName 会社名の昇順。先頭に空白の選択肢(=すべて)を置く
SC-ORD-01-I02 担当者 ドロップダウン 入 - Employees.EmployeeID / LastName + " " + FirstName 姓・名の昇順。先頭に空白の選択肢(=すべて)を置く
SC-ORD-01-I03 受注日(開始) 日付 入 - 検索条件 yyyy/MM/dd。当該日を含む
SC-ORD-01-I04 受注日(終了) 日付 入 - 検索条件 yyyy/MM/dd。当該日を含む。開始 <= 終了であること
SC-ORD-01-I05 出荷状況 ドロップダウン 入 - 固定値 「すべて(既定)」「未出荷」「出荷済」「納期遅延」

検索結果

項目 ID 表示名 種別 入出力 必須 データソース 制約・備考
SC-ORD-01-I06 受注一覧 表 出 - 下表のとおり 1 ページ 20 件。既定の並び順は受注日の降順、同日は受注 ID の降順
SC-ORD-01-I07 総件数 ラベル 出 - 検索結果の総件数 「全 nnn 件」
SC-ORD-01-I08 ページ情報 ラベル 出 - 現在ページ/総ページ数 「n / m ページ」

SC-ORD-01-I06 受注一覧の列

列 表示名 データソース 並べ替え 備考
1 受注 ID Orders.OrderID 可 選択すると受注詳細へ遷移(EV-ORD-106)
2 顧客名 Customers.CompanyName 可 Orders.CustomerID が NULL の場合は空
3 担当者名 Employees.LastName + " " + Employees.FirstName 可 Orders.EmployeeID が NULL の場合は空
4 受注日 Orders.OrderDate 可
5 要求納期 Orders.RequiredDate 可
6 出荷日 Orders.ShippedDate 可 NULL のときは空(未出荷)
7 配送業者 Shippers.CompanyName 可 Orders.ShipVia が NULL の場合は空
8 合計金額 小計 + Orders.Freight 不可 明細の集計を伴うため並べ替えの対象外
9 状況 算出 不可 「未出荷」「出荷済」「納期遅延」。判定は ORD-T7 に従う。納期遅延は他と区別して強調表示する
10 操作 - 不可 「出荷更新」ボタン(SC-ORD-01-B04)を配置

アクションボタン

ボタン ID 表示名 配置 活性条件 発火イベント
SC-ORD-01-B01 検索 検索条件領域 常時 EV-ORD-102
SC-ORD-01-B02 条件クリア 検索条件領域 常時 EV-ORD-103
SC-ORD-01-B03 新規登録 一覧の上部 常時 EV-ORD-107
SC-ORD-01-B04 出荷更新 一覧の各行 常時(出荷済の行では表示名を「出荷変更」とする) EV-ORD-108
SC-ORD-01-B05 ページ移動 一覧の下部 該当方向にページが存在するとき EV-ORD-104

イベント一覧

イベント ID イベント名 トリガー 概要
EV-ORD-101 受注一覧のページ読み込み 画面の初期表示 検索条件の選択肢を構築し、既定条件で一覧を表示する
EV-ORD-102 受注の検索 SC-ORD-01-B01 入力された条件で絞り込み、1 ページ目を表示する
EV-ORD-103 検索条件のクリア SC-ORD-01-B02 検索条件を初期状態に戻し、再検索する
EV-ORD-104 一覧のページ切替 SC-ORD-01-B05 条件・並び順を保ったまま指定ページを表示する
EV-ORD-105 一覧の並べ替え 列見出しの選択 指定列で昇順・降順を切り替えて再表示する
EV-ORD-106 受注詳細への遷移 一覧の受注 ID の選択 受注詳細画面(照会)へ遷移する
EV-ORD-107 受注新規登録への遷移 SC-ORD-01-B03 受注詳細画面を登録モードで開く
EV-ORD-108 出荷ステータス更新ダイアログの表示 SC-ORD-01-B04 対象受注の出荷ダイアログを開く

SC-ORD-02 受注詳細画面(照会)

受注 1 件の受注情報・明細・金額を表示する。更新は行わない。

画面項目

受注情報

項目 ID 表示名 種別 入出力 必須 データソース 制約・備考
SC-ORD-02-I01 受注 ID ラベル 出 - Orders.OrderID
SC-ORD-02-I02 状況 ラベル 出 - 算出 「未出荷」「出荷済」「納期遅延」(ORD-T7)
SC-ORD-02-I03 顧客名 ラベル 出 - Customers.CompanyName
SC-ORD-02-I04 顧客電話番号 ラベル 出 - Customers.Phone
SC-ORD-02-I05 顧客住所 ラベル 出 - Customers.Address + City + Region + PostalCode + Country 空の要素を詰めて連結する
SC-ORD-02-I06 担当者名 ラベル 出 - Employees.LastName + " " + Employees.FirstName
SC-ORD-02-I07 受注日 ラベル 出 - Orders.OrderDate
SC-ORD-02-I08 要求納期 ラベル 出 - Orders.RequiredDate
SC-ORD-02-I09 出荷日 ラベル 出 - Orders.ShippedDate NULL のときは空
SC-ORD-02-I10 配送業者 ラベル 出 - Shippers.CompanyName

出荷先情報

項目 ID 表示名 種別 入出力 必須 データソース 制約・備考
SC-ORD-02-I11 出荷先名称 ラベル 出 - Orders.ShipName
SC-ORD-02-I12 出荷先住所 ラベル 出 - Orders.ShipAddress
SC-ORD-02-I13 出荷先市区町村 ラベル 出 - Orders.ShipCity
SC-ORD-02-I14 出荷先地域 ラベル 出 - Orders.ShipRegion
SC-ORD-02-I15 出荷先郵便番号 ラベル 出 - Orders.ShipPostalCode
SC-ORD-02-I16 出荷先国 ラベル 出 - Orders.ShipCountry

受注明細情報

項目 ID 表示名 種別 入出力 必須 データソース 制約・備考
SC-ORD-02-I17 明細一覧 表 出 - 下表のとおり ページングしない(全明細を表示)。並び順は商品名の昇順
SC-ORD-02-I18 小計 ラベル 出 - Σ 明細金額
SC-ORD-02-I19 送料 ラベル 出 - Orders.Freight
SC-ORD-02-I20 合計 ラベル 出 - 小計 + 送料 強調表示する

SC-ORD-02-I17 明細一覧の列

列 表示名 データソース 備考
1 商品名 Products.ProductName 廃番商品は「(廃番)」を付記する
2 単価 Order Details.UnitPrice 受注時点の単価
3 割引率 Order Details.Discount 百分率で表示(0.15 → 15%)
4 価格 UnitPrice × (1 - Discount) 割引後の単価
5 数量 Order Details.Quantity
6 在庫 Products.UnitsInStock 商品マスタの現在庫数(参考表示)
7 明細金額 価格 × 数量

アクションボタン

ボタン ID 表示名 配置 活性条件 発火イベント
SC-ORD-02-B01 編集 画面上部 Orders.ShippedDate が NULL のとき(ORD-T4) EV-ORD-202
SC-ORD-02-B02 削除 画面上部 常時 EV-ORD-203
SC-ORD-02-B03 出荷更新 画面上部 常時 EV-ORD-205
SC-ORD-02-B04 納品書 画面上部 常時 EV-ORD-204
SC-ORD-02-B05 請求書 画面上部 常時 EV-ORD-204
SC-ORD-02-B06 一覧へ戻る 画面下部 常時 EV-ORD-206

イベント一覧

イベント ID イベント名 トリガー 概要
EV-ORD-201 受注詳細(照会)のページ読み込み 画面の初期表示 受注情報・明細・金額を取得して表示する
EV-ORD-202 受注編集への遷移 SC-ORD-02-B01 受注詳細画面を編集モードで開く
EV-ORD-203 受注の削除 SC-ORD-02-B02 確認のうえ明細とあわせて受注を削除する
EV-ORD-204 帳票プレビューへの遷移 SC-ORD-02-B04 / SC-ORD-02-B05 納品書または請求書のプレビュー画面へ遷移する
EV-ORD-205 出荷ステータス更新ダイアログの表示 SC-ORD-02-B03 当該受注の出荷ダイアログを開く
EV-ORD-206 受注一覧への復帰 SC-ORD-02-B06 直前の検索条件を保ったまま一覧へ戻る

SC-ORD-03 受注詳細画面(登録・編集)

受注情報と明細を入力して保存する。登録モードと編集モードの差分は各項目の備考に示す。

画面項目

受注情報

項目 ID 表示名 種別 入出力 必須 データソース 制約・備考
SC-ORD-03-I01 受注 ID ラベル 出 - Orders.OrderID 登録モードでは「(登録時に採番)」と表示
SC-ORD-03-I02 顧客* ドロップダウン 入出 ○ Customers.CustomerID / CompanyName 会社名の昇順。変更で EV-ORD-302 が発火
SC-ORD-03-I03 顧客電話番号 ラベル 出 - Customers.Phone SC-ORD-03-I02 の選択に連動
SC-ORD-03-I04 顧客住所 ラベル 出 - Customers.Address + City + Region + PostalCode + Country SC-ORD-03-I02 の選択に連動
SC-ORD-03-I05 担当者* ドロップダウン 入出 ○ Employees.EmployeeID / LastName + " " + FirstName 姓・名の昇順
SC-ORD-03-I06 受注日* 日付 入出 ○ Orders.OrderDate 登録モードの初期値は当日
SC-ORD-03-I07 要求納期 日付 入出 - Orders.RequiredDate 受注日 <= 要求納期(VAL-DATE)
SC-ORD-03-I08 配送業者 ドロップダウン 入出 - Shippers.ShipperID / CompanyName 会社名の昇順。先頭に空白の選択肢を置く
SC-ORD-03-I09 送料 数値 入出 - Orders.Freight 0 以上(VAL-NUMERIC)。既定値 0。変更で EV-ORD-303 が発火

出荷日(Orders.ShippedDate)は本画面では変更しない。出荷ステータス更新ダイアログ(SC-ORD-04)で更新する。

出荷先情報

項目 ID 表示名 種別 入出力 必須 データソース 制約・備考
SC-ORD-03-I10 出荷先名称 テキスト 入出 - Orders.ShipName 40 文字以内。登録モードでは顧客選択時に既定値が入る(ORD-T6)
SC-ORD-03-I11 出荷先住所 テキスト 入出 - Orders.ShipAddress 60 文字以内
SC-ORD-03-I12 出荷先市区町村 テキスト 入出 - Orders.ShipCity 15 文字以内
SC-ORD-03-I13 出荷先地域 テキスト 入出 - Orders.ShipRegion 15 文字以内
SC-ORD-03-I14 出荷先郵便番号 テキスト 入出 - Orders.ShipPostalCode 10 文字以内
SC-ORD-03-I15 出荷先国 テキスト 入出 - Orders.ShipCountry 15 文字以内

受注明細情報

項目 ID 表示名 種別 入出力 必須 データソース 制約・備考
SC-ORD-03-I16 明細入力表 表 入出 ○ 下表のとおり 1 行以上必須(ORD-T5)。登録モードの初期表示は空行 1 行
SC-ORD-03-I17 小計 ラベル 出 - Σ 明細金額 明細の変更に連動して再計算
SC-ORD-03-I18 合計 ラベル 出 - 小計 + 送料 明細・送料の変更に連動して再計算

SC-ORD-03-I16 明細入力表の列

列 表示名 種別 入出力 必須 データソース 制約・備考
1 商品* ドロップダウン 入出 ○ Products.ProductID / ProductName 廃番でない商品のみを選択肢とする(OD-T3)。既存明細の廃番商品はその行に限り選択肢に残す。変更で EV-ORD-306 が発火
2 単価 数値 入出 ○ Order Details.UnitPrice 0 以上。商品選択時に Products.UnitPrice が初期値として入る(OD-T2)。変更で EV-ORD-307 が発火
3 割引率 数値 入出 ○ Order Details.Discount 0〜1。既定値 0。変更で EV-ORD-307 が発火
4 価格 ラベル 出 - 単価 × (1 - 割引率)
5 数量* 数値 入出 ○ Order Details.Quantity 1 以上の整数。既定値 1。変更で EV-ORD-307 が発火
6 在庫 ラベル 出 - Products.UnitsInStock 商品選択時に取得。数量が在庫を超える場合は警告表示(保存は妨げない)
7 明細金額 ラベル 出 - 価格 × 数量
8 操作 ボタン - - - 「行削除」ボタン(SC-ORD-03-B02)

アクションボタン

ボタン ID 表示名 配置 活性条件 発火イベント
SC-ORD-03-B01 明細行追加 明細表の上部 常時 EV-ORD-304
SC-ORD-03-B02 行削除 明細表の各行 明細が 2 行以上あるとき EV-ORD-305
SC-ORD-03-B03 保存 画面下部 常時 EV-ORD-308
SC-ORD-03-B04 キャンセル 画面下部 常時 EV-ORD-309

イベント一覧

イベント ID イベント名 トリガー 概要
EV-ORD-301 受注詳細(登録・編集)のページ読み込み 画面の初期表示 選択肢を構築し、モードに応じた初期値または既存データを表示する
EV-ORD-302 顧客選択の変更 SC-ORD-03-I02 の変更 顧客情報を表示し、登録モードでは出荷先の既定値を設定する
EV-ORD-303 送料の変更 SC-ORD-03-I09 の変更 合計を再計算する
EV-ORD-304 明細行の追加 SC-ORD-03-B01 明細表に空行を追加する
EV-ORD-305 明細行の削除 SC-ORD-03-B02 明細表から該当行を除き、金額を再計算する
EV-ORD-306 明細の商品選択の変更 明細表の商品の変更 単価・在庫を反映し、重複を検査して金額を再計算する
EV-ORD-307 明細の単価・割引率・数量の変更 明細表の単価・割引率・数量の変更 該当行と小計・合計を再計算する
EV-ORD-308 受注の保存 SC-ORD-03-B03 検証のうえ受注と明細を登録または更新する
EV-ORD-309 受注編集のキャンセル SC-ORD-03-B04 確認のうえ保存せずに遷移元へ戻る

SC-ORD-04 出荷ステータス更新ダイアログ

受注 1 件の出荷日・配送業者・送料を設定し、出荷を確定または取り消す。 SC-ORD-01 / SC-ORD-02 / SC-SHP-04 から呼び出される。

画面項目

項目 ID 表示名 種別 入出力 必須 データソース 制約・備考
SC-ORD-04-I01 受注 ID ラベル 出 - Orders.OrderID
SC-ORD-04-I02 顧客名 ラベル 出 - Customers.CompanyName
SC-ORD-04-I03 現在の状況 ラベル 出 - 算出 「未出荷」「出荷済」「納期遅延」(ORD-T7)
SC-ORD-04-I04 要求納期 ラベル 出 - Orders.RequiredDate 遅延の判断材料として表示
SC-ORD-04-I05 出荷日* 日付 入出 ○ Orders.ShippedDate 未出荷のときの初期値は当日。受注日 <= 出荷日(VAL-DATE)
SC-ORD-04-I06 配送業者* ドロップダウン 入出 ○ Shippers.ShipperID / CompanyName 会社名の昇順
SC-ORD-04-I07 送料 数値 入出 - Orders.Freight 0 以上(VAL-NUMERIC)
SC-ORD-04-I08 在庫引落の内訳 表 出 - 明細の商品名・数量・現在庫数 未出荷から出荷確定するときのみ表示。在庫が不足する行を強調表示する

アクションボタン

ボタン ID 表示名 配置 活性条件 発火イベント
SC-ORD-04-B01 出荷確定 ダイアログ下部 未出荷(ShippedDate が NULL)のとき。表示名は出荷済のとき「出荷情報を更新」 EV-ORD-402
SC-ORD-04-B02 出荷取消 ダイアログ下部 出荷済(ShippedDate が NULL でない)のとき EV-ORD-403
SC-ORD-04-B03 閉じる ダイアログ下部 常時 EV-ORD-404

イベント一覧

イベント ID イベント名 トリガー 概要
EV-ORD-401 出荷ダイアログの表示(初期化) ダイアログの表示 対象受注の現在の出荷情報と在庫引落の内訳を表示する
EV-ORD-402 出荷の確定・情報更新 SC-ORD-04-B01 出荷情報を更新し、未出荷からの確定時は在庫を引き落とす
EV-ORD-403 出荷の取消 SC-ORD-04-B02 出荷日を未設定に戻し、在庫を戻す
EV-ORD-404 出荷ダイアログを閉じる SC-ORD-04-B03 更新せずに閉じ、呼び出し元を再読み込みする

SC-ORD-05 受注帳票プレビュー画面

受注 1 件の納品書または請求書を印刷用に表示する。サーバ側での帳票生成や保存は行わず、ブラウザの印刷機能を用いる。

画面項目

項目 ID 表示名 種別 入出力 必須 データソース 制約・備考
SC-ORD-05-I01 帳票種別 ドロップダウン 入出 ○ 固定値 「納品書」「請求書」。遷移パラメータの値を初期選択とする
SC-ORD-05-I02 帳票タイトル ラベル 出 - 帳票種別 「納品書」または「請求書」
SC-ORD-05-I03 発行日 ラベル 出 - 当日
SC-ORD-05-I04 受注 ID ラベル 出 - Orders.OrderID
SC-ORD-05-I05 宛先 ラベル 出 - Orders.ShipName + ShipAddress + ShipCity + ShipRegion + ShipPostalCode + ShipCountry 出荷先情報を用いる(顧客マスタではない)
SC-ORD-05-I06 受注日 ラベル 出 - Orders.OrderDate
SC-ORD-05-I07 出荷日 ラベル 出 - Orders.ShippedDate 納品書のみ表示。NULL のときは空
SC-ORD-05-I08 配送業者 ラベル 出 - Shippers.CompanyName 納品書のみ表示
SC-ORD-05-I09 担当者名 ラベル 出 - Employees.LastName + " " + Employees.FirstName
SC-ORD-05-I10 明細一覧 表 出 - 商品名・単価・割引率・価格・数量・明細金額 並び順は商品名の昇順
SC-ORD-05-I11 小計 ラベル 出 - Σ 明細金額
SC-ORD-05-I12 送料 ラベル 出 - Orders.Freight
SC-ORD-05-I13 合計 ラベル 出 - 小計 + 送料
SC-ORD-05-I14 支払期限 ラベル 出 - 発行日の翌月末日 請求書のみ表示

アクションボタン

ボタン ID 表示名 配置 活性条件 発火イベント
SC-ORD-05-B01 印刷 画面上部(印刷時は非表示) 常時 EV-ORD-503
SC-ORD-05-B02 戻る 画面上部(印刷時は非表示) 常時 EV-ORD-504

イベント一覧

イベント ID イベント名 トリガー 概要
EV-ORD-501 帳票プレビューのページ読み込み 画面の初期表示 指定された帳票種別で受注内容を印刷用に表示する
EV-ORD-502 帳票種別の切替 SC-ORD-05-I01 の変更 納品書と請求書の表示を切り替える
EV-ORD-503 印刷 SC-ORD-05-B01 操作用の要素を除いた状態で印刷する
EV-ORD-504 受注詳細への復帰 SC-ORD-05-B02 受注詳細画面(照会)へ戻る