GitHub(nextgroup2706/ken_nogi)は今後使わず自社Gitea運用に切替え。 NodeSrvは旧リポジトリの履歴を破棄しファイルのみ統合(Dokploy用サービスアカウントは 別途mygit-admin/NodeSrv.gitに履歴あり)。notepmエクスポート(12GB)とPleasanter インストーラzip(208MB)はサイズが大きいため.gitignoreで除外。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
4.0 KiB
4.0 KiB
別記資料 スクリプト(Scripts)全文 (28/28)
/*
@config :
@filename : 祝日リスト取得スクリプト.js
@title : 祝日リスト取得スクリプト
@name :
@siteIds :
@siteTitles : 問合せ内容管理
@disabled: false
*/
try {
getHolidayList();
//サイト内に個別設置した独自ボタン(質疑送信・回答送信・質疑回答削除・営業積算確認・受付・外部見積待ちへ・
//社内確認中へ・一部回答・見積回答・問い合わせ不要・差戻し・遅延連絡、いずれも3_03_質疑応答スクリプト.jsの
//clickProcessByNameで対応プロセスを呼び出す)で代替しているプロセスボタンは非表示にする。
//それ以外のプロセスボタンはPleasanter標準の表示制御(Depts・View条件)に委ね、ここでは操作しない
elements.DisplayType('Process_2', 3); //受付
elements.DisplayType('Process_3', 3); //質疑送信
elements.DisplayType('Process_4', 3); //回答送信
elements.DisplayType('Process_5', 3); //質疑回答削除
elements.DisplayType('Process_6', 3); //積算対応中へ(営業積算確認ボタンで代替)
elements.DisplayType('Process_7', 3); //外部見積待ちへ
elements.DisplayType('Process_8', 3); //社内確認中へ
elements.DisplayType('Process_9', 3); //一部回答
elements.DisplayType('Process_10', 3); //見積回答
elements.DisplayType('Process_12', 3); //問い合わせ不要
elements.DisplayType('Process_14', 3); //差戻し
elements.DisplayType('Process_18', 3); //遅延連絡
} catch (error) {
context.Log(error);
}
//祝日判定テーブルの取得(本日時点から手前30日~先60日分をHiddenに格納)
function getHolidayList() {
let today = new Date();
let startDate = new Date();
let endDate = new Date();
//30日前の日付を計算
startDate.setDate(today.getDate() - 30);
//60日後の日付を計算
endDate.setDate(today.getDate() + 60);
let startDateStr = formatDate(startDate) + ' 00:00:00';
let endDateStr = formatDate(endDate) + ' 23:59:59';
let filterDate = '["' + startDateStr + ',' + endDateStr + '"]';
let data = {
'View': {
'ColumnFilterHash': {
'DateA': filterDate,
},
'ColumnSorterHash': {
'DateA': 'asc',
}
}
};
//祝日テーブル(SiteId: 192267)からデータを取得
let results = items.Get(192267, JSON.stringify(data));
context.Log(`取得した祝日の件数: ${results.Length}`);
let holidays = [];
for (let item of results) {
holidays.push(formatDate(new Date(item.DateA)));
}
//取得した祝日日付リストをHiddenに格納
hidden.Add('HolidaysList', JSON.stringify(holidays));
}
//日付をYYYY/MM/DD形式に整形
function formatDate(date) {
return date.getFullYear() + '/' +
(date.getMonth() + 1).toString().padStart(2, '0') + '/' +
date.getDate().toString().padStart(2, '0');
}
serverscripts/2_Dept25所属者取得スクリプト.js.js
/*
@config :
@filename : Dept25所属者取得スクリプト.js
@title : Dept25所属者取得スクリプト
@name :
@siteIds :
@siteTitles : 問合せ内容管理
@disabled: false
*/
try {
getDept25Members();
} catch (error) {
context.Log(error);
}
//Dept25(営業積算課)所属者のUserId→氏名マップを取得しHiddenへ格納する。
//クライアント側resolveUserName()がここから読み込み、表示専用の氏名解決に使う
function getDept25Members() {
let myDept = depts.Get('25');
let map = {};
if (myDept) {
let members = myDept.GetMembers();
for (let m of members) {
map[m.UserId] = m.Name;
}
}
hidden.Add('Dept25Members', JSON.stringify(map));
}