X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2FChargingStationUtils.ts;h=09e0b8e420334aaadf0aeb29ca21013fe6fea102;hb=a675e34bb7d1711aace56f6ed8cdb4f91453e39d;hp=78b73647456bdf8568ebf61aaac281e698aad322;hpb=474d4ffcd45d49bb242f51510a28569b00328676;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ChargingStationUtils.ts b/src/charging-station/ChargingStationUtils.ts index 78b73647..09e0b8e4 100644 --- a/src/charging-station/ChargingStationUtils.ts +++ b/src/charging-station/ChargingStationUtils.ts @@ -4,7 +4,7 @@ import { basename, dirname, join } from 'node:path'; import { fileURLToPath } from 'node:url'; import chalk from 'chalk'; -import moment from 'moment'; +import { addSeconds, isAfter } from 'date-fns'; import type { ChargingStation } from './ChargingStation'; import { BaseError } from '../exception'; @@ -661,7 +661,6 @@ const getLimitFromChargingProfiles = ( matchingChargingProfile: ChargingProfile; } | null => { const debugLogMsg = `${logPrefix} ${moduleName}.getLimitFromChargingProfiles: Matching charging profile found for power limitation: %j`; - const currentMoment = moment(); const currentDate = new Date(); for (const chargingProfile of chargingProfiles) { // Set helpers @@ -676,7 +675,7 @@ const getLimitFromChargingProfiles = ( if ( chargingProfile.chargingProfileKind === ChargingProfileKindType.RECURRING && chargingProfile.recurrencyKind === RecurrencyKindType.DAILY && - currentMoment.isAfter(chargingSchedule.startSchedule) + isAfter(currentDate, chargingSchedule.startSchedule!) ) { if (!(chargingSchedule?.startSchedule instanceof Date)) { logger.warn( @@ -690,17 +689,15 @@ const getLimitFromChargingProfiles = ( currentDate.getDate(), ); // Check if the start of the schedule is yesterday - if (moment(chargingSchedule.startSchedule).isAfter(currentMoment)) { + if (isAfter(chargingSchedule.startSchedule, currentDate)) { chargingSchedule.startSchedule.setDate(currentDate.getDate() - 1); } - } else if (moment(chargingSchedule.startSchedule).isAfter(currentMoment)) { + } else if (isAfter(chargingSchedule.startSchedule!, currentDate)) { return null; } // Check if the charging profile is active if ( - moment(chargingSchedule.startSchedule) - .add(chargingSchedule.duration, 's') - .isAfter(currentMoment) + isAfter(addSeconds(chargingSchedule.startSchedule!, chargingSchedule.duration!), currentDate) ) { let lastButOneSchedule: ChargingSchedulePeriod | undefined; // Search the right schedule period @@ -719,9 +716,10 @@ const getLimitFromChargingProfiles = ( } // Find the right schedule period if ( - moment(chargingSchedule.startSchedule) - .add(schedulePeriod.startPeriod, 's') - .isAfter(currentMoment) + isAfter( + addSeconds(chargingSchedule.startSchedule!, schedulePeriod.startPeriod), + currentDate, + ) ) { // Found the schedule: last but one is the correct one const result = {