前処理(ワークフロー)
前処理は、フォーム画面を表示する際に実行される業務ロジックです。
申請画面を表示する際にのみ実行したいなどの制御は、ロジック内の分岐を利用して実装可能です。
利用例
- フォームの入力項目に初期値を設定する
業務ロジックの概要
前処理の業務ロジックを新規作成すると、初期状態では以下の図のように設定されています。
タスクを追加し、実現したい業務ロジックを作成してください。
図:業務ロジックの初期状態
前処理の業務ロジックには、画面の種別ごとの分岐が初期設定されています。
設定されている分岐条件と条件式は以下の通りです。
分岐条件 | 条件式 |
---|---|
申請 | ${ $input.executeProcessType == "apply" } |
再申請 | ${ $input.executeProcessType == "reapply" } |
承認 | ${ $input.executeProcessType == "approve" } |
詳細 | ${ $input.executeProcessType == "reference" } |
特定の画面種別、例えば、申請画面を表示する際にのみ実行したい処理は、「分岐(申請)」タスクの then
から線をつなげるようにします。
複数の、または、すべての画面種別で同じ処理を実行する場合は、それぞれの分岐の then
から線をつなげてください。
図:申請画面を表示する際にのみ実行したい処理の場合
図:申請画面と再申請画面を表示する際に実行したい処理の場合
ワークフローのフォームの入力項目に初期値を設定したい場合は、出力値の data
オブジェクトの配下のパラメータに設定したい値をマッピングします。
パラメータ名は、フォーム作成時に設定したフィールド識別IDに対応しています。
「明細テーブル」、「グリッドテーブル」、「スプレッドシート」のテーブルのデータは、テーブル識別IDをパラメータ名とするオブジェクトの配列です。
以下に data
オブジェクトの構造の例を示します。
data <object>
├─ textbox1 <string>
├─ number1 <integer>
├─ calendar1 <date>
└─ tb1 <object[]>
├─ [0] // テーブル1行目
│ ├─ tb1_textbox1 <string>
│ └─ tb1_number1 <integer>
├─ [1] // テーブル2行目
│ ├─ tb1_textbox1 <string>
│ └─ tb1_number1 <integer>
└─ [2] // テーブル3行目
├─ tb1_textbox1 <string>
└─ tb1_number1 <integer>
前処理の中でデータベースの登録・更新・削除処理を行う場合は、独自にデータベーストランザクション制御を行ってください。
入力値
入力値 | 型 | 説明 |
---|---|---|
executeProcessType | string | executeProcessType を参照 |
preProcessParameter | object | preProcessParameterオブジェクト を参照 |
uppParam | object | uppParamオブジェクト を参照 |
preProcessWorkflowParameter | object | preProcessWorkflowParameterオブジェクト を参照 |
executeProcessType
アプリケーション実行種別を保持します。
画面を表示するタイミングに合わせて以下の値が取得可能です。
- apply:申請画面
- reapply:再申請画面
- approve:承認画面
- reference:詳細画面
preProcessParameterオブジェクト
画面の基本情報を保持します。
入力値 | 型 | 説明 |
---|---|---|
loginUserCd | string | ログインユーザコード |
applicationId | string | アプリケーションID |
applicationNo | double | アプリケーションバージョンNO(アプリケーション履歴番号) |
insertId | string | データ登録ID |
applicationType | string | アプリケーション種別
|
appPageType | string | アプリケーションページ種別
|
processKey | string | プロセスキー |
recycleId | string | リサイクルID(過去に申請した案件の入力内容をコピーして申請(「コピー新規」)した場合のみ取得可能) コピー元案件のアプリケーションIDを返却します。 |
recycleDataId | string | リサイクルデータID(過去に申請した案件の入力内容をコピーして申請(「コピー新規」)した場合のみ取得可能) コピー元案件のユーザデータIDを返却します。 |
uppParamオブジェクト
画面呼び出し時のリクエストパラメータで業務ロジック用に渡された情報を保持します。
パラメータ名の頭に「 upp_
」と付いているリクエストパラメータが受け渡しの対象として扱われます。
preProcessWorkflowParameterオブジェクト
ワークフローに関するパラメータを保持します。
入力値 | 型 | 説明 |
---|---|---|
imwApplyBaseDate | string | 申請基準日( yyyy/MM/dd 形式) |
imwArriveType | string | 到達種別
|
imwAuthUserCode | string | 処理権限者コード 案件をログインユーザ本人の権限で処理する場合は本人のユーザコードが、代理先として処理する場合は代理元のユーザコードが設定されます。 |
imwCallOriginalPagePath | string | 呼び出し元ページパス |
imwCallOriginalParams | string | 呼び出し元パラメータ |
imwContentsId | string | コ ンテンツID |
imwContentsVersionId | string | コンテンツバージョンID |
imwFlowId | string | フローID |
imwFlowVersionId | string | フローバージョンID |
imwNodeId | string | 処理対象ノードID 処理対象のノードが縦配置・横配置ノードの場合は、展開後のノードIDが渡されます。 |
imwPageType | string | 画面種別
|
imwRouteId | string | ルートID |
imwRouteVersionId | string | ルートバージョンID |
imwSystemMatterId | string | システム案件ID |
imwUserCode | string | 処理者コード ログインユーザ本人のユーザコードです。 |
imwUserDataId | string | ユーザデータID |