【intra-mart】【SQL】案件番号から現在の処理対象者を確認するSQL | 株式会社アースリンク

Engineer Blog開発者ブログ

2021.8.30

【intra-mart】【SQL】案件番号から現在の処理対象者を確認するSQL

今回ご紹介するのは、IM-WorkFlow既存のテーブルより案件番号から”処理対象者”を取得する方法になります。

承認ノードの対象条件が”組織”や”ロール”で設定されている場合、対象ユーザを確認するのに便利です。

主要となるのは以下のテーブルになります。
 ・IMW_T_ACTV_MATTER      (未完了案件テーブル)
 ・IMW_T_ACTV_TASK       (未完了案件未完了タスクテーブル)
 ・IMW_T_ACTV_EXECUTABLE_USER (未完了案件タスク処理対象者テーブル)
 ・IMW_T_ACTV_USER_ORGZ    (未完了案件タスク権限者組織)

■実行SQL  ・案件番号から現在の処理対象者を確認するSQL

SELECT
  A.SYSTEM_MATTER_ID    AS "システム案件ID"
  , A.MATTER_NUMBER     AS "案件番号"
  , A.MATTER_NAME       AS "案件名"
  , B.NODE_ID           AS "ノードID"
  , B.NODE_NAME         AS "ノード名"
  , B.STATUS            AS "ステータス"
  , D.AUTH_USER_CODE    AS "処理対象ユーザID"
  , D.AUTH_USER_NAME    AS "処理対象ユーザ名"
  , E.AUTH_COMPANY_CODE AS "処理対象の会社コード"
  , E.AUTH_ORGZ_CODE    AS "処理対象の組織コード"
  , E.AUTH_COMPANY_NAME AS "処理対象の会社名"
  , E.AUTH_ORGZ_NAME    AS "処理対象の組織名"
FROM
  IMW_T_ACTV_MATTER A 
  INNER JOIN IMW_T_ACTV_TASK B 
    ON A.SYSTEM_MATTER_ID = B.SYSTEM_MATTER_ID 
  LEFT OUTER JOIN IMW_T_ACTV_EXECUTABLE_USER D 
    ON B.SYSTEM_MATTER_ID = D.SYSTEM_MATTER_ID 
    AND B.NODE_ID = D.NODE_ID
  INNER JOIN IMW_T_ACTV_USER_ORGZ E
    ON  D.SYSTEM_MATTER_ID = E.SYSTEM_MATTER_ID 
    AND D.NODE_ID = E.NODE_ID
    AND D.AUTH_USER_CODE = E.AUTH_USER_CODE
    AND D.LOCALE_ID = E.LOCALE_ID
    AND E.LOCALE_ID = 'ja'
WHERE
  A.SYSTEM_MATTER_ID LIKE '%%'  -- 検索条件:案件番号

このSQLは、IM-WorkFlow既存機能、『処理対象者状況確認』画面に出力しているユーザ名一覧と
ほぼ同様の情報を出力できる構築となっています。
なので、承認処理後に次の処理者を確認する際、いくつも画面を開かなくて済むので、
テスト時などには便利に使用できると思います。

今回はこれまで。
それではまた。。。(^^)/~~

Contact
お問い合わせ

電話番号0120 - 889 - 236

受付時間:平日 9:00-18:00