IM-Workflow

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

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

public class MatterDeleteManager
extends Object

案件削除マネージャ。

未完了、完了、過去案件の削除処理を行います。

各テーブルから該当する案件データを削除し、削除した情報を履歴として残します。標準の設定の場合、削除履歴ファイルは下記に格納されます。
・未完了案件:{%StorageService%}/storage/workflow/data/{%ログイングループID%}/delete_log/yyyymmdd/active/{%システム案件ID%}.xml
・完了案件:{%StorageService%}/storage/workflow/data/{%ログイングループID%}/delete_log/yyyymmdd/completed/{%システム案件ID%}.xml
・過去案件:{%StorageService%}/storage/workflow/data/{%ログイングループID%}/delete_log/yyyymmdd/archived/{%システム案件ID%}.xml
 ※「yyyymmdd」は削除処理を実行した日付になります。

1件の案件削除処理時には案件のフロー情報に定義されている案件削除リスナーが実行されます。
案件のステータスによって、下記の拡張ポイントのプラグイン処理を拡張することで、処理を追加することができます。
・未完了案件削除リスナー:「jp.co.intra_mart.workflow.plugin.event.matter.active.delete.process」
・完了案件削除リスナー:「jp.co.intra_mart.workflow.plugin.event.matter.completed.delete.process」
・過去案件削除リスナー:「jp.co.intra_mart.workflow.plugin.event.matter.archived.delete.process」
又は、IM-Workflowのグループパラメータにリスナーを指定することで、ログイングループ単位でリスナーを実行させることができます。
・未完了案件削除リスナー設定キー:delete-active-matter-type、delete-active-matter-listener-path
・完了案件削除リスナー設定キー:delete-complete-matter-type、delete-complete-matter-listener-path
・過去案件削除リスナー設定キー:delete-archive-matter-type、delete-archive-matter-listener-path
詳細は各メソッドの説明や、IM-Workflowのグループパラメータの設定を参照してください。

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

コンストラクタの概要
MatterDeleteManager(String loginGroupId)
          コンストラクタ
引数で指定したログイングループIDで案件削除マネージャを新しく生成します。
 
メソッドの概要
 void deleteActvMatter(String systemMatterId)
          未完了案件を削除します。
 void deleteArcMatter(String systemMatterId, String archiveMonth)
          過去案件を1件削除します。
 void deleteArcMatterTargetYearMonth(String archiveMonth)
          アーカイブ年月(yyyyMM)の過去案件を全て削除します。
 void deleteCplMatter(String systemMatterId)
          完了案件を削除します。
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

MatterDeleteManager

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

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

deleteActvMatter

public void deleteActvMatter(String systemMatterId)
                      throws WorkflowException
未完了案件を削除します。

指定したシステム案件IDに該当する未完了案件のデータベースやトランザクションファイルの全てデータを削除します。
削除処理後に、元に戻すことはできません。

指定したシステム案件IDが未完了案件ではない場合でも、例外は発生しません。処理が中断されて正常終了します。
データベースのデータ削除や、削除履歴ファイル作成、削除に必要なデータを取得する処理で失敗した場合には、「WorkflowException」が発生します。

削除対象の案件が存在する場合、削除処理を実行する前に、未完了案件削除リスナーの実行処理を行います。
案件削除リスナーは、フロー情報に定義されているリスナーと、ログイングループパラメータに指定するリスナーの2種類があります。
フローに設定されているリスナーは拡張ポイント「jp.co.intra_mart.workflow.plugin.event.matter.active.delete.process」のプラグインで設定されています。
上記の拡張ポイントで、プラグインを追加することで、拡張できます。
ログイングループで指定されているリスナーはキー「delete-active-matter-type、delete-active-matter-listener-path」で設定されています。
ログイングループ単位でのリスナーは1個だけ設定できます。
2種類リスナーの実行順は、フローに定義されているリスナーを実行した後に、ログイングループパラメータに指定されているリスナーを実行します。

リスナーの処理が正常に終了した後に、未完了案件データベースのデータ削除処理を行います。
対象テーブルは下記になります。下記の順番で各テーブルから該当案件情報の削除処理を行います。
・imw_t_actv_matter
・imw_t_actv_matter_locale
・imw_t_actv_matter_attach_file
・imw_t_actv_matter_handle_user
・imw_t_actv_task
・imw_t_actv_executable_user
・imw_t_actv_user_orgz
・imw_t_before_task
・imw_t_cpl_task
・imw_t_cpl_user
・imw_t_confirm_user
・imw_t_confirm_orgz
・imw_t_confirm
※未完了案件の削除処理では、完了・過去案件とは違い、ユーザデータ「imw_t_user_data」の削除処理を行なっていません。
 案件削除後にも再利用できます。

