LoginSignup
2
0

More than 1 year has passed since last update.

【intra-mart】ワークフローの参照者を動的に追加する方法

Last updated at Posted at 2021-09-17

はじめに

 今回は「ワークフローの参照者を動的に追加する」機能を、intra-mart Accel Platformのlogicdesignerを使用して実装してみたいと思います。

 実装にあたり以下のCookBookを参考にしています。本記事を見ながら実装する場合は、以下のCookBookに完成サンプルがありますので、完成サンプルをインポートしてから実装してください。

完成イメージ

 大まかなイメージはCookBookと同じく、申請者の担当組織に基づいて、ロジックフローで参照者を設定する機能です。異なる点として、任意のフロー定義の参照者に「ロジックフロー(ユーザ)」を利用することにより、申請者と同じ組織のユーザ全員を参照者に設定できます。これが今回実装したいことのイメージです。

【前提条件】
・intra-mart e Builder for Accel Platform をインストール済みであること。
・intra-mart Accel Platform をインストールし、初期設定までが完了していること。
・開発環境のresinサーバーが作成されていること。
・CookBookの完成サンプルをintra-martにインポートしていること。

手順の説明

1.ロジックフローを作成し、利用可能にする
2.ワークフローの参照者に「ロジックフロー」を追加する
3.実行画面で確認する

ロジックフローを作成し、利用可能にする

1. 入出力設定

・入力設定ではIM-Workflowが提供しているパラメータを利用するために、「imwApplyAuthInfo(申請者情報)」を設定します。出力設定では、「userCdsを」設定します。理由は、入力設定の申請者情報から組織情報を取得し、最終的に参照者に同じ組織のユーザを設定するため「userCds」を出力する必要があるためです。

・設定後の入出力設定は以下のようになります。
image.png

※参考

2. タスクの配置と接続

以下のとおりに、タスクを配置し、それぞれのタスク同士を接続します。

image.png

・組織に所属するユーザの取得
  共通マスタから申請者と同じ所属するユーザの情報を取得しています。

・【Cookbook】ロジックフローで案件操作権限者を設定する(ワークフローパラメータの作成)
  共通マスタ取得したユーザの情報をワークフローに受け渡し可能な形式に変換しています。

3. マッピング設定
各タスクのマッピングを以下のとおりに実施します。

image.png

(1) 組織に所属するユーザの取得
 入力の imwApplyAuthInfoのそれぞれの項目を、同じ名称の項目にマッピングします。
image.png

(2)【Cookbook】ロジックフローで案件操作権限者を設定する(ワークフローパラメータの作成)
 「(1)組織に所属するユーザの取得」の出力項目をマッピングします。
image.png

(3) 終了
 ロジックフローの出力値をワークフローの参照者や処理対象者に利用する場合、以下のように、String型の配列としてユーザコードを渡す必要があります。
image.png

4. ワークフローで利用可能なロジックフローに登録する
 作成したロジックフローをワークフローで利用可能にするための設定を行います。
ワークフロー>「ロジックフロー管理」>リソース設定>「案件操作権限者(参照者)」と作成したロジックフローを関連づけてください。設定方法の詳細は以下の画像とドキュメントをご覧ください。

image.png

ワークフローの参照者に「ロジックフロー」を追加する

 ワークフローのフロー定義の参照者に作成したロジックフローを追加します。今回は例として、サンプルの「直線ルート[JavaEE開発モデル]」のフロー定義の参照者に作成したロジックフローを追加しました。
設定方法の詳細は以下の画像とドキュメントをご覧ください。
image.png

実行画面で確認する

 作ったロジックフローに入出力値をマッピングできているか確認します。logicdesignerにはデバック機能がついているので、今回は試しに[userCd]に'aoyagi'を入力して実行します。
image.png
入力値を入れて実行してみると...
image.png
同じ組織のユーザが返ってきました。
正しくワークフローの参照者に作成したロジックフローを追加できていれば、今回の機能は実装できているはずです。

まとめ

 以上、今回は「ワークフローの参照者を動的に追加する方法」をまとめました。私自身は、実装してみた感想として、実装したい機能はどんな機能で、そのために何を入力して何を出力するか、そのデータをintra-mart上でどのように定義されているかをしっかり理解することで、logicdesignerはかなり便利な機能になるなと思いました。お読みいただいてありがとうございます。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0