日付フィールドの選択した月日から日単位で採番をリセットできるよう
改良したいです。ご教授いただけないでしょうか。
(function(){
'use strict';
kintone.events.on([
// レコード保存実行前イベント(「保存」をクリックした時)
'app.record.create.submit',
// 'app.record.edit.show',
], function(event){
// GETのパラメータ
const body = {
// 当月中の最新レコードから一つ前
'app':event.appId,
'query': '作成日時 = TODAY() and 計量機No in ("' + event.record.計量機No.value + '") order by 作成日時 desc limit 1'
};
// kintone.Promiseを使用した同期的処理
return kintone.api(kintone.api.url('/k/v1/records.json', true),'GET', body).then(function(resp){
const records = resp.records;
const rec = records[0];
var autono = '';
// 日付のフォーマット関数
function dateToStr(date) {
return date.getFullYear() + ('0' + (date.getMonth() + 1)).slice(-2) + ('0' + (date.getDate())).slice(-2);
}
if (event.record.計量機No.value == "手詰め"){
var keiryouki = 0;
}
else {
var keiryouki = event.record.計量機No.value;
}
// 当月のレコードが存在する場合の処理
if (records.length > 0){
autono = rec['連番'].value.slice(-4);
autono = ('000'+(Number(autono)+1)).slice(-4);
autono = dateToStr(new Date()) +"-"+ keiryouki +"-"+ autono;
}
// 当月のレコードが存在しない場合(月初のレコードの場合)の処理
else {
autono = dateToStr(new Date())+ "-"+ keiryouki +'-0001';
}
// autonoをフィールドに入れる
if (event.record.計量機No.value == "手詰め") event.record.連番.value = autono;
if (event.record.計量機No.value == 1) event.record.連番.value = autono;
if (event.record.計量機No.value == 2) event.record.連番.value = autono;
if (event.record.計量機No.value == 3) event.record.連番.value = autono;
if (event.record.計量機No.value == 4) event.record.連番.value = autono;
if (event.record.計量機No.value == 5) event.record.連番.value = autono;
return event;
});
});
}) ();