Commit Graph

183 Commits

Author SHA1 Message Date
GerhardHoffmann c7623429d9 Compute end_parking_time using "netto_parking_time", which is the
current timestep.
2024-04-25 15:41:52 +02:00
GerhardHoffmann b596086245 Pass paymentOptionIndex to cfg->getPaymentOptions(), which has
a default parameter of paymentOptionIndex=0.
2024-04-24 13:20:02 +02:00
GerhardHoffmann 24ca857b6f Fix: init m_timeSteps-vector in case its size is 0: m_timeSteps.push_back(QList<int>()).
Detected during testing.
2024-04-24 13:18:23 +02:00
GerhardHoffmann ea0bcde413 Check iterator for it != cfg->TimeRange.cend(). 2024-04-24 13:16:22 +02:00
GerhardHoffmann d07fdd8540 GetPriceForTimeStep(): use parameter paymentOptionIndex. 2024-04-19 13:33:54 +02:00
GerhardHoffmann 1fab458de3 Implement isParkingAllowedForWeekDay(), isParkingAllowedForSpecialDay()
and isParkingAllowed() (4 parameters) using the 2 functions.
2024-04-19 13:32:24 +02:00
GerhardHoffmann 1ac2ca91c5 GetCostFromDuration(): use new parameter paymentOptionIndex. 2024-04-19 13:31:01 +02:00
GerhardHoffmann 1852f552a3 compute_price_for_parking_ticket(): compute paymentOptionIndex.
(a tariff-file can conatin more than one payment options).
2024-04-19 13:28:35 +02:00
GerhardHoffmann e2c02420f0 Add parsing for new values in helper-structures.
NOTE: unfortunately switched to Unix-File-Format.
2024-04-19 13:26:33 +02:00
GerhardHoffmann e20eb93abf Implement SpecialDaysWorkTimeFrom() and SpecialDaysWorkTimeUntil().
Extend getBusinessHours() to include new enum-values.
Implement isDayIncluded() as switch-case on dayOfWeek.
Implement dumpBusinessHours().
2024-04-19 13:21:38 +02:00
GerhardHoffmann b70094abb5 Extend compute_product_price() for use of PERMIT_TYPE::DAY_TICKET.
First time used for Neuhauder-Pernegg-an-der-Mur.
2024-04-16 12:10:34 +02:00
GerhardHoffmann cd159f2bbd Add case for BusinessHours::NoRestriction_24_7: used for Neuhauder-Christoph-Reisen 2024-04-16 12:05:55 +02:00
GerhardHoffmann b0c4ad0e2e getCurrentPaymentOptionIndex(): start implementation.
getPaymentOptions(): use new parameter paymentOptionIndex.
2024-04-12 14:31:02 +02:00
GerhardHoffmann 7e3347b043 GetTimeSteps(): use new parameter paymentOptionIndex 2024-04-12 14:30:04 +02:00
GerhardHoffmann 4e7fa83507 get_minimal_parkingtime()
get_maximal_parkingtime()
get_minimal_parkingprice()
get_maximal_parkingprice():
use new parameter paymentOptionIndex.
2024-04-12 14:27:08 +02:00
GerhardHoffmann 9b1cc49d34 Minor: remove some debug output 2024-04-12 14:16:18 +02:00
GerhardHoffmann aba38d2614 compute_price_for_parking_ticket(): add handling for PaymentMethod::Steps. 2024-04-08 13:58:24 +02:00
GerhardHoffmann 57d6b85f52 get_maximal_parking_price(): add handling for PaymentMethod::Steps. 2024-04-08 13:57:40 +02:00
GerhardHoffmann 627d14204d Use paymentRate.last() instead of aymentRate.at(0) so we can enter new entries
in tariff-files to provide the prices for an hour.
2024-03-07 08:17:32 +01:00
GerhardHoffmann a744a1ebb3 compute_product_price(): add handling for FOOD_STAMP 2024-02-28 12:06:02 +01:00
GerhardHoffmann df16bd7f9c GetDailyTicketPrice(): add case for FOOD_STAMP (not implemented) 2024-02-28 12:05:14 +01:00
GerhardHoffmann 8bbec596c9 Check for 08:00 <= currentTime <= 20:00 removed:
assumption is prepaid.
2024-02-28 09:58:00 +01:00
GerhardHoffmann 87b14ee3f8 Added check for NEUHAUSER_NORDISCHES_AUSBILDUNGSZENTRUM:
08:00 <= currentTime <= 20:00.
2024-02-28 09:26:51 +01:00
GerhardHoffmann 7831329b11 kirchdorf: getDurationFromCost(): to be tested 2024-02-27 17:11:00 +01:00
GerhardHoffmann abbbd06f93 GetCostFromDuration(): re-implement cpmputation for paymentMethod==progressive
(e.g. neuhauser/kirchdorf (743))
2024-02-27 12:25:13 +01:00
GerhardHoffmann b741d2e312 test 2024-02-26 16:57:37 +01:00
GerhardHoffmann bd1bdf8a8c Implement compute_procuct_price() 2024-02-22 16:38:41 +01:00
GerhardHoffmann 6d18ce4caa GetDailyTicketPrice(): improve for projects which have not defined a daily ticket in their tariff-files. 2024-02-22 16:37:11 +01:00
GerhardHoffmann e980d8c451 Implement
std::optional<QVector<ATBTariffProduct>> getTariffProductForAllKeys() const;
    std::optional<QVector<ATBTariffProduct>> getTariffProductForProductId(int id) const;
    std::optional<QVector<ATBTariffProduct>> getTariffProductForProductId(PermitType permitType) const;
