checkin to test under windows
This commit is contained in:
parent
6f338cc389
commit
899f8ca02b
10
Calculator/main.cpp
Normal file
10
Calculator/main.cpp
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#include <QDebug>
|
||||||
|
|
||||||
|
#include "calculator_c_interface_lib.h"
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
|
||||||
|
qCritical() << "initTariffEditor" << initTariffEditor();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
29
CalculatorCInterface/CalculatorCInterface.pro
Normal file
29
CalculatorCInterface/CalculatorCInterface.pro
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
QT -= gui
|
||||||
|
|
||||||
|
TEMPLATE = lib
|
||||||
|
DEFINES += CACULATOR_C_INTERFACE_LIBRARY
|
||||||
|
|
||||||
|
# INCLUDEPATH+=$$_PRO_FILE_PWD_/../Utilities/
|
||||||
|
|
||||||
|
|
||||||
|
CONFIG += c++17
|
||||||
|
QMAKE_CXX=x86_64-w64-mingw32-g++
|
||||||
|
|
||||||
|
# You can make your code fail to compile if it uses deprecated APIs.
|
||||||
|
# In order to do so, uncomment the following line.
|
||||||
|
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||||
|
|
||||||
|
SOURCES += \
|
||||||
|
calculator_c_interface_lib.cpp \
|
||||||
|
tariff_editor.cpp
|
||||||
|
|
||||||
|
HEADERS += \
|
||||||
|
calculator_c_interface_lib.h \
|
||||||
|
calculator_c_interface_lib_global.h
|
||||||
|
tariff_editor.h
|
||||||
|
|
||||||
|
# Default rules for deployment.
|
||||||
|
unix {
|
||||||
|
target.path = /usr/lib
|
||||||
|
}
|
||||||
|
!isEmpty(target.path): INSTALLS += target
|
18
CalculatorCInterface/calculator_c_interface_lib.cpp
Normal file
18
CalculatorCInterface/calculator_c_interface_lib.cpp
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#include "calculator_c_interface_lib.h"
|
||||||
|
#include "tariff_editor.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
bool CACULATOR_C_INTERFACE_LIB_EXPORT initTariffEditor() {
|
||||||
|
TariffEditor editor;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
20
CalculatorCInterface/calculator_c_interface_lib.h
Normal file
20
CalculatorCInterface/calculator_c_interface_lib.h
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#ifndef CALCULATOR_C_INTERFACE_LIB_H_INCLUDED
|
||||||
|
#define CALCULATOR_C_INTERFACE_LIB_H_INCLUDED
|
||||||
|
|
||||||
|
#include "calculator_c_interface_lib_global.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
bool CACULATOR_C_INTERFACE_LIB_EXPORT initTariffEditor();
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
//{
|
||||||
|
//public:
|
||||||
|
// Testlib();
|
||||||
|
//};
|
||||||
|
|
||||||
|
#endif // CALCULATOR_C_INTERFACE_LIB_H_INCLUDED
|
12
CalculatorCInterface/calculator_c_interface_lib_global.h
Normal file
12
CalculatorCInterface/calculator_c_interface_lib_global.h
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#ifndef CALCULATOR_C_INTERFACE_GLOBAL_H
|
||||||
|
#define CALCULATOR_C_INTERFACE_GLOBAL_H
|
||||||
|
|
||||||
|
#include <QtCore/qglobal.h>
|
||||||
|
|
||||||
|
#if defined(CACULATOR_C_INTERFACE_LIBRARY)
|
||||||
|
#define CACULATOR_C_INTERFACE_LIB_EXPORT Q_DECL_EXPORT
|
||||||
|
#else
|
||||||
|
#define CACULATOR_C_INTERFACE_LIB_EXPORT Q_DECL_IMPORT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // CALCULATOR_C_INTERFACE_GLOBAL_H
|
423
CalculatorCInterface/tariff_editor.cpp
Normal file
423
CalculatorCInterface/tariff_editor.cpp
Normal file
@ -0,0 +1,423 @@
|
|||||||
|
#include "tariff_editor.h"
|
||||||
|
|
||||||
|
#include <QDebug>
|
||||||
|
#include <QFile>
|
||||||
|
#include <QTextStream>
|
||||||
|
#include <QDateTime>
|
||||||
|
#include <QJsonDocument>
|
||||||
|
#include <QJsonParseError>
|
||||||
|
#include <QJsonArray>
|
||||||
|
#include <QJsonObject>
|
||||||
|
#include <QJsonValue>
|
||||||
|
|
||||||
|
QByteArray TariffEditor::readJson(QString const &filename) {
|
||||||
|
QFile f(filename);
|
||||||
|
if (f.exists()) {
|
||||||
|
if (f.open(QFile::ReadOnly | QFile::Text)) {
|
||||||
|
QTextStream in(&f);
|
||||||
|
return in.readAll().toUtf8();
|
||||||
|
} else {
|
||||||
|
qCritical() << filename << "not readable";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
qCritical() << filename << "does not exist";
|
||||||
|
}
|
||||||
|
|
||||||
|
return QByteArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
TariffEditor::TariffEditor() {
|
||||||
|
|
||||||
|
// QByteArray ba = readJson("/opt/ptu5/opt/ATBTariffCalculator/Utilities/tariff.template.json");
|
||||||
|
|
||||||
|
//QJsonParseError pe;
|
||||||
|
//m_jsonDoc = QJsonDocument::fromJson(ba, &pe);
|
||||||
|
//if (pe.error == QJsonParseError::NoError) {
|
||||||
|
// qCritical().noquote() << m_jsonDoc.toJson(QJsonDocument::JsonFormat::Indented);
|
||||||
|
//} else {
|
||||||
|
// qCritical() << __func__ << pe.errorString();
|
||||||
|
//
|
||||||
|
//}
|
||||||
|
|
||||||
|
m_a = QJsonArray();
|
||||||
|
createJsonValue("Project", "Szeged");
|
||||||
|
createJsonValue("Version", "1.0.0");
|
||||||
|
createJsonValue("Date", "01.01.1970");
|
||||||
|
createJsonValue("Committer", "");
|
||||||
|
createJsonValue("Info", "");
|
||||||
|
createJsonValue("Products");
|
||||||
|
createJsonValue("Accuracy");
|
||||||
|
createJsonValue("Type");
|
||||||
|
createJsonValue("Price");
|
||||||
|
createJsonValue("Config");
|
||||||
|
createJsonValue("TimeRanges");
|
||||||
|
createJsonValue("Periods");
|
||||||
|
createJsonValue("DayConfigs");
|
||||||
|
createJsonValue("Days");
|
||||||
|
|
||||||
|
m_jsonDoc.setArray(m_a);
|
||||||
|
qCritical().noquote() << m_jsonDoc.toJson(QJsonDocument::JsonFormat::Indented);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TariffEditor::createJsonValue(QString const &key, QString const &value) {
|
||||||
|
|
||||||
|
if ((key.compare("Project", Qt::CaseInsensitive) == 0)
|
||||||
|
|| (key.compare("Version", Qt::CaseInsensitive) == 0)
|
||||||
|
|| (key.compare("Date", Qt::CaseInsensitive) == 0)
|
||||||
|
|| (key.compare("Committer", Qt::CaseInsensitive) == 0)
|
||||||
|
|| (key.compare("Info", Qt::CaseInsensitive) == 0)) {
|
||||||
|
m_a.push_back(QJsonValue({QPair(key, QJsonValue(value))}));
|
||||||
|
} else
|
||||||
|
if (key.compare("Accuracy", Qt::CaseInsensitive) == 0) {
|
||||||
|
QJsonObject o({
|
||||||
|
QPair(QString("accuracy_id"), QJsonValue(1)),
|
||||||
|
QPair(QString("accuracy_label"), QJsonValue(QString("computation-to-the-minute"))),
|
||||||
|
QPair(QString("accuracy_value"), QJsonValue(1)),
|
||||||
|
QPair(QString("comment"), QJsonValue(QString("accuracy of tariff computation is individual minutes")))});
|
||||||
|
|
||||||
|
m_a.push_back(QJsonObject({QPair(key, QJsonValue(o))}));
|
||||||
|
} else
|
||||||
|
if (key.compare("Type", Qt::CaseInsensitive) == 0) {
|
||||||
|
QJsonObject o({
|
||||||
|
QPair(QString("type_id"), QJsonValue(1)),
|
||||||
|
QPair(QString("type_label"), QJsonValue(QString("uniform-minutes"))),
|
||||||
|
QPair(QString("comment"), QJsonValue(QString("same price for all minutes")))});
|
||||||
|
|
||||||
|
m_a.push_back(QJsonObject({QPair(key, QJsonValue(o))}));
|
||||||
|
} else
|
||||||
|
if (key.compare("Price", Qt::CaseInsensitive) == 0) {
|
||||||
|
QJsonObject o1({
|
||||||
|
QPair(QString("price_id"), QJsonValue(1)),
|
||||||
|
QPair(QString("price"), QJsonValue(165)),
|
||||||
|
QPair(QString("editable"), QJsonValue(true)),
|
||||||
|
QPair(QString("comment"), QJsonValue(QString("price per hour as provided by customer")))});
|
||||||
|
|
||||||
|
QJsonObject o2({
|
||||||
|
QPair(QString("price_id"), QJsonValue(2)),
|
||||||
|
QPair(QString("price"), QJsonValue(990)),
|
||||||
|
QPair(QString("editable"), QJsonValue(true)),
|
||||||
|
QPair(QString("comment"), QJsonValue(QString("price for dayticket as provided by customer")))});
|
||||||
|
|
||||||
|
QJsonArray a;
|
||||||
|
a.push_back(o1);
|
||||||
|
a.push_back(o2);
|
||||||
|
|
||||||
|
m_a.push_back(QJsonObject({QPair(key, QJsonValue(a))}));
|
||||||
|
} else
|
||||||
|
if (key.compare("Config", Qt::CaseInsensitive) == 0) {
|
||||||
|
QJsonObject o1({
|
||||||
|
QPair(QString("value"), QJsonValue(15)),
|
||||||
|
QPair(QString("editable"), QJsonValue(true)),
|
||||||
|
QPair(QString("comment"), QJsonValue(QString("minimal parking time in minutes (net)")))});
|
||||||
|
|
||||||
|
QJsonObject o2({
|
||||||
|
QPair(QString("value"), QJsonValue(360)),
|
||||||
|
QPair(QString("editable"), QJsonValue(true)),
|
||||||
|
QPair(QString("comment"), QJsonValue(QString("maximal parking time in minutes (net)")))});
|
||||||
|
|
||||||
|
QJsonObject o3({
|
||||||
|
QPair(QString("value"), QJsonValue(1)),
|
||||||
|
QPair(QString("comment"), QJsonValue(QString("price-id of customer entered price (for hour) expressed in minimal time: 15*(165/60) = 41.25")))});
|
||||||
|
|
||||||
|
QJsonObject o4({
|
||||||
|
QPair(QString("value"), QJsonValue(1)),
|
||||||
|
QPair(QString("comment"), QJsonValue(QString("price-id of customer entered price (for hour) expressed in maximal time: 360*(165/60) = 990")))});
|
||||||
|
|
||||||
|
QJsonObject o5({
|
||||||
|
QPair(QString("comment"), QJsonValue(QString("general tariff config"))),
|
||||||
|
QPair(QString("config_id"), QJsonValue(1)),
|
||||||
|
QPair(QString("config_label"), QJsonValue("Tariff Config 1")),
|
||||||
|
QPair(QString("config_tariff_accuracy"), QJsonValue(1)),
|
||||||
|
QPair(QString("config_tariff_type"), QJsonValue(1)),
|
||||||
|
QPair(QString("config_carry_over"), QJsonValue(true)),
|
||||||
|
QPair(QString("config_prepaid"), QJsonValue(true)),
|
||||||
|
QPair(QString("MinimalTime"), QJsonValue(o1)),
|
||||||
|
QPair(QString("MaximalTime"), QJsonValue(o2)),
|
||||||
|
QPair(QString("MinimalPrice"), QJsonValue(o3)),
|
||||||
|
QPair(QString("MinimalPrice"), QJsonValue(o4))});
|
||||||
|
|
||||||
|
m_a.push_back(QJsonObject({QPair(key, QJsonValue(o5))}));
|
||||||
|
} else
|
||||||
|
if (key.compare("Products", Qt::CaseInsensitive) == 0) {
|
||||||
|
QJsonObject o1({
|
||||||
|
QPair(QString("product_id"), QJsonValue(1)),
|
||||||
|
QPair(QString("product_price_id"), QJsonValue(1)),
|
||||||
|
QPair(QString("product_label"), QJsonValue(QString("SHORT_TIME_PARKING")))});
|
||||||
|
|
||||||
|
QJsonObject o2({
|
||||||
|
QPair(QString("product_id"), QJsonValue(2)),
|
||||||
|
QPair(QString("product_price_id"), QJsonValue(2)),
|
||||||
|
QPair(QString("product_time_ranges"), QJsonArray({QJsonValue(100001)})),
|
||||||
|
QPair(QString("product_label"), QJsonValue(QString("DAY_TICKET")))});
|
||||||
|
|
||||||
|
QJsonArray a;
|
||||||
|
a.push_back(o1);
|
||||||
|
a.push_back(o2);
|
||||||
|
|
||||||
|
m_a.push_back(QJsonObject({QPair(key, QJsonValue(a))}));
|
||||||
|
} else
|
||||||
|
if (key.compare("TimeRanges", Qt::CaseInsensitive) == 0) {
|
||||||
|
QJsonObject o1({
|
||||||
|
QPair(QString("range_id"), QJsonValue(1)),
|
||||||
|
QPair(QString("range_price_id"), QJsonValue(0)),
|
||||||
|
QPair(QString("range_start"), QJsonValue(QString("00:00:00"))),
|
||||||
|
QPair(QString("range_end"), QJsonValue(QString("00:00:00"))),
|
||||||
|
QPair(QString("comment"), QJsonValue(QString("[ 00:00-00:00 [ = [ 00:00-24:00 [")))});
|
||||||
|
|
||||||
|
QJsonObject o2({
|
||||||
|
QPair(QString("range_id"), QJsonValue(1)),
|
||||||
|
QPair(QString("range_price_id"), QJsonValue(1)),
|
||||||
|
QPair(QString("range_start"), QJsonValue(QString("00:00:00"))),
|
||||||
|
QPair(QString("range_end"), QJsonValue(QString("08:00:00"))),
|
||||||
|
QPair(QString("comment"), QJsonValue(QString("[ 00:00-08:00 [")))});
|
||||||
|
|
||||||
|
QJsonObject o3({
|
||||||
|
QPair(QString("range_id"), QJsonValue(1)),
|
||||||
|
QPair(QString("range_price_id"), QJsonValue(2)),
|
||||||
|
QPair(QString("range_start"), QJsonValue(QString("18:00:00"))),
|
||||||
|
QPair(QString("range_end"), QJsonValue(QString("00:00:00"))),
|
||||||
|
QPair(QString("comment"), QJsonValue(QString("[ 18:00-00:00 [")))});
|
||||||
|
|
||||||
|
QJsonObject o4({
|
||||||
|
QPair(QString("range_id"), QJsonValue(1)),
|
||||||
|
QPair(QString("range_price_id"), QJsonValue(3)),
|
||||||
|
QPair(QString("range_start"), QJsonValue(QString("12:00:00"))),
|
||||||
|
QPair(QString("range_end"), QJsonValue(QString("00:00:00"))),
|
||||||
|
QPair(QString("comment"), QJsonValue(QString("[ 12:00-00:00 [")))});
|
||||||
|
|
||||||
|
QJsonArray a;
|
||||||
|
a.push_back(o1);
|
||||||
|
a.push_back(o2);
|
||||||
|
a.push_back(o3);
|
||||||
|
a.push_back(o4);
|
||||||
|
|
||||||
|
QTime const t(8,0,0);
|
||||||
|
QJsonArray b;
|
||||||
|
for (int i=0; i<600; ++i) {
|
||||||
|
|
||||||
|
QTime const &start = t.addSecs(i*60);
|
||||||
|
QTime const &end = t.addSecs((i+1)*60);
|
||||||
|
|
||||||
|
QJsonObject o({
|
||||||
|
QPair(QString("range_id"), QJsonValue(i)),
|
||||||
|
QPair(QString("range_price_id"), QJsonValue(0)),
|
||||||
|
QPair(QString("range_start"), QJsonValue(start.toString(Qt::ISODate))),
|
||||||
|
QPair(QString("range_end"), QJsonValue(end.toString(Qt::ISODate)))});
|
||||||
|
|
||||||
|
b.push_back(o);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.push_back(b);
|
||||||
|
m_a.push_back(QJsonObject({QPair(key, QJsonValue(a))}));
|
||||||
|
} else
|
||||||
|
if (key.compare("Periods", Qt::CaseInsensitive) == 0) {
|
||||||
|
QJsonObject o1({
|
||||||
|
QPair(QString("period_id"), QJsonValue(1)),
|
||||||
|
QPair(QString("period_label"), QJsonValue("1st quarter")),
|
||||||
|
QPair(QString("period_from"), QJsonValue(QString("1970-01-01"))),
|
||||||
|
QPair(QString("period_until"), QJsonValue(QString("1970-03-31")))});
|
||||||
|
|
||||||
|
QJsonObject o2({
|
||||||
|
QPair(QString("period_id"), QJsonValue(2)),
|
||||||
|
QPair(QString("period_label"), QJsonValue("2nd quarter")),
|
||||||
|
QPair(QString("period_from"), QJsonValue(QString("1970-04-01"))),
|
||||||
|
QPair(QString("period_until"), QJsonValue(QString("1970-06-30")))});
|
||||||
|
|
||||||
|
QJsonObject o3({
|
||||||
|
QPair(QString("period_id"), QJsonValue(3)),
|
||||||
|
QPair(QString("period_label"), QJsonValue("3rd quarter")),
|
||||||
|
QPair(QString("period_from"), QJsonValue(QString("1970-07-01"))),
|
||||||
|
QPair(QString("period_until"), QJsonValue(QString("1970-09-30")))});
|
||||||
|
|
||||||
|
QJsonObject o4({
|
||||||
|
QPair(QString("period_id"), QJsonValue(4)),
|
||||||
|
QPair(QString("period_label"), QJsonValue("4th quarter")),
|
||||||
|
QPair(QString("period_from"), QJsonValue(QString("1970-10-01"))),
|
||||||
|
QPair(QString("period_until"), QJsonValue(QString("1970-12-31")))});
|
||||||
|
|
||||||
|
QJsonObject o5({
|
||||||
|
QPair(QString("period_id"), QJsonValue(5)),
|
||||||
|
QPair(QString("period_label"), QJsonValue("1st half-year")),
|
||||||
|
QPair(QString("period_from"), QJsonValue(QString("1970-01-01"))),
|
||||||
|
QPair(QString("period_until"), QJsonValue(QString("1970-06-30")))});
|
||||||
|
|
||||||
|
QJsonObject o6({
|
||||||
|
QPair(QString("period_id"), QJsonValue(6)),
|
||||||
|
QPair(QString("period_label"), QJsonValue("2nd half-year")),
|
||||||
|
QPair(QString("period_from"), QJsonValue(QString("1970-07-01"))),
|
||||||
|
QPair(QString("period_until"), QJsonValue(QString("1970-12-31")))});
|
||||||
|
|
||||||
|
QJsonArray a;
|
||||||
|
a.push_back(o1);
|
||||||
|
a.push_back(o2);
|
||||||
|
a.push_back(o3);
|
||||||
|
a.push_back(o4);
|
||||||
|
a.push_back(o5);
|
||||||
|
a.push_back(o6);
|
||||||
|
|
||||||
|
m_a.push_back(QJsonObject({QPair(key, QJsonValue(a))}));
|
||||||
|
} else
|
||||||
|
if (key.compare("DayConfigs", Qt::CaseInsensitive) == 0) {
|
||||||
|
|
||||||
|
QJsonArray b;
|
||||||
|
b.push_back(QJsonValue(100002));
|
||||||
|
for (int i=0; i<600; ++i) {
|
||||||
|
b.push_back(QJsonValue(i));
|
||||||
|
}
|
||||||
|
b.push_back(QJsonValue(100003));
|
||||||
|
|
||||||
|
QJsonArray c;
|
||||||
|
c.push_back(QJsonValue(100001));
|
||||||
|
|
||||||
|
QJsonObject o1({
|
||||||
|
QPair(QString("day_config_id"), QJsonValue(1)),
|
||||||
|
QPair(QString("day_config_range"), QJsonValue(6)),
|
||||||
|
QPair(QString("day_config_product_ids"), QJsonArray({QJsonValue(0), QJsonValue(1)})),
|
||||||
|
QPair(QString("day_config_short_time_parking"), b),
|
||||||
|
QPair(QString("day_config_day_ticket"), c)});
|
||||||
|
|
||||||
|
QJsonObject o2({QPair(QString("DayConfig_1"), QJsonValue(o1))});
|
||||||
|
|
||||||
|
QJsonObject o3({
|
||||||
|
QPair(QString("day_config_id"), QJsonValue(2)),
|
||||||
|
QPair(QString("day_config_range"), QJsonValue(6)),
|
||||||
|
QPair(QString("day_config_product_ids"), QJsonArray({QJsonValue(1)})),
|
||||||
|
QPair(QString("day_config_day_ticket"), c)});
|
||||||
|
|
||||||
|
QJsonObject o4({QPair(QString("DayConfig_2"), QJsonValue(o3))});
|
||||||
|
|
||||||
|
QJsonArray a;
|
||||||
|
a.push_back(o2);
|
||||||
|
a.push_back(o4);
|
||||||
|
|
||||||
|
m_a.push_back(QJsonObject({QPair(key, QJsonValue(a))}));
|
||||||
|
} else
|
||||||
|
if (key.compare("Days", Qt::CaseInsensitive) == 0) {
|
||||||
|
QJsonArray b;
|
||||||
|
for (int i=1; i < 8; ++i) {
|
||||||
|
QJsonObject o1({
|
||||||
|
QPair(QString("day_id"), QJsonValue(1)),
|
||||||
|
QPair(QString("day_config_id"), QJsonValue(0))});
|
||||||
|
|
||||||
|
switch(i) {
|
||||||
|
case Qt::Monday: {
|
||||||
|
QJsonObject o2({QPair(QString("Mon"), QJsonValue(o1))});
|
||||||
|
b.push_back(o2);
|
||||||
|
} break;
|
||||||
|
case Qt::Tuesday: {
|
||||||
|
QJsonObject o2({QPair(QString("Tue"), QJsonValue(o1))});
|
||||||
|
b.push_back(o2);
|
||||||
|
} break;
|
||||||
|
case Qt::Wednesday: {
|
||||||
|
QJsonObject o2({QPair(QString("Wed"), QJsonValue(o1))});
|
||||||
|
b.push_back(o2);
|
||||||
|
} break;
|
||||||
|
case Qt::Thursday: {
|
||||||
|
QJsonObject o2({QPair(QString("Thu"), QJsonValue(o1))});
|
||||||
|
b.push_back(o2);
|
||||||
|
} break;
|
||||||
|
case Qt::Friday: {
|
||||||
|
QJsonObject o2({QPair(QString("Fri"), QJsonValue(o1))});
|
||||||
|
b.push_back(o2);
|
||||||
|
} break;
|
||||||
|
case Qt::Saturday: {
|
||||||
|
QJsonObject o2({QPair(QString("Sat"), QJsonValue(o1))});
|
||||||
|
b.push_back(o2);
|
||||||
|
} break;
|
||||||
|
case Qt::Sunday: {
|
||||||
|
QJsonObject o2({QPair(QString("Sun"), QJsonValue(o1))});
|
||||||
|
b.push_back(o2);
|
||||||
|
} break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QJsonArray c;
|
||||||
|
QJsonObject o1({
|
||||||
|
QPair(QString("day_id"), QJsonValue(1)),
|
||||||
|
QPair(QString("day_config_id"), QJsonValue(1)),
|
||||||
|
QPair(QString("day_date"), QJsonValue(QString("2024-12-25"))),
|
||||||
|
QPair(QString("day_movable"), QJsonValue(false))});
|
||||||
|
QJsonObject o2({
|
||||||
|
QPair(QString("day_id"), QJsonValue(2)),
|
||||||
|
QPair(QString("day_config_id"), QJsonValue(1)),
|
||||||
|
QPair(QString("day_date"), QJsonValue(QString("2024-12-26"))),
|
||||||
|
QPair(QString("day_movable"), QJsonValue(false))});
|
||||||
|
c.push_back(o1);
|
||||||
|
c.push_back(o2);
|
||||||
|
|
||||||
|
QJsonObject o3({QPair(QString("Weekdays"), b),
|
||||||
|
QPair(QString("Holidays"), c)});
|
||||||
|
|
||||||
|
//"Christmas_1st_day": {
|
||||||
|
// "day_id": 8,
|
||||||
|
// "day_config_id": 1,
|
||||||
|
// "day_date": "2024-12-25",
|
||||||
|
// "day_moveable": false
|
||||||
|
//},
|
||||||
|
//"Christmas_2nd_day": {
|
||||||
|
// "day_id": 9,
|
||||||
|
// "day_config_id": 1,
|
||||||
|
// "day_date": "2024-12-26",
|
||||||
|
// "day_moveable": false
|
||||||
|
//}
|
||||||
|
|
||||||
|
m_a.push_back(QJsonObject({QPair(key, QJsonValue(o3))}));
|
||||||
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
|
||||||
|
"TariffDays": [
|
||||||
|
"Mon": {
|
||||||
|
"day_id": 1,
|
||||||
|
"day_config_id": 0
|
||||||
|
},
|
||||||
|
"Tue": {
|
||||||
|
"day_id": 2,
|
||||||
|
"day_config_id": 0
|
||||||
|
},
|
||||||
|
"Wed": {
|
||||||
|
"day_id": 3,
|
||||||
|
"day_config_id": 0
|
||||||
|
},
|
||||||
|
"Thu": {
|
||||||
|
"day_id": 4,
|
||||||
|
"day_config_id": 0
|
||||||
|
},
|
||||||
|
"Fri": {
|
||||||
|
"day_id": 5,
|
||||||
|
"day_config_id": 0
|
||||||
|
},
|
||||||
|
"Sat": {
|
||||||
|
"day_id": 6,
|
||||||
|
"day_config_id": 0
|
||||||
|
},
|
||||||
|
"Sun": {
|
||||||
|
"day_id": 7,
|
||||||
|
"day_config_id": 0
|
||||||
|
},
|
||||||
|
"Christmas_1st_day": {
|
||||||
|
"day_id": 8,
|
||||||
|
"day_config_id": 1,
|
||||||
|
"day_date": "2024-12-25",
|
||||||
|
"day_moveable": false
|
||||||
|
},
|
||||||
|
"Christmas_2nd_day": {
|
||||||
|
"day_id": 9,
|
||||||
|
"day_config_id": 1,
|
||||||
|
"day_date": "2024-12-26",
|
||||||
|
"day_moveable": false
|
||||||
|
}
|
||||||
|
// usw. die anderen Feiertage un
|
||||||
|
|
||||||
|
"DayConfig_1": {
|
||||||
|
"day_config_id": 0,
|
||||||
|
"day_config_date_range": 6,
|
||||||
|
"comment_1": "day config is valid for the whole year",
|
||||||
|
"day_config_product_ids": [0, 1],
|
||||||
|
"comment_2": "short-time-parking or day-ticket on this day",
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
}
|
20
CalculatorCInterface/tariff_editor.h
Normal file
20
CalculatorCInterface/tariff_editor.h
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#ifndef TARIFF_EDITOR_H_INCLUDED
|
||||||
|
#define TARIFF_EDITOR_H_INCLUDED
|
||||||
|
|
||||||
|
#include <QByteArray>
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
|
#include <QJsonDocument>
|
||||||
|
#include <QJsonArray>
|
||||||
|
|
||||||
|
class TariffEditor {
|
||||||
|
QJsonArray m_a;
|
||||||
|
QJsonDocument m_jsonDoc;
|
||||||
|
void createJsonValue(QString const &key, QString const &value = "");
|
||||||
|
public:
|
||||||
|
explicit TariffEditor();
|
||||||
|
|
||||||
|
static QByteArray readJson(QString const &filename);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // TARIFF_EDITOR_H_INCLUDED
|
Loading…
Reference in New Issue
Block a user