diff --git a/src/time-and-attendance/time-tracker/shifts/services/shifts-upsert.service.ts b/src/time-and-attendance/time-tracker/shifts/services/shifts-upsert.service.ts index f2c5bd0..52884c7 100644 --- a/src/time-and-attendance/time-tracker/shifts/services/shifts-upsert.service.ts +++ b/src/time-and-attendance/time-tracker/shifts/services/shifts-upsert.service.ts @@ -187,8 +187,23 @@ export class ShiftsUpsertService { select: shift_select, }); - existing.push({ start_time: row.start_time, end_time: row.end_time }); - existing_map.set(map_key, existing); + const normalizeHHmm = (value: Date) => toHHmmFromString(toStringFromHHmm(value)); + + for (const { timesheet_id, day, key } of timesheet_keys) { + const day_date = new Date(day); + existing.push({ + start_time: normalizeHHmm(row.start_time), + end_time: normalizeHHmm(row.end_time) + }); + existing_map.set( + key, + existing.map(row => ({ + start_time: normalizeHHmm(row.start_time), + end_time: normalizeHHmm(row.end_time), + })), + ); + } + const {type: bank_type} = await this.typeResolver.findTypeByBankCodeId(row.bank_code_id); const summary = await this.overtime.getWeekOvertimeSummary(timesheet_id, normed.date, tx);