From 533c8be5517a4ec0f3f35e19096eaccc04a3f697 Mon Sep 17 00:00:00 2001 From: lauracosta Date: Thu, 8 Feb 2024 11:10:50 +0100 Subject: [PATCH] check hourly dates are valid --- .../pointStatisticsWidget.cpp | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/pointStatisticsWidget/pointStatisticsWidget.cpp b/pointStatisticsWidget/pointStatisticsWidget.cpp index 52b939974..035d4a2c6 100644 --- a/pointStatisticsWidget/pointStatisticsWidget.cpp +++ b/pointStatisticsWidget/pointStatisticsWidget.cpp @@ -65,8 +65,14 @@ Crit3DPointStatisticsWidget::Crit3DPointStatisticsWidget(bool isGrid, Crit3DMete if (this->meteoPoints[n].id == jointStationsMyMp[j].toStdString()) { jointStationsSelected.addItem(QString::fromStdString(this->meteoPoints[n].id)+" "+QString::fromStdString(this->meteoPoints[n].name)); - meteoPointsDbHandler->loadDailyData(getCrit3DDate(firstDaily), getCrit3DDate(lastDaily), &(this->meteoPoints[n])); - meteoPointsDbHandler->loadHourlyData(getCrit3DDate(firstHourly.date()), getCrit3DDate(lastHourly.date()), &(this->meteoPoints[n])); + if (firstDaily.isValid() && lastDaily.isValid()) + { + meteoPointsDbHandler->loadDailyData(getCrit3DDate(firstDaily), getCrit3DDate(lastDaily), &(this->meteoPoints[n])); + } + if (firstHourly.isValid() && lastHourly.isValid()) + { + meteoPointsDbHandler->loadHourlyData(getCrit3DDate(firstHourly.date()), getCrit3DDate(lastHourly.date()), &(this->meteoPoints[n])); + } break; } } @@ -1810,8 +1816,14 @@ void Crit3DPointStatisticsWidget::addStationClicked() QDateTime firstHourly = meteoPointsDbHandler->getFirstDate(hourly, newId); QDateTime lastHourly = meteoPointsDbHandler->getLastDate(hourly, newId); - meteoPointsDbHandler->loadDailyData(getCrit3DDate(firstDaily), getCrit3DDate(lastDaily), &meteoPoints[indexMp]); - meteoPointsDbHandler->loadHourlyData(getCrit3DDate(firstHourly.date()), getCrit3DDate(lastHourly.date()), &meteoPoints[indexMp]); + if (firstDaily.isValid() && lastDaily.isValid()) + { + meteoPointsDbHandler->loadDailyData(getCrit3DDate(firstDaily), getCrit3DDate(lastDaily), &meteoPoints[indexMp]); + } + if (firstHourly.isValid() && lastHourly.isValid()) + { + meteoPointsDbHandler->loadHourlyData(getCrit3DDate(firstHourly.date()), getCrit3DDate(lastHourly.date()), &meteoPoints[indexMp]); + } updateYears(); }