MatterArchiveManager オブジェクト

案件アーカイブマネージャオブジェクト。

特定1つの完了した案件の退避処理を行うことができます。
既に退避した案件に対して、参照可能なユーザの追加や削除処理も行えます。

本オブジェクトで行われる退避処理では、案件退避リスナーは実行されません。
案件退避リスナーの実行と共に退避処理を行うには、案件退避バッチを利用する必要があります。
詳細は、各メソッドの説明を参照してください。

導入されたバージョン:7.2

コンストラクタの概要
MatterArchiveManager (String loginGroupId)
コンストラクタ
引数で指定したログイングループIDで案件アーカイブマネージャを新しく生成します。

メソッドの概要
WorkflowResultInfo archive (String systemMatterId ,Array referableUserCd)
指定したシステム案件IDの完了案件をアーカイブします。
WorkflowResultInfo createReferableUser (String archiveMonth ,String systemMatterId ,Array referableUserCd)
過去案件参照可能ユーザを新規作成します。
WorkflowResultInfo deleteReferableUser (String archiveMonth ,String systemMatterId ,Array referableUserCd)
過去案件参照可能ユーザを削除します。

コンストラクタの詳細
MatterArchiveManager

MatterArchiveManager (String loginGroupId)
コンストラクタ
引数で指定したログイングループIDで案件アーカイブマネージャを新しく生成します。
パラメータ
loginGroupId String ログイングループID

メソッドの詳細
archive

WorkflowResultInfo archive (String systemMatterId ,Array referableUserCd)

指定したシステム案件IDの完了案件をアーカイブします。

パラメータで指定した「systemMatterId システム案件ID」の完了案件の退避処理を行います。
システム案件IDを指定していない場合や、案件が完了状態ではない場合には、処理に失敗し、エラー情報を格納した結果オブジェクトを返却します。

案件の退避処理では、「imw_t_cpl_」で始まる完了案件関連テーブルのデータを「imw_ayyyymm_」で始まる過去案件関連テーブルへのデータ移処理を行います。
完了案件で移行対象になるテーブルは「imw_t_cpl_matter_user」を除いた全ての完了案件関連テーブルになります。
「imw_t_cpl_matter_user」に保存されている処理したユーザの情報の代わりに、
パラメータ「referableUserCd 過去案件参照可能ユーザコードの配列」で指定したユーザ情報が「imw_ayyyymm_matter_auth_user」に保存され、
該当ユーザのみが過去案件の参照権限を持つようになります。

過去案件テーブル名に含まれる「yyyymm」は対象案件の申請基準日の年月部分です。
申請基準日毎に過去案件データを保存するテーブルが異なり、もし該当テーブルが存在しない場合には、
新規でテーブルを生成してからデータを保存します。

案件退避処理は、データベースデータの移行処理と共に、トランザクションデータファイルの移動処理も行います。
該当する完了案件のXMLデータファイルを過去案件用のフォルダに移動します。
標準設定の場合、ファイルデータは下記のようになります。
移動前(完了案件データ):{%StorageService%}/storage/workflow/data/{%ログイングループID%}/transaction/yyyymm/dd/hh/{%システム案件ID%}/
              ※「yyyymm/dd/hh」は「申請した日付」です。
移動後(過去案件データ):{%StorageService%}/storage/workflow/data/{%ログイングループID%}/archive/yyyymm/dd/{%システム案件ID%}/
              ※「yyyymm/dd」は「申請基準日」です。

本メソッドで、案件退避処理を行う時には、グループ単位で設定したリスナーや、フローで設定した案件退避処理は動作しません。
(参考:
 グループ単位で設定するリスナーはグループパラメータの「archive-proc-listener-path」で設定したリスナー、
 フローで設定する案件退避処理は拡張ポイント「jp.co.intra_mart.workflow.plugin.event.matter.archive.process」のプラグインです。
 上記リスナーを実行する必要がある場合には、案件退避バッチ処理で案件退避処理を行う必要があります。
 案件退避バッチを実行する時に、標準設定では、グループ単位のリスナー「jp.co.intra_mart.system.workflow.listener.impl.WorkflowMatterArchiveStandardListener」で、
 「imw_t_cpl_matter_user」の処理したユーザデータを「imw_ayyyymm_matter_auth_user」に保存する処理を行なっています。)