データベースの削除処理が正常に終了した後に、削除した未完了案件の履歴ファイルを作成します。
標準の設定の場合、削除履歴ファイルは下記に格納されます。
※{%StorageService%}/storage/workflow/data/{%ログイングループID%}/delete_log/yyyymmdd/active/{%システム案件ID%}.xml
「yyyymmdd」は削除処理を実行した日付になります。申請基準日ではありません。

履歴ファイルの作成まで正常に終了した後、最後に未完了案件のトランザクションファイルデータを削除します。

完了案件を削除するには、「deleteCplMatter(String)」を利用してください。
過去案件を削除するには、「deleteArcMatterTargetYearMonth(String)」や「deleteArcMatter(String, String)」を利用してください。

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

パラメータ:
systemMatterId - システム案件ID
例外:
WorkflowException - ワークフロー例外

deleteCplMatter

public void deleteCplMatter(String systemMatterId)
                     throws WorkflowException
完了案件を削除します。

指定したシステム案件IDに該当する完了案件のデータベースやトランザクションファイルの全てデータを削除します。
削除処理後に、元に戻すことはできません。

指定したシステム案件IDが完了案件ではない場合でも、例外は発生しません。処理が中断されて正常終了します。
データベースのデータ削除や、削除履歴ファイル作成、削除に必要なデータを取得する処理で失敗した場合には、「WorkflowException」が発生します。

削除対象の案件が存在する場合、削除処理を実行する前に、完了案件削除リスナーの実行処理を行います。
案件削除リスナーは、フロー情報に定義されているリスナーと、ログイングループパラメータに指定するリスナーの2種類があります。
フローに設定されているリスナーは拡張ポイント「jp.co.intra_mart.workflow.plugin.event.matter.completed.delete.process」のプラグインで設定されています。
上記の拡張ポイントで、プラグインを追加することで、拡張できます。
ログイングループで指定されているリスナーはキー「delete-complete-matter-type、delete-complete-matter-listener-path」で設定されています。
ログイングループ単位でのリスナーは1個だけ設定できます。
2種類リスナーの実行順は、フローに定義されているリスナーを実行した後に、ログイングループパラメータに指定されているリスナーを実行します。

リスナーの処理が正常に終了した後に、完了案件データベースのデータ削除処理を行います。
対象テーブルは下記になります。下記の順番で各テーブルから該当案件情報の削除処理を行います。
・imw_t_cpl_matter_user_data
・imw_t_cpl_matter
・imw_t_cpl_matter_locale
・imw_t_cpl_matter_attach_file
・imw_t_cpl_matter_handle_user
・imw_t_cpl_matter_task
・imw_t_cpl_matter_user
・imw_t_cpl_matter_confirm_user
・imw_t_cpl_matter_confirm_orgz
・imw_t_cpl_matter_confirm
※完了案件の削除処理では、未完了案件とは違い、ユーザデータ「imw_t_cpl_matter_user_data」の削除処理を行います。

データベースの削除処理が正常に終了した後に、削除した完了案件の履歴ファイルを作成します。
標準の設定の場合、削除履歴ファイルは下記に格納されます。
※{%StorageService%}/storage/workflow/data/{%ログイングループID%}/delete_log/yyyymmdd/completed/{%システム案件ID%}.xml
「yyyymmdd」は削除処理を実行した日付になります。申請基準日ではありません。

履歴ファイルの作成まで正常に終了した後、最後に完了案件のトランザクションファイルデータを削除します。

処理中の未完了案件を削除するには、「deleteActvMatter(String)」を利用してください。
過去案件を削除するには、「deleteArcMatterTargetYearMonth(String)」や「deleteArcMatter(String, String)」を利用してください。

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

パラメータ:
systemMatterId - システム案件ID
例外:
WorkflowException - ワークフロー例外

deleteArcMatter

public void deleteArcMatter(String systemMatterId,
                            String archiveMonth)
                     throws WorkflowException
過去案件を1件削除します。

指定したシステム案件IDに該当する過去案件が指定したアーカイブ年月(yyyyMM)に存在する場合、
そのデータベースやトランザクションファイルの全てデータを削除します。
削除処理後に、元に戻すことはできません。

指定したシステム案件IDが指定したアーカイブ年月(yyyyMM)の過去案件テーブルに存在しない場合でも、例外は発生しません。処理が中断されて正常終了します。
データベースのデータ削除や、削除履歴ファイル作成、削除に必要なデータを取得する処理で失敗した場合には、「WorkflowException」が発生します。

