//////// START "main()" /////////////////////////////////////////////////////////////////
main();
function main() {
//// == Config Retrieving / 工程コンフィグの参照 ==
//// == Data Retrieving / ワークフローデータの参照 ==
//// == Validation / 入力チェック
const conf_qgroupId = configs.get( "conf_QgroupId" );
const conf_qgroup = configs.getObject( "conf_Qgroup" );
const conf_Qusers_separating_newline = configs.getObject( "conf_Qusers_separating_newline" );
const conf_Qusers_separating_comma = configs.getObject( "conf_Qusers_separating_comma" );
const strIsLeaderOnly = configs.get("conf_IsGetLeaderOnly");
//// == Calculating / 演算 ==
let qGroup = null;
if ( conf_qgroupId !== null && conf_qgroupId !== "") {
qGroup = qgroupDao.findById( new java.lang.Long(conf_qgroupId) );
} else if (conf_qgroup !== null) {
qGroup = engine.findData( conf_qgroup );
}
if (qGroup === null){
engine.log("No organization specified.");
return;
}
let qUsers;
if ( strIsLeaderOnly === "true"){
engine.log("Get Leader Only.");
qUsers = quserDao.findByQgroupAndPosition( qGroup , true);
}else{
engine.log("Get All Staff/Leader.");
qUsers = quserDao.findByQgroup( qGroup );
}
let qUsersList = "";
let qUsersListByComma = "";
for(var i=0; i < qUsers.size(); i++){
qUsersList += qUsers.get(i).getEmail() + "\n";
qUsersListByComma += qUsers.get(i).getEmail() + ",";
}
qUsersList = qUsersList.replace(/\n$/,"");
qUsersListByComma = qUsersListByComma.replace(/\,$/,"");
engine.log("qUsersList: " + qUsersList);
engine.log("qUsersListByComma:" + qUsersListByComma + "");
//// == Data Updating / ワークフローデータへの代入 ==
if ( conf_Qusers_separating_newline !== null ){
engine.setData( conf_Qusers_separating_newline, new java.lang.String(qUsersList) );
}
if ( conf_Qusers_separating_comma !== null ){
engine.setData( conf_Qusers_separating_comma, new java.lang.String(qUsersListByComma) );
}
} //////// END "main()" /////////////////////////////////////////////////////////////////