5.2.2. アンケート一覧、登録処理の業務ロジックの作成¶
アンケートアプリケーションの管理画面の業務ロジックを作成します。
アンケート一覧取得処理アンケート情報テーブルからアンケート一覧を取得します。 アンケート登録処理設定方法に合わせてアンケート情報テーブルとアンケート設問テーブルにデータを登録します。
5.2.2.1. アンケート一覧取得処理の作成¶
5.2.2.1.1. ロジックの作成¶
5.2.2.1.2. 入出力値の設定¶
業務ロジックの出力値を設定します。一覧の取得は検索等を行わずに全てのアンケートを表示するため、出力値のみを設定します。まずは、アンケート一覧を格納する配列を作成します。画面上部の「入出力設定」をクリックし「入出力設定」ダイアログを表示します。「出力」 - 「+object」をクリックすると出力値一覧に「object1」が追加されるため、キー名を「records」と変更します。配置した「records」を選択し、「配列型にする」を選択し、「records」を汎用オブジェクトの配列とします。次に、アンケート情報を格納していくための出力値を「records」配下に追加します。出力値一覧の「records」を選択し、「配下に配置する」選択します。「出力」 - 「+string」をクリックし「records」配下に、「string1」という値を追加して、キー名を「enquete_id」と変更します。同様の手順で「records」の配下の変数が以下の値になるように設定してください。開始、終了日は日付型でデータベースに格納されていますが、ユーザが表示しやすい形式に変換して返却するため、文字列で返却します。出力値はJSON入力で以下のコードを記載しても設定できます。"records": [ { "enquete_id": "", "enquete_title": "", "start_date": "", "end_date": "" } ]JSON入力する場合は、出力値の「JSON入力」をクリックして「JSON入力画面」を表示してください。また、JSON形式での入力の際には型が上記の表と誤りが無いか注意してください。
5.2.2.1.3. アンケート一覧取得タスクの作成¶
アンケート情報テーブルからデータを取得するユーザ定義タスクを作成します。パレットから「ユーザ定義追加」にカーソルを合わせ、「SQL定義新規作成」を選択します。ユーザ定義共通設定を以下のように設定します。
ラベル 入力値 ユーザ定義ID tutorial_enquete_list ユーザ定義名(標準) 【チュートリアル】アンケート一覧 ユーザカテゴリ 【チュートリアル】チュートリアルガイドカテゴリ クエリに以下のSQLを設定します。
5.2.2.1.4. タスクの配置と変数設定¶
作成した「【チュートリアル】アンケート一覧」タスクをフローに配置し、線を繋げます。パレットから「【チュートリアル】チュートリアルガイドカテゴリ」 - 「【チュートリアル】アンケート一覧」を選択し、「開始」タスクの下に配置します。「開始」、「終了」タスクと「【チュートリアル】アンケート一覧」を線で繋げます。次に、配置したタスクの変数を設定していきます。「終了」タスクを選択し、「マッピング設定」ダイアログを表示します。「tutorial_enquete_list1」を選択し、「+入力を追加」をクリックします。ダイアログ左側の「tutorial_enquete_list1」の「enqueteId」と右側の「出力」の「enquete_id」、「enquete_title」と右側の「出力」の「enquete_title」を線で繋げます。次に、「開始日」を設定します。開始日は日付型で格納されており、そのままでは直感的に参照しやすい形式ではないため、「yyyy/MM/dd」の文字列に変換して返却します。まずはフォーマットを定数で作成します。一度、決定ボタンをクリックしてマッピング設定を保存してください。画面上部の「定数設定」をクリックして、定数設定ダイアログを表示します。「+定数を追加」をクリックし、以下の定数を追加し、決定ボタンをクリックして定数を保存します。定数を保存したら再度「終了」タスクのマッピング設定を表示し、関数から「日付操作 > format」を選択し、「+関数を追加」で配置します。ダイアログ左側の「tutorial_enquete_list1」の「start_date」を「format」の「value」に、定数の「FORMAT」を「format」の「format」に、「format」の「out」を出力の「start_date」にそれぞれ線を繋げます。同様の手順で「end_date」のフォーマット設定を行い、決定ボタンをクリックしてマッピングを保存します。これで、アンケート一覧取得処理の作成は終了です。画面上部の「新規保存」をクリックし、以下のように入力し、「決定」ボタンをクリックして、ロジックの登録を行います。
5.2.2.2. アンケート登録処理の作成¶
次に、アンケートを登録する処理を作成します。アンケート登録処理では、渡されたアンケート情報をアンケート情報テーブルとアンケート設問テーブルに格納します。
5.2.2.2.1. ロジックの作成¶
5.2.2.2.2. 入出力値の設定¶
業務ロジックへの入力値を設定します。アンケート登録処理は、アンケート情報とアンケートの設問を配列で受け取ります。出力値は設定しません。入力値の設定を行います。画面上部の「入出力設定」をクリックし「入出力設定」ダイアログを表示します。「入力」 - 「+string」をクリックし、キー名を「enqueteId」と設定してください。同様の手順で、以下の表に則ってアンケート情報を格納する入力値を設定します。次に、アンケートの設問情報を格納する項目を追加します。「入力」 - 「+object」をクリックし、キー名を「questionList」と設定してください。追加した「questionList」を選択し、「配列型にする」を選択します。「questionList」を選択し、「配下に配置する」にチェックを入れ、「questionList」配下に「question」、「leftScale」、「rightScale」をすべて文字列で追加します。入力値はJSON入力で以下のコードを記載しても設定できます。{ "enqueteId": "", "enqueteTitle": "", "enqueteOverview": "", "startDate": null, "endDate": null, "questionList": [ { "question": "", "leftScale": "", "rightScale": "" } ] }JSON入力する場合は、出力値の「JSON入力」をクリックして「JSON入力画面」を表示してください。また、JSON形式での入力の際には型が上記の表と誤りが無いか注意してください。
5.2.2.2.3. アンケート情報登録タスクの作成¶
入力内容に基づいてアンケート回答テーブルにデータを登録するユーザ定義タスクを作成します。パレットから「ユーザ定義追加」にカーソルを合わせ、「SQL定義新規作成」を選択します。ユーザ定義共通設定を以下のように設定します。
ラベル 入力値 ユーザ定義ID tutorial_enquete_info_insert ユーザ定義名(標準) 【チュートリアル】アンケート情報登録 ユーザカテゴリ 【チュートリアル】チュートリアルカテゴリ SQL定義のクエリ種別のプルダウンから「INSERT」を選択します。「テーブルからクエリを生成する」をクリックし、テーブル検索ダイアログを表示します。テーブル検索ダイアログで「tutorial_enquete_info_app」を選択し「クエリ生成」をクリックします。SQL定義編集画面の入力値とクエリにそれぞれ以下のような値が自動で設定されます。
入力値
項目 型 キー名 アンケートID string enqueteId アンケートタイトル string enqueteTitle アンケート概要 string enqueteOverview 開始日 sqltimestamp startDate 終了日 sqltimestamp endDate クエリ
INSERT INTO tutorial_enquete_info_app (enquete_id, enquete_title, enquete_overview, start_date, end_date) VALUES (/*enqueteId*/null, /*enqueteTitle*/null, /*enqueteOverview*/null, /*startDate*/null, /*endDate*/null)「登録」ボタンをクリックし、タスクを登録します。
5.2.2.2.4. アンケート設問登録タスクの作成¶
続けて、入力内容に基づいてアンケート設問テーブルにデータを登録するユーザ定義タスクを作成します。パレットから「ユーザ定義追加」にカーソルを合わせ、「SQL定義新規作成」を選択します。ユーザ定義共通設定を以下のように設定します。
ラベル 入力値 ユーザ定義ID tutorial_enquete_question_insert ユーザ定義名(標準) 【チュートリアル】アンケート設問登録 ユーザカテゴリ 【チュートリアル】チュートリアルカテゴリ SQL定義のクエリ種別のプルダウンから「INSERT」を選択します。「テーブルからクエリを生成する」をクリックし、テーブル検索ダイアログを表示します。テーブル検索ダイアログで「tutorial_enquete_question_app」を選択し「クエリ生成」をクリックします。SQL定義編集画面の入力値とクエリにそれぞれ以下のような値が自動で設定されます。
入力値
項目 型 キー名 アンケートID string enqueteId 設問ID string questionId 設問番号 bigdecimal questionNo 設問内容 string question 左項目 string leftScale 右項目 string rightScale クエリ
INSERT INTO tutorial_enquete_question_app (enquete_id, question_id, question_no, question, left_scale, right_scale) VALUES (/*enqueteId*/null, /*questionId*/null, /*questionNo*/null, /*question*/null, /*leftScale*/null, /*rightScale*/null)「登録」ボタンをクリックし、タスクを登録します。
5.2.2.2.5. タスクの配置と変数設定¶
作成した「【チュートリアル】アンケート情報登録」タスクと「【チュートリアル】アンケート設問登録」タスクをフローに配置し、線を繋げます。パレットから「【チュートリアル】チュートリアルガイドカテゴリ」 - 「【チュートリアル】アンケート情報登録」を選択し、開始の下に配置します。配置した「【チュートリアル】アンケート情報登録」の「in」と「開始」タスクの「out」を線で繋げます。次に、アンケートの設問登録処理を配置します。アンケートの設問は入力値として渡された設問数だけ繰り返して実行します。パレットから「基本」 - 「繰り返し開始」を選択し、「【チュートリアル】アンケート情報登録」の下に配置します。「繰り返し」タスクは「繰り返し開始」と「繰り返し終了」タスクがセットで配置されます。続けて、「【チュートリアル】アンケート設問登録」タスクを「繰り返し開始」と「繰り返し終了」タスクの間に配置し、全てのタスクを線で繋ぎます。次に、それぞれのタスクのマッピング設定を行います。「【チュートリアル】アンケート情報登録」タスクを選択し、マッピング設定を表示します。マッピング設定上で、左側の「入力」と右側の「tutorial_enquete_info_insert」の同じ値を線で繋げます。「決定」ボタンでマッピング設定ダイアログを閉じます。「繰り返し開始」タスクを選択し、「タスク固有設定」の「繰り返し対象」 - 「選択」から「繰り返し対象の選択」ダイアログを表示します。「入力 > questionList」を選択し決定ボタンをクリックします。これで、入力値として渡されたquestionListの配列の長さだけ繰り返し「【チュートリアル】アンケート設問登録」が実行されます。続けて、「【チュートリアル】アンケート設問登録」を選択しマッピング設定を開きます。「入力」の「enqueteId」と「tutorial_enquete_question_insert」の「 enqueteId」を線で繋ぎます。設問IDは自動設定とするため、関数から「identifier」を配置し、「tutorial_enquete_question_insert」の「questionId」を線で繋ぎます。エイリアス一覧から「im_startLoop1」を選択し、「+入力を追加」を選択します。追加された「im_startLoop」の「item」配下の値と「tutorial_enquete_question_insert1」配下の同様の変数を線で繋ぎます。最後に、「im_startLoop」の「index」と「tutorial_enquete_question_insert」の「questionNo」を線で繋ぎ、決定ボタンをクリックしてマッピング設定を保存します。これで、アンケート設問登録処理の作成は終了です。画面上部の「新規保存」をクリックし、以下のように入力し、「決定」ボタンをクリックして、ロジックの登録を行います。