4.2.4. 一覧での検索処理の作成¶
4.2.4.1. 検索処理の作成¶
IM-LogicDesignerを利用して、以下の項目で検索を行う処理を作成します。検索はすべてAND検索で行います。
概要タスクの概要を部分検索で検索する カテゴリタスクのカテゴリを一致検索で検索する ステータスタスクのカテゴリを一致検索で検索する 重要度タスクのカテゴリを一致検索で検索する 担当者操作ユーザのみ表示させるため、IM-LogicDesigner上で操作ユーザのユーザコードを自動で設定する
4.2.4.2. ロジックフローの作成¶
4.2.4.2.1. 入力値を設定する¶
ロジックフロー定義編集画面上部の入出力設定を選択します。まず、入出力設定画面で入力の設定を行います。入力側にある「+string」を選択します。キー名を「title」に設定します。検索項目に合わせて以下のように入力値を追加します。
項目 型 キー名 カテゴリ string category ステータス string status 重要度 string importance 入力値はJSON入力で以下を記載しても設定できます。{ "title": "", "category": "", "status": "", "importance": "" }JSON入力する場合は、入力値の「JSON入力」をクリックして「JSON入力画面」を表示してください。また、JSON形式での入力の際には型が上記の表と誤りが無いか注意してください。
4.2.4.2.2. 出力値を設定する¶
次に、出力値を設定します。出力側にある「+object」を選択します。キー名を「records」に設定します。「配列型にする」を選択します。「配下に配置する」を選択し、「+string」をクリックして文字列型の変数を「records」配下に配置します。キー名を「id」に設定します。同様に、「records」配下に検索項目に合わせて以下のように出力値を追加します。出力値についても、JSON入力で以下を記載しても設定できます。{ "records": [ { "id": "", "title": "", "detail": "", "category": "", "importance": "", "status": "", "manager": "", "deadline": null, "registered_user": "", "registered_date": null, "update_user": "", "update_date": null } ] }JSON入力する場合は、出力値の「JSON入力」をクリックして「JSON入力画面」を表示してください。また、JSON形式での入力の際には型が上記の表と誤りが無いか注意してください。
4.2.4.2.3. SQL定義を作成する¶
パレットから「ユーザ定義追加」にカーソルを合わせ、「SQL定義新規作成」を選択します。ユーザ定義共通設定を以下のように設定します。
ラベル 入力値 ユーザ定義ID tutorial_todo_app-dml-search ユーザ定義名(標準) 【チュートリアル】ToDoアプリケーション SEARCH ユーザカテゴリ im_accel_studio 入力値として以下を設定します。
項目 型 キー名 担当者 string manager 概要 string title カテゴリ string category ステータス string status 重要度 string importance 入力値はJSON入力で以下を記載しても設定できます。{ "manager": "", "title": "", "category": "", "status": "", "importance": "" }JSON入力する場合は、入力値の「JSON入力」をクリックして「JSON入力画面」を表示してください。また、JSON形式での入力の際には型が上記の表と誤りが無いか注意してください。SQL定義の「クエリ」に以下の検索用のSQLを設定します。SELECT "id", "title", "detail", "category", "importance", "status", "manager", "deadline", "registered_user", "registered_date", "update_user", "update_date" FROM "tutorial_todo_app" WHERE "manager" = /*manager*/'' /*IF title != null and title != ""*/ AND "title" LIKE /*title*/'' ESCAPE '@' /*END*/ /*IF category != null and category != ""*/ AND "category" = /*category*/'' /*END*/ /*IF status != null and status != "" */ AND "status" = /*status*/'' /*END*/ /*IF importance != null and importance != ""*/ AND "importance" = /*importance*/'' /*END*/ ORDER BY "id" ;「データ定義を取得する」をクリックし、タスクの出力値を設定します。登録ボタンをクリックし、タスクを登録します。
4.2.4.2.4. タスクを繋げる¶
4.2.4.2.5. タスクの変数を設定する¶
続けて、配置したタスクの変数を設定します。まずは、操作ユーザのToDoのみを取得するために、managerに操作ユーザを設定します。フローに配置した「【チュートリアル】ToDoアプリケーション SEARCH」をダブルクリックしマッピング設定を表示します。「マッピング設定」ダイアログ上部の入力値選択欄から「アカウントコンテキスト」を選択して「+入力を追加」を選択します。アカウントコンテキストの「userCd」とタスクの入力値の「manager」を線でつなげます。続いて、概要のあいまい検索を行うためのワイルドカードの文字列を定数として設定します。一度、マッピング設定ダイアログの「決定」ボタンをクリックし、ここまでの設定を保存します。「定数設定」を選択して定数設定ダイアログを表示し、「定数を追加」をクリックして以下のように設定します。
ラベル 入力値 定数ID escape 定数値 % 次に、あいまい検索を行えるようにワイルドカードを検索値に設定します。フローに配置した「【チュートリアル】ToDoアプリケーション SEARCH」をダブルクリックしマッピング設定を表示します。マッピング設定で関数選択欄からconcatを選択して、「+関数を追加」を選択します。作成した定数「escape」をconcatの「a」に入力値の「title」を「b」に線を繋げます。もう一つconcatを配置して先ほど配置したconcatの「out」を「a」に定数「escape」を「b」に繋げ、concatの「out」とタスクの入力値の「title」を繋げます。その他の変数を以下のように線を繋げます。入力の「category」、「importance」、「status」をそれぞれ同名の入力値と紐づけます。
4.2.4.2.6. データの出力設定を行う¶
4.2.4.2.7. 作成したロジックを新規保存する¶
ロジックフロー定義編集画面上部の新規保存を選択して以下を設定します。
ラベル 入力値 フロー定義ID tutorial_todo_app_search フロー定義名 【チュートリアル】ToDoアプリケーション 一覧検索処理 フローカテゴリ im_accel_studio
4.2.4.2.8. フロールーティングを新規作成する¶
作成した業務ロジックを呼び出すためのURL設定を行います。アプリケーション詳細のアプリケーション構成情報で「公開URL」のタブを選択します。「公開URLリソースを追加」を選択してすると「公開URLを新規作成」が表示されるのでマウスオーバーして「APIのURL」を選択します。以下の項目を設定し、登録します。
ラベル 入力値 フロー定義ID tutorial_todo_app_search フロー定義名 【チュートリアル】ToDoアプリケーション 一覧検索処理 ルーティング tutorial_todo_app/list/search メソッド POST 認可URI tutorial_todo_app/list/search-POST これで、業務ロジックの作成は完了です。次のページから作成した業務ロジックに合わせて画面の修正を行います。