コンストラクタの概要

TransferManager (String [localeId], String systemMatterId, String nodeId)
コンストラクタ
TransferManager (String loginGroupId, String localeId, String systemMatterId, String nodeId) 非推奨
コンストラクタ
TransferManager([String localeId], String systemMatterId, String nodeId) を使用してください。

メソッドの概要

返却値の型 メソッド名
WorkflowResultInfo transfer (TransferParamInfo transferParam, Boolean sendMailFlag, String noticeComment)
振替処理を実行します。

コンストラクタの詳細

TransferManager (String [localeId], String systemMatterId, String nodeId)
コンストラクタ
引数で指定したロケールID、システム案件ID、ノードIDで振替マネージャを
新しく生成します。
パラメータ
[localeId] : String
ロケールID
systemMatterId : String
システム案件ID
nodeId : String
ノードID
TransferManager (String loginGroupId, String localeId, String systemMatterId, String nodeId) 非推奨
TransferManager([String localeId], String systemMatterId, String nodeId) を使用してください。
コンストラクタ
引数で指定したログイングループID、ロケールID、システム案件ID、ノードIDで振替マネージャを
新しく生成します。
パラメータ
loginGroupId : String
ログイングループID
localeId : String
ロケールID
systemMatterId : String
システム案件ID
nodeId : String
ノードID

メソッドの詳細

WorkflowResultInfo transfer (TransferParamInfo transferParam, Boolean sendMailFlag, String noticeComment)
振替処理を実行します。

このメソッドでは内部でトランザクションの制御処理を行なっています。
メソッドの実行前に、ユーザトランザクションを終了状態にして置く必要があります。

指定した「振替用パラメータ情報オブジェクト」で、未完了案件の処理権限者に対して振替処理を行います。
指定したパラメータの「実行者コード」と「振替元権限者コード」が異なる場合は、代理での振替処理を行います。
以外の場合は、「実行者コード」のユーザ本人での振替処理を行います。

振替処理は、本人から他人への処理依頼になります。振替先に本人が含まれる設定を行った場合でも、
振替先の展開情報からは振替元のユーザ情報は削除されます。

コンストラクタに指定したシステム案件IDとノードIDで取得した案件のノード情報が、処理待ちの状態ではない場合は、
権限者情報を変更することはできません。処理に失敗し、エラー情報を格納した結果オブジェクトを返却します。
指定した振替元のユーザが、対象案件のノードの権限者ではない場合にも権限者情報を変更することはできません。
同じく処理に失敗し、エラー情報を格納した結果オブジェクトを返却します。

振替処理を行う際に、そのノードの状態が「保留」の場合は、保留削除処理が自動で行われます。
保留処理によって処理できなくなった人も振替後には処理ができるようになります。

パラメータの「振替通知メール送信フラグ」が「TRUE」の場合は、パラメータで指定した「振替通知コメント」を本文にした振替通知メールを送信します。

振替先ユーザ情報を格納しているパラメータの「振替先処理対象者情報(プラグイン情報)」の展開処理は該当案件のフロー定義「対象者を展開する日」に設定した「申請基準日」または「システム日」を基準に行います。

展開された振替先ユーザ情報で、未完了案件の権限者情報のデータベースデータやXMLファイルデータを更新し、
振替ユーザの履歴ファイルを残します。
更新対象のテーブルは未完了案件の権限者情報を保存している「imw_t_actv_executable_user」、「imw_t_actv_user_orgz」です。
振替先処理対象者のプラグイン情報は「flow.xml」の対象ノードに追加されます。
トランザクションファイルレベルが「[2]:全てのファイル情報を作成」の場合は、権限者情報がXMLファイルで保存されています。そのファイルの更新処理も同じく行います。
振替処理処理によって権限者情報が変更したことを履歴情報として「userTransfer.xml」に記載します。
履歴ファイルも権限者情報と同じく、トランザクションファイルレベルが「[2]:全てのファイル情報を作成」の場合に作成されます。

振替処理により、データベースを更新する処理は、該当ノードの権限者情報を全て削除し、全データを再作成(=展開)する処理になります。
この削除、展開処理時にはリスナーを追加することができます。(※拡張ポイントはクラスの説明を参照してください。)
振替処理内のトランザクション処理では、データベースへのデータ削除、登録や、XMLファイルへの書き込み処理が全て終了した後にコミット処理を行います。
データベースの権限者情報削除→権限者削除リスナー実行→データベースの権限者情報再展開→権限者展開リスナー実行→XMLファイルの入替→メール送信→保留ステータス削除の順で処理を行います。
データベースの処理の途中、もしくはファイルの処理でエラーが発生した場合には、データベースのデータは全てロールバックされますが、
場合によっては、XMLファイルのデータには処理時のデータが残る場合もあります。

権限者情報の変更処理は振替処理以外に、案件操作マネージャの処理対象者変更処理でも行えます
詳細は「ActvMatterHandleManager#createProcessTarget(String, Array)」を参照してください。

パラメータ
transferParam : TransferParamInfo
振替用パラメータ情報オブジェクト
sendMailFlag : Boolean
振替通知メール送信フラグ
noticeComment : String
振替通知コメント
返却値
WorkflowResultInfo
WorkflowResultInfo 処理結果を返却します。
WorkflowResultInfo のdata属性には、nullが設定されます。