From e5323243d50831f64b4ca42f7aa028378bb0611a Mon Sep 17 00:00:00 2001 From: hnouts <hnouts@grandlyon.com> Date: Wed, 11 Jan 2023 18:05:11 +0100 Subject: [PATCH] quick fix ? --- src/services/queryRunner.service.ts | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/services/queryRunner.service.ts b/src/services/queryRunner.service.ts index 044708f40..f4dd66206 100644 --- a/src/services/queryRunner.service.ts +++ b/src/services/queryRunner.service.ts @@ -111,24 +111,33 @@ export default class QueryRunner { timePeriod: TimePeriod, timeStep: TimeStep ) { - // increase timeperiod range because the last data for a day is actually stored the next day at 00:00 - if (timeStep === TimeStep.HALF_AN_HOUR) { - timePeriod.startDate = timePeriod.startDate.plus({ minutes: 30 }) - timePeriod.endDate = timePeriod.endDate.plus({ minutes: 30 }) - } - const filteredResult = data.data.filter((entry: any) => - this.withinDateBoundaries( + const filterData = ( + entry: any, + timeStep: TimeStep, + timePeriod: TimePeriod + ) => { + const hour = timeStep === TimeStep.HALF_AN_HOUR ? entry.hour : 0 + const min = timeStep === TimeStep.HALF_AN_HOUR ? entry.minute : 0 + if (timeStep === TimeStep.HALF_AN_HOUR) { + // increase timeperiod range because the last data for a day is actually stored the next day at 00:00 + timePeriod.startDate = timePeriod.startDate.plus({ minutes: 30 }) + timePeriod.endDate = timePeriod.endDate.plus({ minutes: 30 }) + } + return this.withinDateBoundaries( DateTime.local( entry.year, entry.month || 1, entry.day || 1, - entry.hour, - entry.minute + hour, + min ).setZone('utc', { keepLocalTime: true, }), timePeriod ) + } + const filteredResult = data.data.filter((entry: any) => + filterData(entry, timeStep, timePeriod) ) return filteredResult } -- GitLab