[応用] ワークフロー機能を使った回覧

最終更新日: 2021年6月30日

「総務部」というグループ内で、メンバー全員が承認するとワークフローが終了する回覧機能のサンプルです。
回覧に対して、総務部のメンバー全員(申請者含・ここでは5名)が全員「承認」するとワークフローが完了となります。

回覧の例

「回覧状態」項目ではその回覧の閲覧状況を表示します。
スクリプトを使用し、次の通り状態に応じて「回覧中」・「回覧済」というテキストを表示します。

回覧中 申請者によって回覧が開始され、まだ全員が承認していない状態。
回覧済※ メンバー全員が回覧に対して「承認」操作を行った状態。

※「回覧済」状態の場合、ワークフローの特性上、承認・却下などのワークフロー操作は行えません。

閲覧状態の例

その他の状態(空白、取り消しなど)はデフォルトのワークフローの仕様と同じです。
詳細は「ワークフロー > ワークフローを開始する > ワークフローの状態とイベント」をお読みください。

回覧モデルの定義

  1. 「回覧」モデルを次の通り用意します。
    回覧モデル
    項目名 項目ID 検索 一覧
    申請ID appid 数値
    申請者 applicant 他モデルの項目参照
    日付 datetime 日付・時刻
    ファイル file 文字列(ファイル名)
    回覧状態 flowstatus 文字列 (※計算式)
    コメント comment 文字列

    申請者

    Wagbyが標準で提供するログオンアカウントモデル(juser)を参照します。

    juserをリストボックスで参照する

    また、登録画面表示時の初期値を「ログオンID」とします。
    これによってリストボックスの初期値として、現在ログオンしているアカウントが選択されます。

    登録画面表示時の初期値を設定する

    日付

    登録画面表示時に今日の日付を自動設定するため、関数 TODAY を用います。

    関数TODAYを用いる

    回覧状態

    1. はじめに「入力制御 > 読み込み専用」設定欄で「全画面」を選択します。
      読み込み専用の設定
    2. 次に、回覧状態を求めるスクリプトの設定を行います。
      「画面 > スクリプト > ヘルパ」を開き、実行タイミング「更新」を選択します。
      画面 > スクリプト > ヘルパ
    3. スクリプトを次の通り設定します。
      var JfcworkstateServiceImpl = Java.type("jp.jasminesoft.wagby.app.jfcworkstate.JfcworkstateServiceImpl");
      var event = JfcworkstateServiceImpl.WFLASTEVENT(p, "kairan", kairan.appid + "");
      if (event === "申請" || event === "承認") {
          kairan.status = "回覧中";
      } else if (event === "決裁") {
          kairan.status = "回覧済";
      } else {
          kairan.status = event;
      }
      スクリプトの設定
    4. コメント

      入力項目の種類をテキストエリアとします。(図6)

      入力項目の種類を設定する
    5. このモデルにワークフローを適用します。
      「画面 > その他 > ワークフロー」設定欄で、「ワークフローを有効にする」のチェックを有効にします。
      これで設定は完了です。
      ワークフローを有効にする

グループの準備

ビルドしたWebアプリケーションを起動し、システム管理者でログオンします。
図8の通りグループ「総務部」を用意します。

デモ用のグループを準備する

アカウントの準備

重要

以下の手順はトライアルキットではお試しいただけません。アカウントの追加処理を行うためです。
評価用ライセンス(無料)または開発キットをご利用ください。(ご希望の場合はWagby 販売パートナーにお問い合わせください。

総務部グループに所属する5つのアカウント(asai,kato,ichikawa,sasaki,tsuchiya)を用意します。

デモ用のアカウントを準備する
「プリンシパル」は全てのアカウントで以下の5つにチェックを入れてください。
  • アカウント > アカウント閲覧者
  • アカウント > 一般ユーザ
  • 共通処理 > 共通処理
  • 共通処理 > パスワード変更
  • ワークフロー > ワークフロー状態閲覧
これらをデモデータとして説明します。
デモ用アカウントのプリンシパル

フローパターンの設定

  1. アプリケーションにシステム管理者でログオンし、「管理処理 > ワークフロー管理 > フローパターン検索」を開きます。
  2. 「順次・合議フロー」をクリックします。
    フローパターン一覧
  3. 「コピー登録へ」ボタンをクリックします。
    フローパターン一覧
  4. 合議の横の数字を「5」(グループ全員の人数)、ノード名を両方「閲覧」とし、「保存」ボタンをクリックします。
    この設定によって「5人のメンバーが全員承認したらワークフロー完了」となります。
    また、メンバー承認時、決裁時のノード名が「閲覧」となります。 今回のようにグループでの承認決裁の場合、(1)と(2)には同じ文字列を設定してください。

    注意

    人事異動などでグループの所属人数が変わる場合には、この数字も合わせて更新してください。

    フローパターンのカスタマイズ

    メンバー承認時のノード名は次のようになります。

    ノード名の反映

ワークフロー参加者設定

  1. フローパターンの設定が終わったら、「管理処理 > ワークフロー管理 > ワークフロー参加者設定検索」を開きます。
    「登録画面へ」ボタンをクリックします。
    ワークフロー参加者設定検索
  2. 次の通り設定します。
    (1)フロー参加者設定名は任意の値を設定します。今回は「回覧フロー(総務部)」としました。
    (2)説明には、そのフローの役割やメモなど、説明を入力しておくと便利です。今回は「総務部全員が承認したら完了する回覧」としました。
    (3)フローパターン名は、先の手順で設定したフローパターン「順次・合議フロー」を選択します。
    フロー参加者の設定は(4)~(6)の通り、メンバーは指定せずグループのみすべて「総務部」を選択します。
    これによりワークフローに参加できるのが「総務部」グループに所属するアカウントに限定されます。
    ワークフロー参加者設定検索