ken_nogi/pleasanter/develop/★MSS/★マスターシート/sites/serverscripts/汎用ユーザーリスト取得スクリプト.js
Kenichiro NOGI 5ecf58a26e 20250718
2025-07-18 17:20:15 +09:00

109 lines
2.9 KiB
JavaScript

/*
@config : next999.json
@filename : ${psFileBasename}
@title : 汎用ユーザーリスト取得スクリプト
@name :汎用ユーザーリスト取得スクリプト
@siteIds : 189112
@siteTitles : ★マスターシート
@disabled: false
*/
try {
//context.Log('汎用ユーザーリスト取得スクリプトを実行します。');
//getUserList();
//自分のデータの取得取得
//getMyData();
//店舗リストの取得
getTenpoList()
} catch (error) {
context.Log(error);
}
function getUserList() {
//---------------------------------------------------------------------
group = groups.Get(27); //全従業員グループ27
let userList = {};
//ユーザー情報を取得してリストを作成
for (let member of group.GetMembers()) {
//ユーザー情報情報取得
let user = users.Get(member.UserId);
let dept = depts.Get(user.DeptId);
let deptName = dept ? dept.DeptName : '';
let rows = extendedSql.ExecuteTable('GetUserMailAddresses', '{"OwnerId": ' + user.UserId + '}');
let mailAddrs = [];
for (let row of rows) {
//context.Log(row.MailAddress);
mailAddrs.push(row.MailAddress);
}
let mailAddrStr = mailAddrs.length > 0 ? mailAddrs.join(',') : '';
userList[user.UserId] = {
userId: user.UserId,
name: user.Name,
deptId: user.DeptId,
deptName: deptName,
mailAddresses: mailAddrStr,
}
}
//context.Log(`ユーザーリスト: ${JSON.stringify(userList)}`);
// ユーザーリストをHTML隠し要素に出力
hidden.Add('userList', JSON.stringify(userList));
}
function getMyData() {
//context.Log($ps.JSON.stringify(model));
}
function getTenpoList() {
let data = {
"View": {
"ColumnSorterHash": {
"ClassI": "asc",
"Title": "asc",
}
}
}
let results = items.Get(96243, JSON.stringify(data));
context.Log(`取得した店舗の件数: ${results.Length}`);
if (results.Length === 0) {
context.Log('店舗データが見つかりませんでした。1');
return;
}
let tenpoList = []
for (let item of results) {
let QRFile = '';
let QRGuid = '';
for (let file of item.AttachmentsA) {
//context.Log(`添付ファイル名: ${file.Name}`);
QRFile = file.Name;
QRGuid = file.Guid;
}
tenpoList.push({
'ResultId': item.ResultId,
'ShopName0': item.Title,
'ShopName': item.ClassT,
'QRFile': QRFile,
'QRGuid': QRGuid,
});
}
//取得したメッセージデータをhiddenに格納
if (tenpoList.length > 0) {
hidden.Add('tenpoList', JSON.stringify(tenpoList));
} else {
context.Log('店舗データが見つかりませんでした。2');
}
}