From d45feb1aa01eb0db04185d2fee08b4cf248746ab Mon Sep 17 00:00:00 2001 From: Nicolas Drolet Date: Tue, 9 Sep 2025 08:21:27 -0400 Subject: [PATCH] fix(payperiod): add type to payload. --- .../services/pay-periods-query.service.ts | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/modules/pay-periods/services/pay-periods-query.service.ts b/src/modules/pay-periods/services/pay-periods-query.service.ts index f0f306a..d5ac7ad 100644 --- a/src/modules/pay-periods/services/pay-periods-query.service.ts +++ b/src/modules/pay-periods/services/pay-periods-query.service.ts @@ -161,7 +161,9 @@ export class PayPeriodsQueryService { } }, }, }, - bank_code: { select: { categorie: true } }, + bank_code: { select: { + type: true, + categorie: true } }, }, }); @@ -184,7 +186,10 @@ export class PayPeriodsQueryService { } }, } }, } }, - bank_code: { select: { categorie: true, modifier: true } }, + bank_code: { select: { + type: true, + categorie: true, + modifier: true } }, }, }); @@ -230,13 +235,14 @@ export class PayPeriodsQueryService { const record = ensure(employee.id, name, employee.user.email); const hours = computeHours(shift.start_time, shift.end_time); - const categorie = (shift.bank_code?.categorie || "REGULAR").toUpperCase(); - switch (categorie) { + const type = (shift.bank_code?.type).toUpperCase(); + switch (type) { case "EVENING": record.evening_hours += hours; break; case "EMERGENCY": record.emergency_hours += hours; break; case "OVERTIME": record.overtime_hours += hours; break; - default: record.regular_hours += hours; break; + case "REGULAR": record.regular_hours += hours; break; } + record.is_approved = record.is_approved && shift.timesheet.is_approved; } @@ -248,10 +254,10 @@ export class PayPeriodsQueryService { const amount = toMoney(expense.amount); record.expenses += amount; - const categorie = (expense.bank_code?.categorie || "").toUpperCase(); + const type = (expense.bank_code?.type || "").toUpperCase(); const rate = expense.bank_code?.modifier ?? 0; - if (categorie === "MILEAGE" && rate > 0) { - record.mileage += amount / rate; + if (type === "MILEAGE" && rate > 0) { + record.mileage += Math.round((amount / rate) * 100) / 100; } record.is_approved = record.is_approved && expense.timesheet.is_approved; }