勤怠申請入力(内勤者用)の修正

This commit is contained in:
2026-03-02 17:22:15 +08:00
parent d42c3eaaa8
commit 73d5457e60

View File

@@ -53,7 +53,8 @@
setHiddenTableRowButton(); setHiddenTableRowButton();
pvc.util.ui.showSpinner(); pvc.util.ui.showSpinner();
return getSystemControlRecord() var userCode = record.氏名.value.length > 0 ? record.氏名.value[0].code : "";
return getSystemControlRecord(userCode)
.then(function (systemRecord) { .then(function (systemRecord) {
pvc.util.ui.hideSpinner(); pvc.util.ui.hideSpinner();
if (systemRecord != null) { if (systemRecord != null) {
@@ -720,16 +721,44 @@
/** /**
* システムコントロールのレコードを取得します。 * システムコントロールのレコードを取得します。
* @param {string} userCode - ユーザーコード(氏名.コード)
* @returns {Promise<kintone.AppRecord__システムコントロール | null>} * @returns {Promise<kintone.AppRecord__システムコントロール | null>}
*/ */
function getSystemControlRecord() { function getSystemControlRecord(userCode) {
// ステップ1: SIGNATURE_MASTERアプリからユーザーの勤務パターンNOを取得
return new KintoneRestAPIClient().record
.getRecords({
app: pvc.env.app.SIGNATURE_MASTER.appId,
query: pvc.util.kintone.makeQuery("担当者 in ((@担当者))", {
担当者: userCode,
}),
fields: ["$id", "担当者", "勤務パターンNO"],
})
.then(function (resp) {
// ステップ2: 勤務パターンNOを取得、不存在または未設定の場合は"1"とする
var patternNo = "1";
if (resp.records.length > 0) {
var signatureRecord = resp.records[0];
if (
signatureRecord.勤務パターンNO != null &&
signatureRecord.勤務パターンNO.value != null &&
signatureRecord.勤務パターンNO.value !== ""
) {
patternNo = signatureRecord.勤務パターンNO.value;
}
}
// ステップ3: システムコントロールからパターンNO等于勤務パターンNO的记录を取得
return new KintoneRestAPIClient().record return new KintoneRestAPIClient().record
.getRecords({ .getRecords({
app: pvc.env.app.システムコントロール.appId, app: pvc.env.app.システムコントロール.appId,
query: "limit 1", query: pvc.util.kintone.makeQuery("パターンNO in ((@パターンNO))", {
パターンNO: patternNo,
}),
}) })
.then(function (resp) { .then(function (systemResp) {
return resp.records.length > 0 ? resp.records[0] : null; return systemResp.records.length > 0 ? systemResp.records[0] : null;
});
}); });
} }