diff --git a/src/server/routes/mileage/targets.ts b/src/server/routes/mileage/targets.ts index 93dc128..890346c 100644 --- a/src/server/routes/mileage/targets.ts +++ b/src/server/routes/mileage/targets.ts @@ -192,6 +192,10 @@ app.get('/', async (c) => { } cutoffMileageMapByDate.set(date, map); } + const currentMileageMap = new Map(); + for (const vehicle of await queryDateMileage(todayStr)) { + if (vehicle.totalKm != null) currentMileageMap.set(vehicle.plate, vehicle.totalKm); + } const yearlyMetricMap = new Map { const key = `${row.target_id}-${year}`; const goal = annualMileage * year; const endDate = addYearsMinusOneDay(row.assessment_start_date, year); - const cutoffMap = endDate < todayStr ? cutoffMileageMapByDate.get(endDate) : undefined; + const cutoffMap = endDate < todayStr ? cutoffMileageMapByDate.get(endDate) : currentMileageMap; const mileageAtCutoff = Math.max(0, cutoffMap?.get(row.plate_number) ?? (Number(row.current_mileage) || 0)); const completed = Math.min(mileageAtCutoff, goal); const draft = yearlyMetricDraftMap.get(key) || {