IM-Workflow

jp.co.intra_mart.foundation.workflow.application.process
クラス CplMatterHandleManager

java.lang.Object
  上位を拡張 jp.co.intra_mart.foundation.workflow.application.process.CplMatterHandleManager

public class CplMatterHandleManager
extends Object

案件操作マネージャ。

完了案件に対して、管理者権限で、確認処理権限者の変更や、案件操作権限者(参照者)の変更操作を行います。

本クラスでは、完了案件に対して処理を行います。
各メソッドによる変更対象のデータベーステーブルは「imw_t_cpl」で始まるトランザクション系の完了案件関連テーブルになります。
他に、トランザクションファイルの設定レベルによっては、XMLファイルの変更処理も行います。
標準設定の場合は、変更対象のXMLファイルは下記に格納されています。
・{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}
処理中の未完了案件に対して、案件操作を行う場合には「ActvMatterHandleManager」を利用してください。

導入されたバージョン:
7.2
関連項目:
ActvMatterHandleManager

コンストラクタの概要
CplMatterHandleManager(String loginGroupId, String localeId, String systemMatterId, String operateUserCode)
          コンストラクタ
引数で指定したログイングループID、ロケールID、システム案件ID、操作者ユーザコードで
完了案件操作マネージャを新しく生成します。
 
メソッドの概要
 void createConfirmTarget(String nodeId, PluginModel[] plugins)
          完了案件の確認ノードに確認処理権限者情報を追加します。
 void createMatterHandleAuth(MatterHandleAuthModel[] matterHandleAuth)
          完了案件に対して、案件操作権限者(参照者)情報を新規追加又は更新します。
 void deleteConfirmTarget(String nodeId, PluginModel[] plugins)
          完了案件の確認ノードの処理権限者情報を削除します。
 void deleteConfirmTargetAll(String nodeId)
          完了案件の確認ノードの処理権限者情報をすべて削除します。
 void deleteMatterHandleAuth(MatterHandleAuthModel[] matterHandleAuth)
          完了案件に対して、案件操作権限者(参照者)情報を削除します。
 void deleteMatterHandleAuthAll()
          完了案件に対して、案件操作権限者(参照者)情報を全て削除します。
 void expandConfirmTarget(String nodeId)
          完了案件の確認ノードに対して、確認処理権限者を再展開します。
 void expandMatterHandleAuth()
          完了案件に対して、案件操作権限者(参照者)を再展開します。
 void updateMatterHandleAuth(MatterHandleAuthModel[] matterHandleAuth)
          完了案件に対して、案件操作権限者(参照者)情報を更新します。
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

CplMatterHandleManager

public CplMatterHandleManager(String loginGroupId,
                              String localeId,
                              String systemMatterId,
                              String operateUserCode)
コンストラクタ
引数で指定したログイングループID、ロケールID、システム案件ID、操作者ユーザコードで
完了案件操作マネージャを新しく生成します。

パラメータ:
loginGroupId - ログイングループID
localeId - ロケールID
systemMatterId - システム案件ID
operateUserCode - 操作者ユーザコード
メソッドの詳細

createConfirmTarget

public void createConfirmTarget(String nodeId,
                                PluginModel[] plugins)
                         throws WorkflowException
完了案件の確認ノードに確認処理権限者情報を追加します。

コンストラクタに指定したシステム案件IDに該当する完了案件に対して、
パラメータで指定したノードIDに該当する確認ノードへ権限者を追加します。

コンストラクタで指定するシステム案件IDは必ず完了状態の案件を指定する必要があります。
完了状態の案件ではないシステム案件IDを指定した場合には、「WorkflowException」が発生します。
パラメータで指定する「nodeId ノードID」は該当案件に必ず存在するIDを指定する必要があります。
存在しないノードIDを指定した場合には、「WorkflowException」が発生します。
ノードの種別は関係ありません。処理ノード、動的承認ノード、確認ノードのどちらでもこのメソッドで処理対象者を追加することができます。
ノードの処理ステータスも関係なく、処理対象者を追加することができますが、このメソッドでは設定ファイルへの追加処理のみを行います。
尚、完了案件でノードの処理対象者再展開処理は「確認ノードのみ」可能です。他種別のノードの処理権限者の変更は完了した案件では無意味な処理になります。
追加した確認処理権限者情報を完了案件に反映したい場合には、「expandConfirmTarget(String)」で権限者の再展開処理を行う必要があります。