削除対象の案件が存在する場合、削除処理を実行する前に、過去案件削除リスナーの実行処理を行います。
案件削除リスナーは、フロー情報に定義されているリスナーと、ログイングループパラメータに指定するリスナーの2種類があります。
フローに設定されているリスナーは拡張ポイント「jp.co.intra_mart.workflow.plugin.event.matter.archived.delete.process」のプラグインで設定されています。
上記の拡張ポイントで、プラグインを追加することで、拡張できます。
ログイングループで指定されているリスナーはキー「delete-archive-matter-type、delete-archive-matter-listener-path」で設定されています。
ログイングループ単位でのリスナーは1個だけ設定できます。
2種類リスナーの実行順は、フローに定義されているリスナーを実行した後に、ログイングループパラメータに指定されているリスナーを実行します。

リスナーの処理が正常に終了した後に、過去案件データベースのデータ削除処理を行います。
対象テーブルは下記になります。下記の順番で各テーブルから該当案件情報の削除処理を行います。
テーブル名に含まれている「yyyymm」はアーカイブ年月(yyyyMM)です。
・imw_ayyyymm_matter_user_data
・imw_ayyyymm_matter
・imw_ayyyymm_matter_locale
・imw_ayyyymm_matter_attach_file
・imw_ayyyymm_matter_auth_user
・imw_ayyyymm_matter_task
・imw_ayyyymm_matter_confirm
※過去案件の削除処理では、未完了案件とは違い、ユーザデータ「imw_ayyyymm_matter_user_data」の削除処理を行います。

データベースの削除処理が正常に終了した後に、削除した過去案件の履歴ファイルを作成します。
標準の設定の場合、削除履歴ファイルは下記に格納されます。
※{%StorageService%}/storage/workflow/data/{%ログイングループID%}/delete_log/yyyymmdd/archived/{%システム案件ID%}.xml
「yyyymmdd」は削除処理を実行した日付になります。申請基準日ではありません。

履歴ファイルの作成まで正常に終了した後、最後に過去案件のトランザクションファイルデータを削除します。

過去案件を月単位で、まとめて削除する場合は、「deleteArcMatterTargetYearMonth(String)」を利用してください。
ただし、上のメソッドで過去案件を削除する場合には、過去案件削除リスナーが実行されません。

処理中の未完了案件を削除するには、「deleteActvMatter(String)」を利用してください。
完了案件を削除するには、「deleteCplMatter(String)」を利用してください。

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

パラメータ:
systemMatterId - システム案件ID
archiveMonth - アーカイブ年月(yyyyMM)
例外:
WorkflowException - ワークフロー例外

deleteArcMatterTargetYearMonth

public void deleteArcMatterTargetYearMonth(String archiveMonth)
                                    throws WorkflowException
アーカイブ年月(yyyyMM)の過去案件を全て削除します。

指定したアーカイブ年月(yyyyMM)に該当する過去案件が存在する場合、その全ての案件のデータベースやトランザクションファイルを削除します。
削除処理後に、元に戻すことはできません。

指定したアーカイブ年月(yyyyMM)に該当する過去案件テーブルが存在しない場合は、「WorkflowException」が発生します。
データベースのテーブルの削除や、削除履歴ファイル作成、削除に必要なデータを取得する処理で失敗した場合でも、「WorkflowException」が発生します。

このメソッドでは、過去案件削除リスナーの実行処理は行いません。
過去案件削除リスナーの実行処理とともに、過去案件を削除するには「deleteArcMatter(String, String)」を利用して1件ずつ案件を削除する必要があります。

アーカイブ年月(=申請基準日)に該当するテーブルが存在する場合は、下記の対象テーブルを削除します。
テーブル名に含まれている「yyyymm」はアーカイブ年月(yyyyMM)です。
・imw_ayyyymm_matter_user_data
・imw_ayyyymm_matter
・imw_ayyyymm_matter_locale
・imw_ayyyymm_matter_attach_file
・imw_ayyyymm_matter_auth_user
・imw_ayyyymm_matter_task
・imw_ayyyymm_matter_confirm
※過去案件の削除処理では、未完了案件とは違い、ユーザデータ「imw_ayyyymm_matter_user_data」の削除処理を行います。

データベーステーブルの削除処理が正常に終了した後に、削除した過去案件の履歴ファイルを作成します。
履歴ファイルは案件単位で作成されます。標準の設定の場合、削除履歴ファイルは下記に格納されます。
※{%StorageService%}/storage/workflow/data/{%ログイングループID%}/delete_log/yyyymmdd/archived/{%システム案件ID%}.xml
「yyyymmdd」は削除処理を実行した日付になります。申請基準日ではありません。

履歴ファイルの作成まで正常に終了した後、最後に過去案件のトランザクションファイルデータを削除します。

処理中の未完了案件を削除するには、「deleteActvMatter(String)」を利用してください。
完了案件を削除するには、「deleteCplMatter(String)」を利用してください。

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

パラメータ:
archiveMonth - アーカイブ年月(yyyyMM)
例外:
WorkflowException - ワークフロー例外

IM-Workflow

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