2
0
Эх сурвалжийг харах

Fixed Currency Widget

Now uses julian days instead of stringified ISO-Dates
Felix Turowsky 1 жил өмнө
parent
commit
d061078705

+ 9 - 8
src/functions/statistics.cpp

@@ -35,21 +35,21 @@ int OPL::Statistics::totalTime(TimeFrame time_frame)
         break;
     case TimeFrame::CalendarYear:
         start.setDate(QDate::currentDate().year(), 1, 1);
-        start_date = start.toString(Qt::ISODate);
+        start_date = QString::number(start.toJulianDay());
         start_date.append(QLatin1Char('\''));
         start_date.prepend(QLatin1Char('\''));
         statement = QLatin1String("SELECT SUM(tblk) FROM flights WHERE doft >= ") + start_date;
         break;
     case TimeFrame::Rolling12Months:
         start = QDate::fromJulianDay(QDate::currentDate().toJulianDay() - 365);
-        start_date = start.toString(Qt::ISODate);
+        start_date = QString::number(start.toJulianDay());
         start_date.append(QLatin1Char('\''));
         start_date.prepend(QLatin1Char('\''));
         statement = QLatin1String("SELECT SUM(tblk) FROM flights WHERE doft >= ") + start_date;
         break;
     case TimeFrame::Rolling28Days:
         start = QDate::fromJulianDay(QDate::currentDate().toJulianDay() - 28);
-        start_date = start.toString(Qt::ISODate);
+        start_date = QString::number(start.toJulianDay());
         start_date.append(QLatin1Char('\''));
         start_date.prepend(QLatin1Char('\''));
         statement = QLatin1String("SELECT SUM(tblk) FROM flights WHERE doft >= ") + start_date;
@@ -72,16 +72,17 @@ int OPL::Statistics::totalTime(TimeFrame time_frame)
  */
 QVector<QVariant> OPL::Statistics::countTakeOffLanding(int days)
 {
-    QDate start = QDate::fromJulianDay(QDate::currentDate().toJulianDay() - days);
-    QString startdate = start.toString(Qt::ISODate);
-    startdate.append(QLatin1Char('\''));
-    startdate.prepend(QLatin1Char('\''));
+    QString startDate = QString::number(QDate::fromJulianDay(QDate::currentDate().toJulianDay() - days).toJulianDay());
+
+    // QString startdate = start.toString(Qt::ISODate);
+    startDate.append(QLatin1Char('\''));
+    startDate.prepend(QLatin1Char('\''));
 
     QString statement = QLatin1String("SELECT "
                                       " SUM(IFNULL(flights.toDay,0) + IFNULL(flights.toNight,0)) AS 'TO', "
                                       " SUM(IFNULL(flights.ldgDay,0) + IFNULL(flights.ldgNight,0)) AS 'LDG' "
                                       " FROM flights "
-                                      " WHERE doft >=") + startdate;
+                                      " WHERE doft >=") + startDate;
 
     QVector<QVariant> result = DB->customQuery(statement, 2);
     // make sure a value is returned instead of NULL

+ 1 - 3
src/gui/widgets/currencywidget.cpp

@@ -23,9 +23,6 @@ CurrencyWidget::CurrencyWidget(QWidget *parent)
     fillFlightTimeLimitations();
 
     warnAboutExpiries();
-
-    // warn the user about impending currencies if warning threshold > 0
-
 }
 
 void CurrencyWidget::setupModelAndView()
@@ -124,6 +121,7 @@ void CurrencyWidget::setupUI()
 void CurrencyWidget::fillTakeOffAndLandingCurrencies()
 {
     const auto takeoff_landings = OPL::Statistics::countTakeOffLanding();
+    LOG << "Currencies: " << takeoff_landings;
     if(takeoff_landings.isEmpty() || takeoff_landings.size() != 2)
         return;
 

+ 1 - 1
src/gui/widgets/homewidget.h

@@ -18,12 +18,12 @@
 #ifndef HOMEWIDGET_H
 #define HOMEWIDGET_H
 
+#include "src/opl.h"
 #include <QWidget>
 #include <QStackedLayout>
 #include <QLabel>
 #include <QLineEdit>
 #include <QSettings>
-#include "src/database/database.h"
 
 namespace Ui {
 class HomeWidget;