4.2.4. 一覧での検索処理の作成¶
4.2.4.1. 検索処理の作成¶
IM-LogicDesignerとIM-Repositoryのデータリポジトリ機能を利用して、以下の項目で検索を行う処理を作成します。
概要タスクの概要を部分検索で検索する カテゴリタスクのカテゴリを一致検索で検索する ステータスタスクのカテゴリを一致検索で検索する 重要度タスクのカテゴリを一致検索で検索する 担当者操作ユーザのみ表示させるため、IM-LogicDesigner上で操作ユーザのユーザコードを自動で設定する
4.2.4.2. データ定義の編集¶
まずは、データ定義に検索条件を設定します。データ定義に検索条件を設定すると、SQLなどを書かなくてもIM-LogicDesignerで検索処理が簡単に作成ができます。アプリケーション管理画面のアプリケーション構成情報で「データ定義」のタブを選択します。エンティティの「【チュートリアル_エンティティ】ToDoアプリケーション」を選択します。表示されたエンティティ画面の「データ定義」タブを選択します。アプリケーション作成時に設定したテーブル定義情報が表示されます。「定義情報」の「編集」ボタンをクリックします。データ定義モーダルが表示されます。「次へ」ボタンをクリックしてください。「検索条件の設定」が表示されます。「条件を追加」をクリックし、行を追加します。追加した行の「エンティティ項目」に「概要」、「条件」に「部分一致」を設定してください。同様の手順で、検索条件を以下の表のとおり設定してください。
エンティティ項目 条件 概要 部分一致 カテゴリ 完全一致 ステータス 完全一致 重要度 完全一致 担当者 完全一致 設定が完了したら「次へ」ボタンをクリックして、更新内容を確認してください。問題が無ければ、「反映」ボタンをクリックして、設定を反映してください。「検索条件」に先ほど設定した検索条件が追加されました。設定に誤りが無ければ、「影響範囲確認」ボタンをクリックしてください。影響範囲確認画面が表示されますので、コメントを入力し、「適用」ボタンをクリックして設定を保存しましょう。これで、検索条件の設定は完了です。タスク一覧画面が表示されますので、「閉じる」ボタンで画面を閉じてください。
4.2.4.3. ロジックフローの作成¶
4.2.4.3.1. 入力値を設定する¶
ロジックフロー定義編集画面上部の入出力設定を選択します。まず、入出力設定画面で入力の設定を行います。入力側にある「+string」を選択します。キー名を「title」に設定します。検索項目に合わせて以下のように入力値を追加します。
項目 型 キー名 カテゴリ string category ステータス string status 重要度 string importance 入力値はJSON入力で以下のコードを記載しても設定できます。{ "title": "", "category": "", "status": "", "importance": "" }JSON入力する場合は、入力値の「JSON入力」をクリックして「JSON入力画面」を表示してください。また、JSON形式での入力の際には型が上記の表と誤りが無いか注意してください。
4.2.4.3.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.3.3. タスクを配置する¶
4.2.4.3.4. タスクを設定する¶
続けて、配置したタスクの設定を行います。まずは、配置したエンティティデータの検索にエンティティを設定しましょう。フローに配置した「エンティティデータの検索」を選択してください。タスク固有設定の「エンティティID」の「検索」をクリックしてください。エンティティ検索ダイアログが表示されます。アプリケーション作成時に作成した、「【チュートリアル】ToDoアプリケーション」を選択し、「決定」ボタンをクリックしてください。選択したエンティティが反映されました。これで、「エンティティデータの検索」タスクがエンティティを介してデータベースのテーブルに対して検索を行えます。次は、タスクの変数を設定します。フローに配置した「エンティティデータの検索」をダブルクリックしマッピング設定を表示します。「エンティティデータの検索」タスクの入力値「keys」の配下に、「データ定義の編集」で設定した検索条件のkeyが表示されていることを確認してください。まずは、操作ユーザのToDoのみを取得するために、managerに操作ユーザを設定します。「マッピング設定」ダイアログ上部の入力値選択欄から「アカウントコンテキスト」を選択して「+入力を追加」を選択します。アカウントコンテキストの「userCd」とタスクの入力値の「manager」を線で繋げます。その他のタスクの入力値は、「入出力設定」で作成した入力値と同名の「key」を紐づけます。入力の「title」、「category」、「status」、「importance」をそれぞれ同名のタスクの入力値と紐づけてください。入出力設定が完了したら、ダイアログ下部の「決定」をクリックし、ダイアログを閉じます。
4.2.4.3.5. データの出力設定を行う¶
4.2.4.3.6. 作成したロジックを新規保存する¶
ロジックフロー定義編集画面上部の新規保存をクリックし、各項目を以下の通り設定します。
ラベル 入力値 フロー定義ID tutorial_todo_app_search フロー定義名 【チュートリアル】ToDoアプリケーション 一覧検索処理 フローカテゴリ im_accel_studio 設定が完了したら、ダイアログ下部の「決定」をクリックし、ダイアログを閉じます。
4.2.4.3.7. フロールーティングを新規作成する¶
作成した業務ロジックを呼び出すための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 設定が完了したら、ページ下部の「登録」をクリックし、登録を完了してください。これで、業務ロジックの作成は完了です。
4.2.4.4. ルーティングの認可を設定する¶
最後に、作成したフロールーティングに対し、認可設定を行いましょう。この設定を行わないと、画面や別の処理から作成した処理を呼び出すことができません。現段階は開発中の段階ですので、「テナント管理者」ロールを持ったユーザだけが処理を呼び出せるように設定します。
4.2.4.4.1. 権限設定¶
アプリケーションの権限設定はアプリケーション管理から行います。「サイトマップ」→「Accel Studio」→「アプリケーション管理」→「アプリケーション一覧」の順に遷移します。アプリケーション一覧から、作成した「【チュートリアル】ToDoアプリケーション」を選択します。画面上部の認可設定アイコンを選択します。アプリケーション認可設定画面で、作成した「tutorial_todo_app/list/search-POST」行と「認証」 - 「テナント管理者」の列の交わる個所をクリックし、許可状態に変更します。「更新」をクリックし、更新を行います。これで「テナント管理者」ロールを持ったユーザが、作成した処理を利用できます。上記の設定で業務ロジックの作成は完了です。次のページから作成した業務ロジックに合わせて画面の修正を行います。