intra-mart Accel Platform IM-Workflow プログラミングガイド 第21版 2019-12-01

5.2. 案件終了処理


案件終了処理とは、案件が終了する時に、一度実行される処理です。下記の場合に実行されます。
  • 最後の承認者が“承認”を行った場合
  • 承認者が“承認終了”を行った場合
  • 承認者が“否認”を行った場合
  • 申請者が“取止め”を行った場合
  • 案件操作で終了ノードに到達した場合
案件終了処理は、直前のアクション処理や到達処理とは独立した処理(トランザクション)です。
そのため、案件終了処理でエラーが発生した場合、直前の処理を戻すこと(ロールバック)はできません。
案件終了処理は、 IM-Workflow モジュールのトランザクション内で実行されるため、このプログラム中ではDBトランザクション制御を行うことはできません。

5.2.1. パラメータ

案件終了処理では、以下の情報をパラメータとして受け取る事ができます。
No パラメータ(物理名) パラメータ(論理名) 属性 詳細
1 loginGroupId ログイングループID 文字列
処理実行時のログイングループID
ログイングループIDは、テナントIDと同値です。
2 localeId ロケールID 文字列 処理実行時のロケールID
3 targetLocales ターゲットロケールID 文字列[] システムで利用しているロケールID
4 contentsId コンテンツID 文字列 該当案件のコンテンツID
5 contentsVersionId コンテンツバージョンID 文字列 該当案件のコンテンツバージョンID
6 routeId ルートID 文字列 該当案件のルートID
7 routeVersionId ルートバージョンID 文字列 該当案件のルートバージョンID
8 flowId フローID 文字列 該当案件のフローID
9 flowVersionId フローバージョンID 文字列 該当案件のフローバージョンID
10 applyBaseDate 申請基準日 文字列 申請基準日(”yyyy/MM/dd”)
11 processDate 処理日 文字列 処理日(”yyyy/MM/dd”)
12 systemMatterId システム案件ID 文字列 該当案件のシステム案件ID
13 userDataId ユーザデータID 文字列 該当案件のユーザデータID
14 parameter 実行プログラムパス 文字列 該当処理の実行プログラムパス
15 actFlag 代理フラグ 文字列 ”0”:本人にて処理 ”1”:代理者にて処理
16 lastProcessNodeId 最終処理ノードID 文字列 最終処理のノードID
17 lastAuthUserCd 最終処理権限者コード 文字列 最終処理の処理権限者コード
18 lastExecUserCd 最終処理実行者コード 文字列 最終処理の処理実行者コード
19 lastResultStatus 最終処理結果ステータス 文字列 最終処理の処理結果ステータス [1]
20 mailIds メールテンプレートID 文字列[] メール種別「処理結果通知」で設定されているメールID
21 imBoxIds ImBoxId 文字列[] IMBox種別「処理結果通知」で設定されているIMBoxID
22 mailReplaceMap メール置換文字情報 Map メールの置換文字情報 [2]
23 imBoxReplaceMap IMBox置換文字情報 Map IMBoxの置換文字情報 [2]
[1]・・・コード値は、「 APIドキュメントのIM-Workflow CodeList 」を参照してください。
[2](1, 2) ・・・置換文字列と置換内容の詳細は、「 IM-Workflow 仕様書 別紙 」を参照してください。

5.2.2. 返却値

案件終了処理では、以下の情報を返却します。(任意/必須・・・●:必須 △:任意)
  • スクリプト開発モデル

    No 返却値(物理名) 返却値(論理名) 属性 必須/任意 詳細
    1 resultFlag 結果フラグ 真偽値   △
    true:成功 false:失敗
    指定しない場合、成功(true)として扱います。
    2 message 結果メッセージ 文字列   △ 結果フラグが失敗の場合のみ、設定します。
    3 data メール送信可否 真偽値   ●
    このパラメータは「処理結果通知」の送信制御を行います。
    このパラメータによる制御はメールに限らず、 IMBox などにも適用されます。
    true:送信する false:送信しない
    ※ 結果メッセージを設定した場合、例外ログにエラーメッセージを出力します。

    コラム

    結果フラグとして”false”(失敗)を設定した場合の動作は以下の通りです。

    • 該当の案件終了処理以外に設定されている後続の案件終了処理は実行されません。
    • 処理結果通知を設定している場合、「メール送信可否」の設定値に関係なく、処理結果通知による通知は行われません。
  • JavaEE開発モデル

    No 返却値(論理名) 属性 必須/任意 詳細
    1 メール送信可否 真偽値   ●
    このパラメータは「処理結果通知」の送信制御を行います。
    このパラメータによる制御はメールに限らず、 IMBox などにも適用されます。
    true:送信する false:送信しない
    ※ 「jp.co.intra_mart.foundation.workflow.exception.WorkflowExternalException」をスローした場合、引数に設定したエラーメッセージを例外ログに出力します。詳細は「 APIドキュメント 」を参照してください。

    コラム

    WorkflowExternalException をスローした場合の動作は以下の通りです。

    • 該当の案件終了処理以外に設定されている後続の案件終了処理は実行されません。
    • 処理結果通知を設定している場合、「メール送信可否」の設定値に関係なく、処理結果通知による通知は行われません。