このメソッドでは内部でトランザクション制御を行なっていません。外部で制御を行う必要があります。
ただし、過去案件テーブルが存在しない場合で、新規でテーブルを生成する処理は、テーブルの「CREATE TABLE」で行なっています。
使用するデータベースによっては、正常処理後にトランザクションをロールバックした場合でも、生成されたテーブルは元に戻りません。
(※Microsoft Sql Serverを使用する場合は、テーブルのロールバック処理ができます。)
尚、正常終了処理後にトランザクションをロールバックした場合に、データベースのデータ以外の生成した過去案件関連ファイルや、
削除した完了案件関連ファイルデータは元に戻らないので、ご注意下さい。

パラメータ
systemMatterId String システム案件ID
referableUserCd Array 過去案件参照可能ユーザコードの配列
返却値
WorkflowResultInfo 処理結果を返却します。
WorkflowResultInfo のdata属性には、nullが設定されます。

createReferableUser

WorkflowResultInfo createReferableUser (String archiveMonth ,String systemMatterId ,Array referableUserCd)

過去案件参照可能ユーザを新規作成します。

案件退避処理で作成した過去案件に対して、参照できるユーザを権限者テーブル「imw_ayyyymm_matter_auth_user」に追加します。
テーブルに含める「yyyymm」はパラメータで指定した「archiveMonth アーカイブ年月(yyyyMM)」で、申請基準日の年月部分です。
過去案件のシステム案件IDで、「archiveMonth アーカイブ年月(yyyyMM)」を取得するには、「UserMatterStatus#getMatterStatus(String)」を利用してください。

指定した「archiveMonth アーカイブ年月(yyyyMM)」に対して、過去案件テーブルが存在しない場合は、
該当する日付に対する全過去案件テーブルの新規作成処理を行います。

指定したパラメータが不正である場合や、データベースへの登録処理に失敗した場合は、処理に失敗し、エラー情報を格納した結果オブジェクトを返却します。

このメソッドでは内部でトランザクション制御を行なっていません。外部で制御を行う必要があります。
ただし、過去案件テーブルが存在しない場合で、新規でテーブルを生成する処理は、テーブルの「CREATE TABLE」で行なっています。
使用するデータベースによっては、正常処理後にトランザクションをロールバックした場合でも、生成されたテーブルは元に戻りません。
(※Microsoft Sql Serverを使用する場合は、テーブルのロールバック処理ができます。)

パラメータ
archiveMonth String アーカイブ年月(yyyyMM)
systemMatterId String システム案件ID
referableUserCd Array 過去案件参照可能ユーザコードの配列
返却値
WorkflowResultInfo 処理結果を返却します。
WorkflowResultInfo のdata属性には、nullが設定されます。

deleteReferableUser

WorkflowResultInfo deleteReferableUser (String archiveMonth ,String systemMatterId ,Array referableUserCd)

過去案件参照可能ユーザを削除します。

案件退避処理で作成した過去案件に対して、権限者テーブル「imw_ayyyymm_matter_auth_user」から参照できるユーザを削除します。
テーブルに含める「yyyymm」はパラメータで指定した「archiveMonth アーカイブ年月(yyyyMM)」で、申請基準日の年月部分です。
過去案件のシステム案件IDで、「archiveMonth アーカイブ年月(yyyyMM)」を取得するには、「UserMatterStatus#getMatterStatus(String)」を利用してください。

指定したパラメータが不正である場合や、指定した「archiveMonth アーカイブ年月(yyyyMM)」に対して、
過去案件テーブルが存在しない場合は、処理に失敗し、エラー情報を格納した結果オブジェクトを返却します。
パラメータ「referableUserCd 過去案件参照可能ユーザコードの配列」に指定した削除対象ユーザがテーブルに存在しない場合でも正常終了になります。

このメソッドでは内部でトランザクション制御を行なっていません。外部で制御を行う必要があります。

パラメータ
archiveMonth String アーカイブ年月(yyyyMM)
systemMatterId String システム案件ID
referableUserCd Array 過去案件参照可能ユーザコードの配列
返却値
WorkflowResultInfo 処理結果を返却します。
WorkflowResultInfo のdata属性には、nullが設定されます。