apply pattern when username change
This commit is contained in:
@@ -53,15 +53,9 @@
|
||||
setHiddenTableRowButton();
|
||||
|
||||
pvc.util.ui.showSpinner();
|
||||
var userCode = record.氏名.value.length > 0 ? record.氏名.value[0].code : "";
|
||||
return getSystemControlRecord(userCode)
|
||||
.then(function (systemRecord) {
|
||||
return fetchAndSetSystemControlInfo(record)
|
||||
.then(function () {
|
||||
pvc.util.ui.hideSpinner();
|
||||
if (systemRecord != null) {
|
||||
setSystemControlField(systemRecord, record);
|
||||
setSystemInfo(record);
|
||||
}
|
||||
|
||||
return event;
|
||||
})
|
||||
.catch(function (error) {
|
||||
@@ -90,39 +84,42 @@
|
||||
) {
|
||||
const record = event.record;
|
||||
const sinseiNengetu = pvc.util.obj.toNumber(record.申請年月.value) || 0;
|
||||
|
||||
// 既存の申請年月変更時の処理を継続
|
||||
if (isNengetuNum(sinseiNengetu) && record.氏名.value.length > 0) {
|
||||
kintone.Promise.resolve().then(function () {
|
||||
pvc.util.ui.showSpinner();
|
||||
pvc.util.ui.showSpinner();
|
||||
// 「氏名」変更時にシステムコントロールの情報を取得
|
||||
fetchAndSetSystemControlInfo(record)
|
||||
.then(function () {
|
||||
/** @type {{ record: kintone.AppRecord__勤怠申請入力_内勤者用 }} */
|
||||
const r = kintone.app.record.get();
|
||||
return existsDuplicateData(r.record)
|
||||
.then(function (isExists) {
|
||||
if (isExists) {
|
||||
// 重複するデータが既に存在する場合
|
||||
alert("既に登録済です。");
|
||||
return;
|
||||
}
|
||||
|
||||
/** @type {{ record: kintone.AppRecord__勤怠申請入力_内勤者用 }} */
|
||||
const r = kintone.app.record.get();
|
||||
return existsDuplicateData(r.record)
|
||||
.then(function (isExists) {
|
||||
if (isExists) {
|
||||
// 重複するデータが既に存在する場合
|
||||
alert("既に登録済です。");
|
||||
return;
|
||||
}
|
||||
// 就業届テーブルにデータを作成
|
||||
return setSyuugyouTodokeTable(r.record).then(function () {
|
||||
// 使用不可を設定
|
||||
setDisabledField(r.record);
|
||||
|
||||
// 就業届テーブルにデータを作成
|
||||
return setSyuugyouTodokeTable(r.record).then(function () {
|
||||
// 使用不可を設定
|
||||
setDisabledField(r.record);
|
||||
|
||||
// レコードに値を設定
|
||||
kintone.app.record.set(r);
|
||||
});
|
||||
})
|
||||
.then(function () {
|
||||
// スピナーを非表示
|
||||
pvc.util.ui.hideSpinner();
|
||||
})
|
||||
.catch(function (error) {
|
||||
pvc.util.ui.hideSpinner();
|
||||
console.error(error);
|
||||
alert("システムエラーが発生しました");
|
||||
});
|
||||
});
|
||||
// レコードに値を設定
|
||||
kintone.app.record.set(r);
|
||||
});
|
||||
})
|
||||
})
|
||||
.then(function () {
|
||||
// スピナーを非表示
|
||||
pvc.util.ui.hideSpinner();
|
||||
})
|
||||
.catch(function (error) {
|
||||
pvc.util.ui.hideSpinner();
|
||||
console.error(error);
|
||||
alert("システムエラーが発生しました");
|
||||
});
|
||||
}
|
||||
return event;
|
||||
}
|
||||
@@ -719,6 +716,21 @@
|
||||
return strValue.length === 6 && 1 <= mm && mm <= 12;
|
||||
}
|
||||
|
||||
/**
|
||||
* 指定されたユーザーコードのシステムコントロール情報を取得してフィールドに設定します。
|
||||
* @param {kintone.AppRecord__勤怠申請入力_内勤者用} record
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
function fetchAndSetSystemControlInfo(record) {
|
||||
var userCode = record.氏名.value.length > 0 ? record.氏名.value[0].code : "";
|
||||
return getSystemControlRecord(userCode).then(function (systemRecord) {
|
||||
if (systemRecord != null) {
|
||||
setSystemControlField(systemRecord, record);
|
||||
setSystemInfo(record);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* システムコントロールのレコードを取得します。
|
||||
* @param {string} userCode - ユーザーコード(氏名.コード)
|
||||
|
||||
Reference in New Issue
Block a user