diff --git a/src/services/consumptionFormatter.service.ts b/src/services/consumptionFormatter.service.ts index 66030e7ce6a4c75ad023e4eb86e6e764b2e37aae..36c32a784e0f51da74ccb45ed2279132b19a8b54 100644 --- a/src/services/consumptionFormatter.service.ts +++ b/src/services/consumptionFormatter.service.ts @@ -21,12 +21,11 @@ export default class ConsumptionFormatterService { const filledData = [] let parsingDate = timePeriod.startDate let endDate = timePeriod.endDate - if (timeStep === 10) { + if (timeStep === TimeStep.HALF_AN_HOUR) { parsingDate = parsingDate.minus({ minutes: 30 }) endDate = endDate.minus({ minutes: 30 }) } const dateChartService = new DateChartService() - // TODO KO while (parsingDate <= endDate) { const filtereddata = data.filter(dt => dateChartService.compareStepDate(timeStep, dt.date, parsingDate) diff --git a/src/services/queryRunner.service.ts b/src/services/queryRunner.service.ts index d58685b8574cbe00dee4d5633a1c167be66a6609..5e41da6a5bf3909530299ad155132fd18cc3d1f5 100644 --- a/src/services/queryRunner.service.ts +++ b/src/services/queryRunner.service.ts @@ -108,6 +108,7 @@ export default class QueryRunner { } private filterDataList(data: any, timePeriod: TimePeriod) { + // increase the data timeperiod because the last data for a day is actually stored the next day (00:00) if (timePeriod.endDate.day === timePeriod.startDate.day) { timePeriod.startDate = timePeriod.startDate.plus({ minutes: 30 }) timePeriod.endDate = timePeriod.endDate.plus({ minutes: 30 }) @@ -115,8 +116,8 @@ export default class QueryRunner { this.withinDateBoundaries( DateTime.local( entry.year, - entry.month === 0 ? 1 : entry.month, - entry.day === 0 ? 1 : entry.day, + entry.month || 1, + entry.day || 1, entry.hour, entry.minute ).setZone('utc', { @@ -129,13 +130,12 @@ export default class QueryRunner { } else { const filteredResult = data.data.filter((entry: any) => this.withinDateBoundaries( - DateTime.local( - entry.year, - entry.month === 0 ? 1 : entry.month, - entry.day === 0 ? 1 : entry.day - ).setZone('utc', { - keepLocalTime: true, - }), + DateTime.local(entry.year, entry.month || 1, entry.day || 1).setZone( + 'utc', + { + keepLocalTime: true, + } + ), timePeriod ) ) @@ -144,12 +144,13 @@ export default class QueryRunner { } private mapDataList(data: any, timeStep?: TimeStep): Dataload[] { - if (timeStep && timeStep === 10) { + // set back every half hour data at -30 minutes so it is displayed as 23:30 instead of 00:00 etc.. + if (timeStep === TimeStep.HALF_AN_HOUR) { const test = data.map((entry: any) => ({ date: DateTime.local( entry.year, - entry.month == 0 ? 1 : entry.month, - entry.day === 0 ? 1 : entry.day, + entry.month || 1, + entry.day || 1, entry.hour, entry.minute ) @@ -167,8 +168,8 @@ export default class QueryRunner { const mappedResult = data.map((entry: any) => ({ date: DateTime.local( entry.year, - entry.month == 0 ? 1 : entry.month, - entry.day === 0 ? 1 : entry.day, + entry.month || 1, + entry.day || 1, entry.hour, entry.minute ).setZone('utc', { @@ -237,7 +238,6 @@ export default class QueryRunner { $eq: timePeriod.startDate.month, }, day: { - // $eq: timePeriod.startDate.day, // has to cover 2 days since it finished at 00.00 $in: [timePeriod.startDate.day, timePeriod.startDate.day + 1], }, } @@ -451,7 +451,7 @@ export default class QueryRunner { return DateTime.local( result.data[0].year, result.data[0].month, - result.data[0].day === 0 ? 1 : result.data[0].day, + result.data[0].day || 1, result.data[0].hour || 0, result.data[0].minute || 0 ).setZone('utc', { @@ -479,7 +479,7 @@ export default class QueryRunner { return DateTime.local( result.data[0].year, result.data[0].month, - result.data[0].day === 0 ? 1 : result.data[0].day, + result.data[0].day || 1, result.data[0].hour || 0, result.data[0].minute || 0 ).setZone('utc', {