2024-02-22 16:34:57 +01:00
GerhardHoffmann afb0e20dd2 Implement parsing of "Product" and adding into TariffProduct. 2024-02-22 16:33:19 +01:00
GerhardHoffmann 56fc95e33c GetDurationFromCost(): reverted, as there is a new default parameter (prepaid)
in compute_price_for_parming_ticket().
2024-02-22 09:43:04 +01:00
GerhardHoffmann c0f81f174a compute_price_for_parking_ticket(): added parameter bool prepaid. Set to true as default. 2024-02-22 09:42:02 +01:00
GerhardHoffmann 1a350c0aeb GetDurationFromCost(): aded section if prepaid is not set.
E.g. for Linsinger Maschinenbau (Neuhauser, 741): here, the buying
of food stamps is obviously only possible at certain times.
2024-02-22 09:31:41 +01:00
GerhardHoffmann 7933c826e6 Synced GetDurationFromCost() with GetCostFromDuration() 2024-02-21 14:53:06 +01:00
GerhardHoffmann 9d5ddfc328 GetCostFromDuration(): fixed moving from time range 8:00-12:00 -> 14:00-18:00. 2024-02-21 14:20:51 +01:00
GerhardHoffmann 102607b71f GetTimeSteps(): adapt for progressive tariff (e.g. neuhauser/kirchdorf).
Compute timesteps according to tariff01.json file.
2024-02-21 11:16:44 +01:00
GerhardHoffmann 81d515eb7f GetCostFromDuration(): set endtime to start in case cost==0. 2024-02-21 11:13:53 +01:00
GerhardHoffmann ce61e5d3b2 compute_next_timestep(): use fpr PaymentMenthod::Progressive
same code as for PaymentMethod::Steps, as GetTimeSteps() inside
the Calculator class has been adapted accordingly.
2024-02-21 11:11:09 +01:00
GerhardHoffmann e0223b50f9 Added helper getTimeRangeStep() (useful for progressive tariff as for neuhauser/kirchdorf (743) 2024-02-21 09:31:13 +01:00
GerhardHoffmann 690267c388 get_maximal_parkingprice(): in case of progressive tariff, read maximal parking time
directly form tariff-file as there is not price per hour.
2024-02-20 15:47:02 +01:00
GerhardHoffmann 9c19414e5a GetDurationFromCost(): add some sanity checks for cost. Check if cost < minParkingPrice.
Cut cost internally to maxParkingPrice if cost > maxParkingPrice.
2024-02-20 13:47:45 +01:00
GerhardHoffmann 696ce644ab GetCostFromDuration(): take into account that (for Kirchdorf and progressive tariff)
there is no carry over.
2024-02-19 12:00:45 +01:00
GerhardHoffmann 9ea2037eca GetDurationFromCost(): in case of progressive tariff
-> implement analogously to GetCostFromDuration().
2024-02-19 11:59:06 +01:00
GerhardHoffmann c0f0648a74 checkin for the weekend. proper commit-messages later 2024-02-16 13:37:24 +01:00
GerhardHoffmann 1d7779f666 GetCostFromDuration(): implement progressive tariff for Kirchdorf. 2024-02-15 16:15:28 +01:00
GerhardHoffmann 8470bdd574 Minor: change type of parameter 'start-parking-time' to non-const. 2024-02-15 16:14:21 +01:00
GerhardHoffmann 707ab1716b Add addition parsing of ATBTimeRange. 2024-02-15 16:13:28 +01:00
GerhardHoffmann 92c3b7c97c Add helper WorkDayId() for future use. 2024-02-15 16:11:41 +01:00
GerhardHoffmann 9d713c894d Moved check if netto minutes exceed max. parking time down into loop.
If this is the case, then stop updating the end-time-date.
2024-02-01 13:19:08 +01:00
GerhardHoffmann 38eca50d83 Minor: more detailed debug output 2024-02-01 13:18:27 +01:00