44e2ce24a3
Add helper computeMinutesUntilCarryOverEnd().
...
Used in new tariff-calculator. Replace of previous wrong approach of
using m_range.duration.
2024-10-10 11:30:53 +02:00
5a55ad6ef0
ComputeDurationFromCost():
...
brutto-time must be updated in case of an carry-over-section.
2024-10-02 15:21:21 +02:00
5a77958e8d
getOutOfService():
...
Check for special days (holidays) with out-of-service-time-ranges.
Holidays have higher priority than usual days ("default").
2024-10-02 15:19:32 +02:00
a1e7f4629a
getService():
...
Check for special days (holidays) with service-time-ranges.
Holidays have higher priority than usual days ("default").
2024-10-02 15:18:16 +02:00
efc2582c36
getCarryOver():
...
Check for special days (holidays) with carry-over-sections.
Holidays have higher priority than usual days.
2024-10-02 15:17:00 +02:00
a72f5a5019
getPrepaid():
...
Check for special days (holidays) with prepaid sections.
Holidays have higher priority than usual days.
2024-10-02 15:15:19 +02:00
28f0ea9fce
Merge from kleipeda-experimental-snapshot-2024-09-27:
...
started new implementation of tariff-calculator.
2024-10-01 09:25:53 +02:00
3109e82ef8
If out-of-service, use start of out-of-service action as output-date.
2024-10-01 09:23:15 +02:00
03dd6c44da
Always reset pop_max_price to configured value.
2024-09-30 16:58:23 +02:00
212c792b77
compute_price_for_parking_ticket():
...
Include opverpaid option in price-computation.
2024-09-30 16:57:18 +02:00
ab3cdb32ae
compute_next_timestep():
...
Restrict time-step-list when time-limit has been reached: +/-_button
does not move upward anymore.
2024-09-30 16:55:25 +02:00
4f23ab3d68
ComputeCostFromDuration():
...
Add price when overpaid occurred.
2024-09-30 16:53:25 +02:00
acbc27cfb2
ComputeDurationFromCost():
...
If overapid or trunctae has been set, then truncated max. parking time
to time-limit configured in tariff-file.
2024-09-30 16:51:51 +02:00
bcbe95d483
Add hard-coded trauncate flag.
2024-09-30 16:51:02 +02:00
e3bbca86d5
Minor: changed parameter type to non-const.
2024-09-30 16:50:21 +02:00
5868d3b510
Introduce computational state
2024-09-30 16:46:36 +02:00
d4363e71cd
Keep bacjward compatibility before using payment-method Unified.
2024-09-27 14:24:10 +02:00
fd99c20bd9
Take into account new payment method 'Unified' to call new tariff-calculator.
2024-09-27 14:20:20 +02:00
dbccdba9fe
isParkingAllowedForWeekDay():
...
Minor: adapt function call to changes parameter arity.
2024-09-27 14:18:31 +02:00
b035f4f887
Calculator::GetDurationFromCost():
...
Minor: move scope of some variables upward.
2024-09-27 14:17:35 +02:00
18f09fccb9
GetDurationFromCost():
...
Call ComputeDurationFromCost() of new tariff calculator for payment-method Unified.
2024-09-27 14:10:02 +02:00
1086e360e5
Start of implementing new tariff calculator:
...
Added serveral helper function for parsing tariff file:
* getPrepaid()
* getCarryOver()
* getService()
* getOutOfService()
Added main functions of tariff calculator:
* ComputeDurationFromCost()
* ComputeCostFromDuration()
2024-09-27 14:04:39 +02:00
ada7bebd90
Minor: Add headers.
2024-09-27 13:57:30 +02:00
2b9ea67ef5
Added function to implement new tariff-calculator:
...
std::pair<CalcState, QDateTime> ComputeDurationFromCost(Configuration const* cfg, QDateTime const &startDatetimePassed, int cost);
std::pair<CalcState, std::optional<int>> ComputeCostFromDuration(Configuration const* cfg, QDateTime const &startDatetime, QDateTime &endDatetime, int nettoParkingTime);
2024-09-27 13:48:30 +02:00
d117328bed
Minor: removed default parameter in constructor
2024-09-27 13:47:26 +02:00
fd04531474
Added payment <unified> payment-methode
2024-09-27 13:45:45 +02:00
5749fa422e
Added structures for parsing of tariff05 in bad neuenahr
2024-09-27 13:45:04 +02:00
1347f1f208
Added parsing for tariff05.json (bad neuenarh (249))
2024-09-27 13:44:01 +02:00
576c3fefdd
Added PaymentMethod::Unified
2024-09-27 13:42:44 +02:00
9ca7018fc1
tests for bad neuenahr
2024-09-27 13:42:04 +02:00
515dfaf35c
reprogrammed to use ATBTime class
2024-09-27 13:41:30 +02:00
0ab833709c
Added struct ATBTariffCarryOver
2024-09-27 13:40:18 +02:00
8e4f47c7b6
Added struct ATBTariffPrepaid
2024-09-27 13:39:35 +02:00
bc9645f1fa
Minor: removed "pragma once" compiler flag
2024-09-27 13:38:39 +02:00
713b483918
Added/fixed several functions. final testing needed.
2024-09-27 13:37:54 +02:00
3c7af1cb32
Minor: Added tariff_service and tariff_out_of_service
2024-09-27 13:35:54 +02:00
356e451839
Add structures to encode service and out-of-service times
2024-09-27 13:35:03 +02:00
c4e1d412a5
Add some assinment operators to support assignment of tariff-time-ranges.
2024-09-27 13:31:01 +02:00
1b716c48d2
Fix: copy header files
2024-09-19 14:10:05 +02:00
77e1414c13
compute_duration_for_parking_ticket():
...
Recompute pop_max_price using netto-parking-time.
Search Duration for the time-step with time-step == netto-parking-time,
then search for the corresponding price in PaymentRate.
The result is the new pop_max_price.
2024-09-17 17:05:23 +02:00
d95275a72d
Compute real netto_parking_time.
...
This time will be used to find the real time-step, and from here the actual price to pay.
2024-09-17 17:04:27 +02:00
577a17dc6a
Set seconds of serveral date-times to 0.
...
Compute netto_parking_time (which includes carry-over duration).
2024-09-17 17:03:29 +02:00
d8d32820a3
compute_price_for_parking_ticket():
...
Reset pop_max_price to original value using pop_max_price_saved.
2024-09-17 17:01:32 +02:00
2ce0aeef1d
Minor: include atb_time.h
2024-09-17 16:59:07 +02:00
0cba85eafb
Set pop_max_price_saved
2024-09-17 16:58:20 +02:00
4030a4b165
Add pop_max_price_save in case pop_max_price has to be re-computed dynamically, so it can be reset
2024-09-17 16:57:34 +02:00
8c7afdfcb1
Add additional constructor.
2024-09-17 16:53:45 +02:00
932d4e8cb9
check it ticket-end-time hits carry-over-start. if configured, move to end of carry-over.
2024-09-16 16:56:48 +02:00
38abc65425
compute_price_for_parking_ticket():
...
Check if minutesUntilCarryOver is positive (usually must be).
2024-09-16 16:54:25 +02:00
205896903b
Handle SUCCESS_MAXPRICE (calc-state).
2024-09-16 16:53:44 +02:00