お世話になります。
困っている件が多いので、こちらでまたご迷惑おかけします。
勤務時間を入力するアプリを作成しています。
勤務時間自と勤務時間至の時間計算をし、「残業時間合計」、22時以降は「深夜残業時間合計」が算出されるようにしています。
ここに曜日が「土」「日」「祝日」を選択した場合、「残業時間合計」ではなく「休日出勤時間合計」に値が入るように条件処理を入れたいです。
(休日でも深夜時間は同様に「深夜残業時間合計」に入る)
現在は以下のスクリプトを組んだのですが、ここにどのような処理を入れれば実現できるでしょうか。
(function() {
“use strict”;
kintone.events.on([
‘app.record.create.change.勤務時間自’, ‘app.record.edit.change.勤務時間自’,
‘app.record.create.change.勤務時間至’, ‘app.record.edit.change.勤務時間至’,
], function (event){
var sum = [0, 0, 0];
var period = [0, 5, 9, 17.5, 22, 24];
var arrival = new Date(event.record.勤務時間自.value);
var leaving = new Date(event.record.勤務時間至.value);
var time = (leaving.getTime() - arrival.getTime()) / 1000 / 60 / 60;
var start = arrival.getHours() + arrival.getMinutes() / 60;
while(time > 0){
if(start >= period[4]){
sum[2] += Math.min(period[5]-start, time);
time -= Math.min(period[5]-start, time);
start = period[0];
}else if(start >= period[3]){
sum[1] += Math.min(period[4]-start, time);
time -= Math.min(period[4]-start, time);
start = period[4];
}else if(start >= period[2]){
sum[0] += Math.min(period[3]-start, time);
time -= Math.min(period[3]-start, time);
start = period[3];
}else if(start >= period[1]){
sum[1] += Math.min(period[2]-start, time);
time -= Math.min(period[2]-start, time);
start = period[2];
}else{
sum[2] += Math.min(period[1]-start, time);
time -= Math.min(period[1]-start, time);
start = period[1];
}
}
event.record.残業時間合計.value = sum[1];
event.record.深夜残業時間合計.value = sum[2];
return event;
});
})();