トランソニックソフトウェア

ブログ
BLOG

2019.04.15

[STS3.9.2]Spring BootでWEBアプリ作成(在庫管理システム) – その5

今回もWEBアプリ作成の続きをしていこうと思います。

 

前回は本の注文ページを作りました。 今回は簡単な納品画面とその処理を実装します。

 

まずは新しいテーブル(エンティティのクラス)を定義します。

定義するテーブルは納品日や納品数、注文番号などのデータを格納するためのものです。

 

 

 

 

納品ページのテンプレート用意

以下がテンプレートです。

 

主に①本の詳細を表示する部分②注文個数と日付、納品個数と日付③納品された際に入力するフォーム④デバッグ用に用意した納品データを表示する部分に分かれます。

 

27行目ですが、注文した商品は初めて納品するまではレコードは追加されないため、NULL処理をしています。

このように記述することで、delidataがnullであれば空文字を挿入し、nullでなければデータを表示します。抽象的にすると以下のようになります。

 

 

index.htmlの修正

続いて以下のようにindex.htmlを修正します。

 

主に変更されたのは41行目ですね、isbnをリクエストパラメータとして送り、動的なリンク先を生成しています。

Repositoryの作成

DeliveryData用のRepositoryを作成します。 以下がRepositoryとなります。

 

 

コントローラーの実装

では前回使用したStockControllerの中に以下を追加してください。

 

GETリクエストのハンドラについては必要なデータをそれぞれ取得しているだけです。

POSTリクエストのハンドラですが、注文した商品に対して一度でも納品がされているか否かで処理をわけています。

ここらへんの処理は全てリクエストハンドラの中に記述するのではなく(あくまでもコントローラー内のメソッドであるため)、

Serviceというクラスを作りそこにロジックをかいたほうが良い気がします。そちらについても追々記事として上げようと思います。

 

では実際に動かしましょう。

 

トップ画面に納品ページのリンクが出ましたね。ここでは注文はすでにしてあるものとして進めます。

納品のリンクをクリックすると画面がでました。

 

 

数量を5で登録してみましょう。

 

ちゃんと表示されていますね。

では25個登録してみましょう。

 

 

しっかり表示されました。