追加する確認処理権限者情報であるパラメータ「確認処理権限者情報の配列」には処理権限者のプラグイン情報が格納されます。
追加するプラグイン情報と同じ設定が、追加対象確認ノードに既に存在する場合は、追加処理を行いません。
重複しないデータを抽出し、追加処理を行います。

本メソッドで実際に更新する対象XMLファイルは、最終処理結果のフローXML「flow.xml」になります。
最終処理結果の「flow.xml」を取得するには、案件テーブル「imw_t_cpl_matter」の最終処理ID「LAST_PROCESS_ID」に保存されている
値を用いて、トランザクションファイルディレクトリから取得します。
標準の設定の場合は、取得対象の「flow.xml」は下記に格納されています。
※{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/result/{%最終処理ID%}/flow.xml
上記のファイルに対して、該当確認ノードの処理権限者情報を追加する処理を行なっています。

尚、トランザクションファイルレベル設定が「[2]:全てのファイル情報を作成」の場合には、処理権限者の変更履歴を保存しています。
標準の設定の場合は、処理権限者の変更履歴は下記に保存されます。
・{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/operation_history/userTransfer.xml

確認処理権限者を削除するには「deleteConfirmTarget(String, PluginModel[])」や「deleteConfirmTargetAll(String)」を利用してください。

処理中の未完了案件の確認ノードの処理権限者を追加するには、「ActvMatterHandleManager.createProcessTarget(String, PluginModel[])」を利用してください。

パラメータ:
nodeId - 確認ノードID
plugins - 確認処理権限者情報の配列
例外:
WorkflowException - ワークフロー例外

deleteConfirmTarget

public void deleteConfirmTarget(String nodeId,
                                PluginModel[] plugins)
                         throws WorkflowException
完了案件の確認ノードの処理権限者情報を削除します。

コンストラクタに指定したシステム案件IDに該当する完了案件に対して、
パラメータで指定した確認ノードIDに該当するノードの処理権限者を削除します。

コンストラクタで指定するシステム案件IDは必ず完了状態の案件を指定する必要があります。
完了状態の案件ではないシステム案件IDを指定した場合には、「WorkflowException」が発生します。
パラメータで指定する「nodeId 確認ノードID」は該当案件に必ず存在するIDを指定する必要があります。
存在しないノードIDを指定した場合には、「WorkflowException」が発生します。
ノードの種別は関係ありません。処理ノード、動的承認ノード、確認ノードのどちらでもこのメソッドで処理対象者を削除することができます。
ノードの処理ステータスも関係なく、処理対象者を削除することができますが、このメソッドでは設定ファイルへの削除処理のみを行います。
尚、完了案件でノードの処理対象者再展開処理は「確認ノードのみ」可能です。他種別のノードの処理権限者の変更は完了した案件では無意味な処理になります。
削除した確認処理権限者情報を完了案件に反映したい場合には、「expandConfirmTarget(String)」で処理者の再展開処理を行う必要があります。

削除する処理権限者情報であるパラメータ「確認処理権限者情報の配列」には処理権限者のプラグイン情報が格納されます。
同じ設定が削除対象ノードに既に存在する場合に、削除処理を行います。削除するデータが存在しない場合でも、例外は発生せずに処理が終了します。

本メソッドで実際に更新する対象XMLファイルは、最終処理結果のフローXML「flow.xml」になります。
最終処理結果の「flow.xml」を取得するには、案件テーブル「imw_t_cpl_matter」の最終処理ID「LAST_PROCESS_ID」に保存されている
値を用いて、トランザクションファイルディレクトリから取得します。
標準の設定の場合は、取得対象の「flow.xml」は下記に格納されています。
※{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/result/{%最終処理ID%}/flow.xml
上記のファイルに対して、該当確認ノードの処理権限者情報を削除する処理を行なっています。

尚、トランザクションファイルレベル設定が「[2]:全てのファイル情報を作成」の場合には、処理権限者の変更履歴を保存しています。
標準の設定の場合は、処理権限者の変更履歴は下記に保存されます。
・{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/operation_history/userTransfer.xml

確認処理権限者を全部削除するには「deleteConfirmTargetAll(String)」を利用してください。
確認処理権限者を追加するには「createConfirmTarget(String, PluginModel[])」を利用してください。

処理中の未完了案件の確認ノードの処理権限者を削除するには、「ActvMatterHandleManager.deleteProcessTarget(String, PluginModel[])」を利用してください。

パラメータ:
nodeId - 確認ノードID
plugins - 確認処理権限者情報の配列
例外:
WorkflowException - ワークフロー例外

deleteConfirmTargetAll

public void deleteConfirmTargetAll(String nodeId)
                            throws WorkflowException
完了案件の確認ノードの処理権限者情報をすべて削除します。

コンストラクタに指定したシステム案件IDに該当する完了案件に対して、
パラメータで指定した確認ノードIDに該当するノードの処理権限者を全て削除します。

コンストラクタで指定するシステム案件IDは必ず完了状態の案件を指定する必要があります。
完了状態の案件ではないシステム案件IDを指定した場合には、「WorkflowException」が発生します。
パラメータで指定する「nodeId 確認ノードID」は該当案件に必ず存在するIDを指定する必要があります。
存在しないノードIDを指定した場合には、「WorkflowException」が発生します。
ノードの種別は関係ありません。処理ノード、動的承認ノード、確認ノードのどちらでもこのメソッドで処理対象者を削除することができます。
ノードの処理ステータスも関係なく、処理対象者を削除することができますが、このメソッドでは設定ファイルへの全削除処理のみを行います。
尚、完了案件でノードの処理対象者再展開処理は「確認ノードのみ」可能です。他種別のノードの処理権限者の変更は完了した案件では無意味な処理になります。
削除した確認処理権限者情報を完了案件に反映したい場合には、「expandConfirmTarget(String)」で権限者の再展開処理を行う必要があります。

本メソッドで実際に更新する対象XMLファイルは、最終処理結果のフローXML「flow.xml」になります。
最終処理結果の「flow.xml」を取得するには、案件テーブル「imw_t_cpl_matter」の最終処理ID「LAST_PROCESS_ID」に保存されている
値を用いて、トランザクションファイルディレクトリから取得します。
標準の設定の場合は、取得対象の「flow.xml」は下記に格納されています。
※{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/result/{%最終処理ID%}/flow.xml
上記のファイルに対して、該当確認ノードの処理権限者情報を全て削除する処理を行なっています。

尚、トランザクションファイルレベル設定が「[2]:全てのファイル情報を作成」の場合には、処理権限者の変更履歴を保存しています。
標準の設定の場合は、処理対象者の変更履歴は下記に保存されます。
・{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/operation_history/userTransfer.xml

確認処理権限者を一部削除するには「deleteConfirmTarget(String, PluginModel[])」を利用してください。
確認処理権限者を追加するには「createConfirmTarget(String, PluginModel[])」を利用してください。

処理中の未完了案件の確認ノードの処理権限者を全部削除するには、「ActvMatterHandleManager.deleteProcessTargetAll(String)」を利用してください。

パラメータ:
nodeId - 確認ノードID
例外:
WorkflowException - ワークフロー例外

expandConfirmTarget

public void expandConfirmTarget(String nodeId)
                         throws WorkflowException
完了案件の確認ノードに対して、確認処理権限者を再展開します。

コンストラクタに指定したシステム案件IDに該当する完了案件に対して、
パラメータで指定した確認ノードIDに該当するノードの処理権限者を再展開します。

コンストラクタで指定するシステム案件IDは必ず完了状態の案件を指定する必要があります。
完了状態の案件ではないシステム案件IDを指定した場合には、「WorkflowException」が発生します。

パラメータで指定する「nodeId ノードID」は確認ノードIDを指定する必要がありますが、
確認ノードを指定していない場合は特に例外は発生せず、処理が中断されます。
尚、確認ノードIDを指定した場合でも、その確認ノードが未到達の場合には、同じく処理が中断されます。
確認ノードに到達しているかの判定は、確認ノードの前につながっている処理ノードが、「申請」、「再申請」、「承認」の処理で終了されたかで
判定します。前のノードが未処理か、3つのステータス以外で終了した場合は、確認ノードは未到達の判定になります。

確認ノードのユーザ再展開時に、既存ユーザは全て削除されますが、再展開される新たなユーザ情報に既存のユーザが存在する場合は、
その既存ユーザの「確認済みフラグ」と「到達日付」の情報は引き継いで再展開処理を行います。
他のユーザは新しい確認処理権限者として、新規追加になります。
ユーザが削除されても、削除された既存ユーザの確認履歴は削除されずに、そのまま残ります。

本メソッドで展開処理を行う為に、ノードの処理権限者情報を取得する対象XMLファイルは、最終処理結果のフローXML「flow.xml」になります。
最終処理結果の「flow.xml」を取得するには、案件テーブル「imw_t_cpl_matter」の最終処理ID「LAST_PROCESS_ID」に保存されている
値を用いて、トランザクションファイルディレクトリから取得します。
標準の設定の場合は、取得対象の「flow.xml」は下記に格納されています。
※{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/result/{%最終処理ID%}/flow.xml
上記のファイルに対して、該当確認ノードの確認処理権限者情報を取得し、再展開処理を行います。
再展開処理は該当案件の「申請基準日」を基準に行います。

再展開処理は、完了案件の確認処理権限者情報のデータベースデータやXMLファイルデータを更新します。
更新対象のテーブルは完了案件の確認処理権限者情報を保存している「imw_t_cpl_matter_confirm_user」、「imw_t_cpl_matter_confirm_orgz」です。
トランザクションファイルレベルが「[2]:全てのファイル情報を作成」の場合は、同じ権限者情報がXMLファイルで保存されています。
そのファイルの更新処理も同じく行います。
ファイルの格納場所は、標準設定の場合には下記になります。
・{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/operation_history/confirmEnableUser.xml

再展開の処理順は、
「データベースの権限者情報削除」→「データベースの権限者情報再展開」→「XMLファイルの入替」の順で行います。
データベースの処理の途中、もしくはファイルの処理でエラーが発生した場合には、処理が中断され「WorkflowException」が発生します。

このメソッドでは内部でトランザクション制御を行なっていません。外部で制御を行う必要があります。
正常終了処理後に、トランザクションをロールバックした場合はデータベースの更新データのみロールバックされます。
更新した履歴ファイルやトランザクションファイルデータは元に戻らないので、ご注意下さい。

展開処理を行う前に、フローXML「flow.xml」の確認処理権限者設定を変更するには、
createConfirmTarget(String, PluginModel[])」や「deleteConfirmTarget(String, PluginModel[])」等を利用してください。

処理中の未完了案件に対して確認処理権限者の再展開処理を行う場合は、「ActvMatterHandleManager.expandConfirmTarget(String)」を利用してください。

パラメータ:
nodeId - ノードID
例外:
WorkflowException - ワークフロー例外

createMatterHandleAuth

public void createMatterHandleAuth(MatterHandleAuthModel[] matterHandleAuth)
                            throws WorkflowException
完了案件に対して、案件操作権限者(参照者)情報を新規追加又は更新します。

コンストラクタに指定したシステム案件IDに該当する完了案件に対して、
案件操作権限者(参照者)情報を追加、又は権限情報を更新します。

コンストラクタで指定するシステム案件IDは必ず完了状態の案件を指定する必要があります。
完了状態の案件ではないシステム案件IDを指定した場合には、「WorkflowException」が発生します。
このメソッドでは案件操作権限者(参照者)情報の設定ファイルへの追加、更新処理のみを行います。
そのため、追加した案件操作権限者(参照者)情報を完了案件に反映したい場合には、
expandMatterHandleAuth()」で案件操作権限者(参照者)の再展開処理を行う必要があります。

追加する案件操作権限者(参照者)情報であるパラメータ「案件操作権限情報」の「案件操作権限者(プラグイン情報)」には
案件操作権限者(参照者)のプラグイン情報が格納されます。
追加するプラグイン情報と同じ権限者設定が、追加対象フローに既に存在する場合は、その権限者の権限フラグ情報の更新処理を行います。
この処理は「updateMatterHandleAuth(MatterHandleAuthModel[])」で行う処理と同じ処理になります。
追加するプラグイン情報と同じ権限者設定が、追加対象フローに存在しない場合は、その権限者情報を新しく追加する処理を行います。

本メソッドで実際に更新する対象XMLファイルは、最終処理結果のフローXML「flow.xml」になります。
最終処理結果の「flow.xml」を取得するには、案件テーブル「imw_t_cpl_matter」の最終処理ID「LAST_PROCESS_ID」に保存されている
値を用いて、トランザクションファイルディレクトリから取得します。
標準の設定の場合は、取得対象の「flow.xml」は下記に格納されています。
※{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/result/{%最終処理ID%}/flow.xml
上記のファイルに対して、 案件操作権限者(参照者)情報を追加・変更する処理を行なっています。

尚、トランザクションファイルレベル設定が「[2]:全てのファイル情報を作成」の場合には、案件操作権限者(参照者)情報の変更履歴を保存しています。
標準の設定の場合は、案件操作権限者(参照者)情報の変更履歴は下記に保存されます。
・{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/operation_history/userTransfer.xml

案件操作権限者(参照者)情報の更新処理のみ行う場合には「updateMatterHandleAuth(MatterHandleAuthModel[])」を利用してください。
案件操作権限者(参照者)情報を削除するには「deleteMatterHandleAuth(MatterHandleAuthModel[])」や「deleteMatterHandleAuthAll()」を利用してください。

処理中の未完了案件に対して、案件操作権限者(参照者)情報を追加するには、「ActvMatterHandleManager.createMatterHandleAuth(MatterHandleAuthModel[])」を利用してください。

パラメータ:
matterHandleAuth - 完了案件操作権限情報の配列
例外:
WorkflowException - ワークフロー例外

updateMatterHandleAuth

public void updateMatterHandleAuth(MatterHandleAuthModel[] matterHandleAuth)
                            throws WorkflowException
完了案件に対して、案件操作権限者(参照者)情報を更新します。

コンストラクタに指定したシステム案件IDに該当する完了案件に対して、案件操作権限者(参照者)情報の権限フラグを更新します。

コンストラクタで指定するシステム案件IDは必ず完了状態の案件を指定する必要があります。
完了状態の案件ではないシステム案件IDを指定した場合には、「WorkflowException」が発生します。
このメソッドでは案件操作権限者(参照者)情報の設定ファイルへの更新処理のみを行います。
もし、追加した案件操作権限者(参照者)情報を完了案件に反映したい場合には、
expandMatterHandleAuth()」で案件操作権限者(参照者)の再展開処理を行う必要があります。

更新する案件操作権限者(参照者)情報であるパラメータ「案件操作権限情報」の「案件操作権限者(プラグイン情報)」には
案件操作権限者(参照者)のプラグイン情報が格納されます。
更新するプラグイン情報と同じ権限者設定が、更新対象フローに既に存在する場合に、その権限者の権限フラグ情報の更新処理を行います。
追加するプラグイン情報と同じ権限者設定が、追加対象フローに存在しない場合は、「WorkflowException」が発生します。
存在しないデータに対しては自動で追加処理を行いたい場合には「createMatterHandleAuth(MatterHandleAuthModel[])」を利用してください。

本メソッドで実際に更新する対象XMLファイルは、最終処理結果のフローXML「flow.xml」になります。
最終処理結果の「flow.xml」を取得するには、案件テーブル「imw_t_cpl_matter」の最終処理ID「LAST_PROCESS_ID」に保存されている
値を用いて、トランザクションファイルディレクトリから取得します。
標準の設定の場合は、取得対象の「flow.xml」は下記に格納されています。
※{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/result/{%最終処理ID%}/flow.xml
上記のファイルに対して、 案件操作権限者(参照者)情報を変更する処理を行なっています。

尚、トランザクションファイルレベル設定が「[2]:全てのファイル情報を作成」の場合には、案件操作権限者(参照者)情報の変更履歴を保存しています。
標準の設定の場合は、案件操作権限者(参照者)情報の変更履歴は下記に保存されます。
・{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/operation_history/userTransfer.xml

案件操作権限者(参照者)情報を追加又は更新するには「createMatterHandleAuth(MatterHandleAuthModel[])」を利用してください。
案件操作権限者(参照者)情報を削除するには「deleteMatterHandleAuth(MatterHandleAuthModel[])」や「deleteMatterHandleAuthAll()」を利用してください。

処理中の未完了案件に対して、案件操作権限者(参照者)情報を更新するには、「ActvMatterHandleManager.updateMatterHandleAuth(MatterHandleAuthModel[])」を利用してください。

パラメータ:
matterHandleAuth - 完了案件操作権限情報の配列
例外:
WorkflowException - ワークフロー例外

deleteMatterHandleAuth

public void deleteMatterHandleAuth(MatterHandleAuthModel[] matterHandleAuth)
                            throws WorkflowException
完了案件に対して、案件操作権限者(参照者)情報を削除します。

コンストラクタに指定したシステム案件IDに該当する完了案件に対して、案件操作権限者(参照者)情報を削除します。

コンストラクタで指定するシステム案件IDは必ず完了状態の案件を指定する必要があります。
完了状態の案件ではないシステム案件IDを指定した場合には、「WorkflowException」が発生します。
このメソッドでは案件操作権限者(参照者)情報の設定ファイルへの削除処理のみを行います。
もし、削除した案件操作権限者(参照者)情報を完了案件に反映したい場合には、
expandMatterHandleAuth()」で案件操作権限者(参照者)の再展開処理を行う必要があります。

削除する案件操作権限者(参照者)情報であるパラメータ「案件操作権限情報」の「案件操作権限者(プラグイン情報)」には
案件操作権限者(参照者)のプラグイン情報が格納されます。
削除するプラグイン情報と同じ権限者設定が、更新対象フローに既に存在する場合に、その権限者の削除処理を行います。
削除するデータが存在しない場合でも、例外は発生せずに処理が終了します。

本メソッドで実際に更新する対象XMLファイルは、最終処理結果のフローXML「flow.xml」になります。
最終処理結果の「flow.xml」を取得するには、案件テーブル「imw_t_cpl_matter」の最終処理ID「LAST_PROCESS_ID」に保存されている
値を用いて、トランザクションファイルディレクトリから取得します。
標準の設定の場合は、取得対象の「flow.xml」は下記に格納されています。
※{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/result/{%最終処理ID%}/flow.xml
上記のファイルに対して、 案件操作権限者(参照者)情報を削除する処理を行なっています。

尚、トランザクションファイルレベル設定が「[2]:全てのファイル情報を作成」の場合には、案件操作権限者(参照者)情報の変更履歴を保存しています。
標準の設定の場合は、案件操作権限者(参照者)情報の変更履歴は下記に保存されます。
・{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/operation_history/userTransfer.xml

案件操作権限者(参照者)情報を追加又は更新するには「createMatterHandleAuth(MatterHandleAuthModel[])」を利用してください。
案件操作権限者(参照者)情報を全て削除するには「deleteMatterHandleAuthAll()」を利用してください。

処理中の未完了案件に対して、案件操作権限者(参照者)情報を削除するには、「ActvMatterHandleManager.deleteMatterHandleAuth(MatterHandleAuthModel[])」を利用してください。

パラメータ:
matterHandleAuth - 完了案件操作権限情報の配列
例外:
WorkflowException - ワークフロー例外

deleteMatterHandleAuthAll

public void deleteMatterHandleAuthAll()
                               throws WorkflowException
完了案件に対して、案件操作権限者(参照者)情報を全て削除します。

コンストラクタに指定したシステム案件IDに該当する完了案件に対して、案件操作権限者(参照者)情報を全て削除します。

コンストラクタで指定するシステム案件IDは必ず完了状態の案件を指定する必要があります。
完了状態の案件ではないシステム案件IDを指定した場合には、「WorkflowException」が発生します。
このメソッドでは案件操作権限者(参照者)情報の設定ファイルへの全削除処理のみを行います。
もし、削除した案件操作権限者(参照者)情報を完了案件に反映したい場合には、
expandMatterHandleAuth()」で案件操作権限者(参照者)の再展開処理を行う必要があります。

本メソッドで実際に更新する対象XMLファイルは、最終処理結果のフローXML「flow.xml」になります。
最終処理結果の「flow.xml」を取得するには、案件テーブル「imw_t_cpl_matter」の最終処理ID「LAST_PROCESS_ID」に保存されている
値を用いて、トランザクションファイルディレクトリから取得します。
標準の設定の場合は、取得対象の「flow.xml」は下記に格納されています。
※{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/result/{%最終処理ID%}/flow.xml
上記のファイルに対して、 案件操作権限者(参照者)情報を削除する処理を行なっています。

尚、トランザクションファイルレベル設定が「[2]:全てのファイル情報を作成」の場合には、案件操作権限者(参照者)情報の変更履歴を保存しています。
標準の設定の場合は、案件操作権限者(参照者)情報の変更履歴は下記に保存されます。
・{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/operation_history/userTransfer.xml

案件操作権限者(参照者)情報を追加又は更新するには「createMatterHandleAuth(MatterHandleAuthModel[])」を利用してください。
案件操作権限者(参照者)情報を一部削除するには「deleteMatterHandleAuth(MatterHandleAuthModel[])」を利用してください。

処理中の未完了案件に対して、案件操作権限者(参照者)情報を全て削除するには、「ActvMatterHandleManager.deleteMatterHandleAuthAll()」を利用してください。

例外:
WorkflowException - ワークフロー例外

expandMatterHandleAuth

public void expandMatterHandleAuth()
                            throws WorkflowException
完了案件に対して、案件操作権限者(参照者)を再展開します。
コンストラクタに指定したシステム案件IDに該当する完了案件に対して、 案件操作権限者(参照者)情報を再展開します。

コンストラクタで指定するシステム案件IDは必ず完了状態の案件を指定する必要があります。
完了状態の案件ではないシステム案件IDを指定した場合には、「WorkflowException」が発生します。

本メソッドで展開処理を行う為に、案件操作権限者(参照者)情報を取得する対象XMLファイルは、最終処理結果のフローXML「flow.xml」になります。
最終処理結果の「flow.xml」を取得するには、案件テーブル「imw_t_cpl_matter」の最終処理ID「LAST_PROCESS_ID」に保存されている
値を用いて、トランザクションファイルディレクトリから取得します。
標準の設定の場合は、取得対象の「flow.xml」は下記に格納されています。
※{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/result/{%最終処理ID%}/flow.xml
上記のファイルに対して、案件操作権限者(参照者)を取得し、再展開処理を行います。
再展開処理は該当案件の「申請基準日」を基準に行います。

再展会処理は、完了案件の案件操作権限者(参照者)のデータベースデータやXMLファイルデータを更新します。
更新対象のテーブルは完了案件の案件操作権限者(参照者)を保存している「imw_t_cpl_matter_handle_user」です。
トランザクションファイルレベルが「[2]:全てのファイル情報を作成」の場合は、同じ案件操作権限者(参照者)がXMLファイルで保存されています。
そのファイルの更新処理も同じく行います。
ファイルの格納場所は、標準設定の場合には下記になります。
・{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/operation_history/matterHandleUser.xml   → 案件操作、参照の権限者情報。

再展開処理により、権限者データベースを更新する処理は、該当の権限者情報を全て削除し、全データを再作成(=展開)する処理になります。
再展開の処理順は、「データベースの権限者情報削除」→「データベースの権限者情報再展開」→「XMLファイルの入替」の順で行います。
データベースの処理の途中、もしくはファイルの処理でエラーが発生した場合には、処理が中断され「WorkflowException」が発生します。

このメソッドでは内部でトランザクション制御を行なっていません。外部で制御を行う必要があります。
正常終了処理後に、トランザクションをロールバックした場合はデータベースの更新データのみロールバックされます。
更新した履歴ファイルやトランザクションファイルデータは元に戻らないので、ご注意下さい。

展開処理を行う前に、フローXML「flow.xml」の案件操作権限者(参照者)設定を変更するには、
createMatterHandleAuth(MatterHandleAuthModel[])」や「deleteMatterHandleAuth(MatterHandleAuthModel[])」等を利用してください。

処理中の未完了案件に対して、案件操作権限者(参照者)を再展開するには「 ActvMatterHandleManager.expandMatterHandleAuth()」を利用してください。

例外:
WorkflowException - ワークフロー例外

IM-Workflow

Copyright © 2000-2015 NTT DATA INTRAMART CO.,LTD.. All Rights Reserved.