4.4 一覧取得処理の作成
ここでは、データベースに保存されているデータを管理画面に表示するための処理を作成します。ロジックフローを使用して、一覧に表示するデータの総件数を取得する処理と、検索条件に一致する資産情報を取得する処理を定義していきます。
一覧取得処理を作成する
資産一覧取得処理を作成するため、あらかじめ配置されている「開始」と「終了」の制御要素の間にタスクを配置します。
- フロー作成の基本操作について、詳細は「ローコード操作マニュアル - ロジックフローの作成」を参照してください。
- フロー内に配置するエレメント(制御要素・タスク)の種類について、詳細は「ローコード操作マニュアル - IM-LogicDesignerのエレメント」を参照してください。
エンティティデータの件数を取得する
一覧データを取得する前に、検索フォームの「資産名」に入力した値をもとに、条件に一致するエンティティデータの総件数を取得します。「エンティティデータ件数の取得」タスクを配置し、取得した総件数を管理画面の件数表示に利用します。

Step 1. エレメントを配置する
操作手順
- エンティティのデータ件数を取得するエレメントを配置します。
- パレット:[IM-Repository]→[エンティティデータ件数の取得]をクリック
- 「エンティティデータ件数の取得」を選択した状態で、「開始」と「終了」の間にドラッグします。
- 「開始」と「エンティティデータ件数の取得」を線でつなげます。
└ 上下の端子同士をドラッグ&ドロップします。
「エンティティデータ件数の取得」は、指定した検索条件に該当するエンティティデータの件数を取得するタスクです。取得した件数は、管理画面の件数表示に利用します。

- [検索]をクリックし、エンティティIDを指定します。
- 「資産(試作品)」エンティティを選択し、[決定]をクリックします。
└ 「確認」ダイアログで[決定]をクリックします。
エンティティを指定すると、検索条件に入力された値をエンティティデータへ受け渡すためのマッピングを設定できるようになります。

Step 2. マッピングを設定する
操作手順

- 「エンティティデータ件数の取得」をクリックします。
- [マッピング設定]をクリックします。
- 「入力
tmpAssetName」と「エンティティデータtmpAssetName」を線でつなぎます。 - [決定]をクリックします。
エンティティデータを検索する
管理画面で指定した検索条件やソート条件をもとに、該当するエンティティデータを取得します。ここでは、「エンティティデータの検索」タスクを配置し、検索条件とソート条件を指定して資産テーブルから対象データを取得します。検索条件に一致するデータを取得し、ソート条件に従って並び替えた結果を一覧として返却します。

Step 1. エレメントを配置する
操作手順
- エンティティを検索するエレメントを配置します。
- パレット:[IM-Repository]→[エンティティデータの検索]をクリック
- 「エンティティデータの検索」を選択した状態で、「エンティティデータ件数の取得」と「終了」の間にドラッグします。
- 「エンティティデータ件数の取得」と「エンティティデータの検索」を線でつなげます。
└ 上下の端子同士をドラッグ&ドロップします。
「エンティティデータの検索」は、指定した検索条件とソート条件をもとに、エンティティデータを複数取得するタスクです。検索条件に一致するデータを取得し、ソート条件に従って並び替えた結果を管理画面の一覧に表示します。

- [検索]をクリックし、エンティティIDを指定します。
- 「資産(試作品)」エンティティを選択し、[決定]をクリックします。
└ 「確認」ダイアログで[決定]をクリックします。
エンティティを指定すると、検索条件やソート条件で指定された値をエンティティデータへ受け渡すためのマッピングを設定できるようになります。

Step 2. マッピングを設定する
操作手順

- 「エンティティデータの検索」をクリックします。
- [マッピング設定]をクリックします。
- 検索条件の「入力
tmpAssetName」と「エンティティデータtmpAssetName」を線でつなぎます。
- ソート条件の「入力
sortCondition」と「エンティティデータsort」を線でつなぎます。 - [決定]をクリックします。
「エンティティデータの検索」タスクの入力値は、あらかじめ定義されています。基本的には、検索条件をkeys、ソート条件をsortへマッピングします。検索条件をエンティティ全体で管理する場合は、入力値をIM-Repositoryのエンティティから作成することで、keysと同じimr_entity型となるため、そのままマッピングできます。
本チュートリアルでは、検索項目を「資産名」のみに絞っているため、検索条件をobject型で定義しています。そのため、searchCondition全体はkeysへマッピングできず、tmpAssetNameをkeys.tmpAssetNameへ個別にマッピングします。
フロー終了を設定する
最後に、「終了」制御要素と接続し、一覧取得処理の出力値を設定します。「エンティティデータ件数の取得」タスクで取得した総件数と、「エンティティデータの検索」タスクで取得した一覧データを出力値へマッピングし、管理画面へ返却します。

Step 1. エレメントを紐づける
操作手順
- 「エンティティデータの検索」と「終了」を線でつなげます。
└ 上下の端子同士をドラッグ&ドロップします。
「終了」は、フローの終了地点を示す制御要素です。処理がこの要素に到達すると、ロジックフローは終了します。

Step 2. マッピングを設定する
操作手順

- 「終了」をクリックします。
- [マッピング設定]をクリックします。
- 「エンティティデータ件数の取得」タスクの値を追加します。
- 「im_repositorySearchEntityCount1」を選択→[入力を追加]をクリック
- 総件数の「タスク処理結果
count」と「出力値totalCount」を線でつなぎます。
- 「エンティティデータの検索」タスクの値を追加します。
- 「im_repositorySearchEntityData1」を選択→[入力を追加]をクリック
- 一覧データの「タスク処理結果
im_repositorySearchEntityData1」と「出力値records」を線でつなぎます。 - [決定]をクリックします。
一覧取得処理の作成が完了したら、[上書き保存]をクリックして設定内容を保存します。フローの保存方法について、詳細は「ローコード操作マニュアル - 新規ロジックフロー定義の保存 > ロジックフローを保存する」を参照してください。
