Questetra BPMS: ユーザ, ロール所属を判定 (Questetra BPMS: User, Check Belonging to Role)
指定したユーザが指定したロールに所属していれば「ロール名」を、所属していなければ空を返します。
Configs
  • A1: 所属を確認したいユーザ型データ項目を選択してください
  • A2: 確認対象のロール名を記載してください(複数の場合、カンマ区切り) *#{EL}
  • B1: 所属ロール名が格納される文字型データを指定してください
Script (click to open)


//////// START "main()" /////////////////////////////////////////////////////////////////
main();
function main() {

  //// == Config Retrieving / 工程コンフィグの参照 ==
  const numQuser = configs.get( "conf_Quser" );
  const strRoleNames = configs.get( "conf_Qroles_separating_comma" );
  const numBelongingRoleName = configs.get( "conf_Belonging_Qrole_name" );
  //// == Data Retrieving / ワークフローデータの参照 ==
  const quser = engine.findDataByNumber( numQuser );
  //// == Validation / 入力チェック
  //// == Calculating / 演算 ==
  const arrRoleNames = strRoleNames.split(",");
  const belongRoleObjects = qroleDao.findByQuser( quser );
  let belongingRoleName = "";
  if ( belongRoleObjects !== null){
    for(let i=0; i < arrRoleNames.length; i++){
      engine.log("arrRoleNames[" + i + "] " + arrRoleNames[i]);
      for(let j=0; j < belongRoleObjects.size(); j++){
        engine.log("belongRoleObjects.get(" + j + ") " +  belongRoleObjects.get(j).getName());
        if ( arrRoleNames[i] === belongRoleObjects.get(j).getName()){
          belongingRoleName = belongRoleObjects.get(j).getName();
          break;
        }
      }
      if ( belongingRoleName !== "" ){ break; }
    }
  }
  //// == Data Updating / ワークフローデータへの代入 ==
  engine.setDataByNumber( numBelongingRoleName, new java.lang.String(belongingRoleName) );
} //////// END "main()" /////////////////////////////////////////////////////////////////

Download

2022-10-15 (C) Questetra, Inc. (MIT License)
https://support.questetra.com/ja/addons/questetra-check-belonging-role-202210/
Addonファイルのインポートは Professional でのみご利用いただけます
自由改変可能な JavaScript (ECMAScript) コードです。いかなる保証もありません。

Notes

  • “A2:”設定
    • 複数のロールを指定できます。(カンマ区切り)
      • 所属判定処理:記載されているロールを左から順に判定
      • 所属が確認された時点で、判定処理終了

Capture

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

%d人のブロガーが「いいね」をつけました。