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
Related