From 6756aa5b884bf82040442cbfef3fd57f06d60fc7 Mon Sep 17 00:00:00 2001 From: Gerhard Hoffmann Date: Sat, 24 Feb 2024 11:07:04 +0100 Subject: [PATCH] Added zone3 - zone6 to szeged --- main/main.cpp | 344 ++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 275 insertions(+), 69 deletions(-) diff --git a/main/main.cpp b/main/main.cpp index 0433984..19b684b 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -656,31 +656,31 @@ int main() { int pop_max_price; int pop_daily_card_price; - for (int zone=3; zone < 4; ++zone) { + for (int zone=6; zone < 7; ++zone) { //for (int t=6; t < 7; t+=20) { switch (zone) { case 1: { - input.open("/opt/ptu5/opt/customer_281/etc/psa_tariff/tariff01.json"); + input.open("/home/linux/customer_281/etc/psa_tariff/tariff01.json"); //pop_max_time = 6*60; } break; case 2: { - input.open("/opt/ptu5/opt/customer_281/etc/psa_tariff/tariff02.json"); + input.open("/home/linux/customer_281/etc/psa_tariff/tariff02.json"); //pop_max_time = 5*60; } break; case 3: { - input.open("/opt/ptu5/opt/customer_281/etc/psa_tariff/tariff03.json"); + input.open("/home/linux/customer_281/etc/psa_tariff/tariff03.json"); //pop_max_time = 6*60; } break; case 4: { - input.open("/opt/ptu5/opt/customer_281/etc/psa_tariff/tariff04.json"); + input.open("/home/linux/customer_281/etc/psa_tariff/tariff04.json"); //pop_max_time = 4*60; } break; case 5: { - input.open("/opt/ptu5/opt/customer_281/etc/psa_tariff/tariff05.json"); + input.open("/home/linux/customer_281/etc/psa_tariff/tariff05.json"); //pop_max_time = 6*60; } break; case 6: { - input.open("/opt/ptu5/opt/customer_281/etc/psa_tariff/tariff06.json"); + input.open("/home/linux/customer_281/etc/psa_tariff/tariff06.json"); //pop_max_time = 4*60; } break; default: @@ -936,72 +936,70 @@ int main() { m.insert(50, 300); m.insert(55, 330); m.insert(60, 360); - m.insert(65, 390); m.insert(70, 420); m.insert(75, 450); m.insert(80, 480); - // hier weiter - m.insert(85, 234); - m.insert(90, 248); - m.insert(95, 262); - m.insert(100, 275); - m.insert(105, 289); - m.insert(110, 303); - m.insert(115, 317); - m.insert(120, 330); + m.insert(85, 510); + m.insert(90, 540); + m.insert(95, 570); + m.insert(100, 600); + m.insert(105, 630); + m.insert(110, 660); + m.insert(115, 690); + m.insert(120, 720); - m.insert(125, 344); - m.insert(130, 358); - m.insert(135, 372); - m.insert(140, 385); - m.insert(145, 399); - m.insert(150, 413); - m.insert(155, 427); - m.insert(160, 440); - m.insert(165, 454); - m.insert(170, 468); - m.insert(175, 482); - m.insert(180, 495); + m.insert(125, 750); + m.insert(130, 780); + m.insert(135, 810); + m.insert(140, 840); + m.insert(145, 870); + m.insert(150, 900); + m.insert(155, 930); + m.insert(160, 960); + m.insert(165, 990); + m.insert(170, 1020); + m.insert(175, 1050); + m.insert(180, 1080); - m.insert(185, 509); - m.insert(190, 523); - m.insert(195, 537); - m.insert(200, 550); - m.insert(205, 564); - m.insert(210, 578); - m.insert(215, 592); - m.insert(220, 605); - m.insert(225, 619); - m.insert(230, 633); - m.insert(235, 647); - m.insert(240, 660); + m.insert(185, 1110); + m.insert(190, 1140); + m.insert(195, 1170); + m.insert(200, 1200); + m.insert(205, 1230); + m.insert(210, 1260); + m.insert(215, 1290); + m.insert(220, 1320); + m.insert(225, 1350); + m.insert(230, 1380); + m.insert(235, 1410); + m.insert(240, 1440); - m.insert(245, 674); - m.insert(250, 688); - m.insert(255, 702); - m.insert(260, 715); - m.insert(265, 729); - m.insert(270, 743); - m.insert(275, 757); - m.insert(280, 770); - m.insert(285, 784); - m.insert(290, 798); - m.insert(295, 812); - m.insert(300, 825); + m.insert(245, 1470); + m.insert(250, 1500); + m.insert(255, 1530); + m.insert(260, 1560); + m.insert(265, 1590); + m.insert(270, 1620); + m.insert(275, 1650); + m.insert(280, 1680); + m.insert(285, 1710); + m.insert(290, 1740); + m.insert(295, 1770); + m.insert(300, 1800); - m.insert(305, 839); - m.insert(310, 853); - m.insert(315, 867); - m.insert(320, 880); - m.insert(325, 894); - m.insert(330, 908); - m.insert(335, 922); - m.insert(340, 935); - m.insert(345, 949); - m.insert(350, 963); - m.insert(355, 977); - m.insert(360, pop_max_price); // 990 + m.insert(305, 1830); + m.insert(310, 1860); + m.insert(315, 1890); + m.insert(320, 1920); + m.insert(325, 1950); + m.insert(330, 1980); + m.insert(335, 2010); + m.insert(340, 2040); + m.insert(345, 2070); + m.insert(350, 2100); + m.insert(355, 2130); + m.insert(360, pop_max_price); // 2160 m.insert(365, pop_max_price); m.insert(370, pop_max_price); @@ -1015,16 +1013,224 @@ int main() { m.insert(410, pop_max_price); m.insert(415, pop_max_price); m.insert(420, pop_max_price); - } else if (zone == 4) { + m.insert(5, pop_min_price); + m.insert(10, pop_min_price); // 163 + m.insert(pop_min_time, pop_min_price); + m.insert(20, 217); + m.insert(25, 271); + m.insert(30, 325); + m.insert(35, 380); + m.insert(40, 434); + m.insert(45, 488); + m.insert(50, 542); + m.insert(55, 596); + m.insert(60, 650); + + m.insert(65, 705); + m.insert(70, 759); + m.insert(75, 813); + m.insert(80, 867); + m.insert(85, 921); + m.insert(90, 975); + m.insert(95, 1030); + m.insert(100, 1084); + m.insert(105, 1138); + m.insert(110, 1192); + m.insert(115, 1246); + m.insert(120, 1300); + + m.insert(125, 1355); + m.insert(130, 1409); + m.insert(135, 1463); + m.insert(140, 1517); + m.insert(145, 1571); + m.insert(150, 1625); + m.insert(155, 1680); + m.insert(160, 1734); + m.insert(165, 1788); + m.insert(170, 1842); + m.insert(175, 1896); + m.insert(180, 1950); + + m.insert(185, 2005); + m.insert(190, 2059); + m.insert(195, 2113); + m.insert(200, 2167); + m.insert(205, 2221); + m.insert(210, 2275); + m.insert(215, 2330); + m.insert(220, 2384); + m.insert(225, 2438); + m.insert(230, 2492); + m.insert(235, 2546); + m.insert(240, pop_max_price); // 2600 + + m.insert(245, pop_max_price); + m.insert(250, pop_max_price); + m.insert(255, pop_max_price); + m.insert(260, pop_max_price); + m.insert(270, pop_max_price); + m.insert(280, pop_max_price); + m.insert(290, pop_max_price); + m.insert(300, pop_max_price); } else if (zone == 5) { + m.insert(5, pop_min_price); + m.insert(10, pop_min_price); // 90 + m.insert(pop_min_time, pop_min_price); + m.insert(20, 120); + m.insert(25, 150); + m.insert(30, 180); + m.insert(35, 210); + m.insert(40, 240); + m.insert(45, 270); + m.insert(50, 300); + m.insert(55, 330); + m.insert(60, 360); + m.insert(65, 390); + m.insert(70, 420); + m.insert(75, 450); + m.insert(80, 480); + m.insert(85, 510); + m.insert(90, 540); + m.insert(95, 570); + m.insert(100, 600); + m.insert(105, 630); + m.insert(110, 660); + m.insert(115, 690); + m.insert(120, 720); + + m.insert(125, 750); + m.insert(130, 780); + m.insert(135, 810); + m.insert(140, 840); + m.insert(145, 870); + m.insert(150, 900); + m.insert(155, 930); + m.insert(160, 960); + m.insert(165, 990); + m.insert(170, 1020); + m.insert(175, 1050); + m.insert(180, 1080); + + m.insert(185, 1110); + m.insert(190, 1140); + m.insert(195, 1170); + m.insert(200, 1200); + m.insert(205, 1230); + m.insert(210, 1260); + m.insert(215, 1290); + m.insert(220, 1320); + m.insert(225, 1350); + m.insert(230, 1380); + m.insert(235, 1410); + m.insert(240, 1440); + + m.insert(245, 1470); + m.insert(250, 1500); + m.insert(255, 1530); + m.insert(260, 1560); + m.insert(265, 1590); + m.insert(270, 1620); + m.insert(275, 1650); + m.insert(280, 1680); + m.insert(285, 1710); + m.insert(290, 1740); + m.insert(295, 1770); + m.insert(300, 1800); + + m.insert(305, 1830); + m.insert(310, 1860); + m.insert(315, 1890); + m.insert(320, 1920); + m.insert(325, 1950); + m.insert(330, 1980); + m.insert(335, 2010); + m.insert(340, 2040); + m.insert(345, 2070); + m.insert(350, 2100); + m.insert(355, 2130); + m.insert(360, pop_max_price); // 2160 + + m.insert(365, pop_max_price); + m.insert(370, pop_max_price); + m.insert(375, pop_max_price); + m.insert(380, pop_max_price); + m.insert(385, pop_max_price); + m.insert(390, pop_max_price); + m.insert(395, pop_max_price); + m.insert(400, pop_max_price); + m.insert(405, pop_max_price); + m.insert(410, pop_max_price); + m.insert(415, pop_max_price); + m.insert(420, pop_max_price); } else if (zone == 6) { + m.insert(5, pop_min_price); + m.insert(10, pop_min_price); // 163 + m.insert(pop_min_time, pop_min_price); + m.insert(20, 217); + m.insert(25, 271); + m.insert(30, 325); + m.insert(35, 380); + m.insert(40, 434); + m.insert(45, 488); + m.insert(50, 542); + m.insert(55, 596); + m.insert(60, 650); + + m.insert(65, 705); + m.insert(70, 759); + m.insert(75, 813); + m.insert(80, 867); + m.insert(85, 921); + m.insert(90, 975); + m.insert(95, 1030); + m.insert(100, 1084); + m.insert(105, 1138); + m.insert(110, 1192); + m.insert(115, 1246); + m.insert(120, 1300); + + m.insert(125, 1355); + m.insert(130, 1409); + m.insert(135, 1463); + m.insert(140, 1517); + m.insert(145, 1571); + m.insert(150, 1625); + m.insert(155, 1680); + m.insert(160, 1734); + m.insert(165, 1788); + m.insert(170, 1842); + m.insert(175, 1896); + m.insert(180, 1950); + + m.insert(185, 2005); + m.insert(190, 2059); + m.insert(195, 2113); + m.insert(200, 2167); + m.insert(205, 2221); + m.insert(210, 2275); + m.insert(215, 2330); + m.insert(220, 2384); + m.insert(225, 2438); + m.insert(230, 2492); + m.insert(235, 2546); + m.insert(240, pop_max_price); // 2600 + + m.insert(245, pop_max_price); + m.insert(250, pop_max_price); + m.insert(255, pop_max_price); + m.insert(260, pop_max_price); + m.insert(270, pop_max_price); + m.insert(280, pop_max_price); + m.insert(290, pop_max_price); + m.insert(300, pop_max_price); } struct price_t price; @@ -1036,8 +1242,8 @@ int main() { if (compute_price_for_parking_ticket(&cfg, start, duration, end, &price)) { double cost = price.netto; - qCritical() << start.toString(Qt::ISODate) << end.toString(Qt::ISODate) - << duration << cost; + //qCritical() << start.toString(Qt::ISODate) << end.toString(Qt::ISODate) + // << duration << cost; //if (cost != m[duration]) { // qCritical() << "ERROR computing_price_for_parking_ticket" @@ -1056,7 +1262,7 @@ int main() { end = QDateTime(); price.netto = 0; - if (zone == 1 || zone == 2) { + if (zone >= 1 && zone <= 6) { if (compute_price_for_daily_ticket(&cfg, start, end, PERMIT_TYPE::DAY_TICKET, &price)) { if (price.netto != pop_daily_card_price) { qCritical() << "ERROR computing_price_for_daily_ticket"