IM-Workflow

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

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

public class MatterArchiveManager
extends Object

案件アーカイブマネージャ。

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

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

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

コンストラクタの概要
MatterArchiveManager(String loginGroupId)
          コンストラクタ
引数で指定したログイングループIDで案件アーカイブマネージャを新しく生成します。
 
メソッドの概要
 void archive(String systemMatterId, String[] referableUserCd)
          指定した完了案件の退避処理を行います。
 void createReferableUser(String archiveMonth, String systemMatterId, String[] referableUserCd)
          過去案件参照可能ユーザを新規作成します。
 void deleteReferableUser(String archiveMonth, String systemMatterId, String[] referableUserCd)
          過去案件参照可能ユーザを削除します。
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

MatterArchiveManager

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

パラメータ:
loginGroupId - ログイングループID
メソッドの詳細

archive

public void archive(String systemMatterId,
                    String[] referableUserCd)
             throws WorkflowException
指定した完了案件の退避処理を行います。

パラメータで指定した「systemMatterId システム案件ID」の完了案件の退避処理を行います。
システム案件IDを指定していない場合や、案件が完了状態ではない場合には、例外「WorkflowException」が発生します。

案件の退避処理では、「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 - システム案件ID
referableUserCd - 過去案件参照可能ユーザコードの配列
例外:
WorkflowException - ワークフロー例外

createReferableUser

public void createReferableUser(String archiveMonth,
                                String systemMatterId,
                                String[] referableUserCd)
                         throws WorkflowException
過去案件参照可能ユーザを新規作成します。

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

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

指定したパラメータが不正である場合や、データベースへの登録処理に失敗した場合は、例外「WorkflowException」が発生します。

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

パラメータ:
archiveMonth - アーカイブ年月(yyyyMM)
systemMatterId - システム案件ID
referableUserCd - 過去案件参照可能ユーザコードの配列
例外:
WorkflowException - ワークフロー例外

deleteReferableUser

public void deleteReferableUser(String archiveMonth,
                                String systemMatterId,
                                String[] referableUserCd)
                         throws WorkflowException
過去案件参照可能ユーザを削除します。

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

指定したパラメータが不正である場合や、指定した「archiveMonth アーカイブ年月(yyyyMM)」に対して、
過去案件テーブルが存在しない場合は、例外「WorkflowException」が発生します。
パラメータ「referableUserCd 過去案件参照可能ユーザコードの配列」に指定した削除対象ユーザがテーブルに存在しない場合でも正常終了になります。

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

パラメータ:
archiveMonth - アーカイブ年月(yyyyMM)
systemMatterId - システム案件ID
referableUserCd - 過去案件参照可能ユーザコードの配列
例外:
WorkflowException - ワークフロー例外

IM-Workflow

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