From e12216e6bc4c99adb07dd87562be64327336c72d Mon Sep 17 00:00:00 2001 From: hsueh chiahao Date: Mon, 2 Mar 2026 16:24:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8B=A4=E6=80=A0=E7=94=B3=E8=AB=8B=E5=85=A5?= =?UTF-8?q?=E5=8A=9B=EF=BC=88=E5=86=85=E5=8B=A4=E8=80=85=E7=94=A8=EF=BC=89?= =?UTF-8?q?=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 勤怠申請入力(内勤者用)/pvc-desktop-main.js | 39 +++++++++++++++++--- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/勤怠申請入力(内勤者用)/pvc-desktop-main.js b/勤怠申請入力(内勤者用)/pvc-desktop-main.js index f3e4d58..fff7f25 100644 --- a/勤怠申請入力(内勤者用)/pvc-desktop-main.js +++ b/勤怠申請入力(内勤者用)/pvc-desktop-main.js @@ -53,7 +53,8 @@ setHiddenTableRowButton(); pvc.util.ui.showSpinner(); - return getSystemControlRecord() + var userCode = record.氏名.value.length > 0 ? record.氏名.value[0].code : ""; + return getSystemControlRecord(userCode) .then(function (systemRecord) { pvc.util.ui.hideSpinner(); if (systemRecord != null) { @@ -720,16 +721,44 @@ /** * システムコントロールのレコードを取得します。 + * @param {string} userCode - ユーザーコード(氏名.コード) * @returns {Promise} */ - function getSystemControlRecord() { + function getSystemControlRecord(userCode) { + // ステップ1: SIGNATURE_MASTERアプリからユーザーの勤務パターンNOを取得 return new KintoneRestAPIClient().record .getRecords({ - app: pvc.env.app.システムコントロール.appId, - query: "limit 1", + app: pvc.env.app.SIGNATURE_MASTER.appId, + query: pvc.util.kintone.makeQuery("担当者 in ((@担当者))", { + 担当者: userCode, + }), + fields: ["$id", "担当者", "勤務パターンNO"], }) .then(function (resp) { - return resp.records.length > 0 ? resp.records[0] : null; + // ステップ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 + .getRecords({ + app: pvc.env.app.システムコントロール.appId, + query: pvc.util.kintone.makeQuery("パターンNO in ((@パターンNO))", { + パターンNO: patternNo, + }), + }) + .then(function (systemResp) { + return systemResp.records.length > 0 ? systemResp.records[0] : null; + }); }); }