未完了案件・完了案件を全て削除する方法

このCookBookでは、LogicDesignerを利用してワークフローの未完了案件・完了案件を一括削除する方法を紹介します。

開発環境のお掃除に役立つTipsです。
削除した案件は復元することができません。ご注意ください。

完成イメージ


1. サンプルのロジックフローを実行してください。
2. 未完了案件および完了案件が全て削除されます。

完成サンプル

以下の完成サンプルをダウンロードしてご活用ください。

インポート手順の詳細は以下のドキュメントを参照してください。

前提条件

IM-LogicDesigner の操作方法は以下のドキュメントを参照してください。

レシピ

  1. 未完了案件を削除するユーザ定義タスク (JavaScript) を作成する
  2. 完了案件を削除するユーザ定義タスク (JavaScript) を作成する
  3. ロジックフローを作成する
  4. ロジックフローを実行する

1. 未完了案件を削除するユーザ定義タスク (JavaScript) を作成する

IM-LogicDesignerのユーザ定義タスク (JavaScript) を使用して、未完了案件を削除するタスクを作成します。
ユーザ定義タスク (JavaScript) の詳細は以下のドキュメントを参照してください。

未完了案件を削除する処理をスクリプト欄に記載してください。

function run(input) {
  // 未完了案件一覧を取得
  let listManager = new RefActvMatterAdminList();
  let actvMatterList = listManager.getActvMatterList(new ListSearchCondition(), null);

  // 未完了案件を削除
  let deleteManager = new MatterDeleteManager();
  for (let i = 0; i < actvMatterList.data.length; i++) {
    let result = deleteManager.deleteActvMatter(actvMatterList.data[i].systemMatterId);
  }

  // 実行結果をコンソールに出力
  Debug.print("Delete " + actvMatterList.data.length + " actv matters.");
}

スクリプトAPIの詳細は以下のドキュメントを参照してください。

2. 完了案件を削除するユーザ定義タスク (JavaScript) を作成する

IM-LogicDesignerのユーザ定義タスク (JavaScript) を使用して、完了案件を削除するタスクを作成します。

完了案件を削除する処理をスクリプト欄に記載してください。

function run(input) {
  // 完了案件一覧を取得
  let listManager = new RefCplMatterAdminList();
  let cplMatterList = listManager.getCplMatterList(new ListSearchCondition(), null);

  // 完了案件を削除
  let deleteManager = new MatterDeleteManager();
  for (let i = 0; i < cplMatterList.data.length; i++) {
    let result = deleteManager.deleteCplMatter(cplMatterList.data[i].systemMatterId);
  }

  // 実行結果をコンソールに出力
  Debug.print("Delete " + cplMatterList.data.length + " cpl matters.");
}

スクリプトAPIの詳細は以下のドキュメントを参照してください。

3. ロジックフローを作成する

レシピ1およびレシピ2で作成したユーザ定義タスクを配置し、以下のようなフローを作成します。

4. ロジックフローを実行する

レシピ3で作成したロジックフローを実行します。
LogicDesignerのデバッグ機能を利用し、ロジックフローを手軽に実行することができます。

IM-LogicDesigner ユーザ操作ガイド - デバッグの実行を行う

ロジックフローを実行すると、実行結果がコンソールに出力されます。

Delete 7 actv matters.
Delete 10 cpl matters.

以下のログが出力される場合がありますが、案件は問題無く削除できます。

[WARN] j.c.i.f.w.u.WorkflowParameterManager - [] パラメータ定義情報が見つかりません。パラメータ名(delete-active-matter-type)
[WARN] j.c.i.f.w.u.WorkflowParameterManager - [] パラメータ定義情報が見つかりません。パラメータ名(delete-complete-matter-listener-type)

おわりに

以上で、LogicDesignerを利用してワークフローの未完了案件・完了案件を一括削除する方法の紹介は終わりです。
このように、LogicDesignerのユーザ定義タスクを使用すると任意のスクリプトを手軽に実行することができます。
作成した資材の管理や再利用も手軽に行えますので、開発の効率化に是非役立ててください。