|
356e3be178
|
Pass PERMIT_TYPE to get_minimal_parkingtime() and get_maximal_parkingtime()
to override default parameter value.
|
2024-07-29 11:22:22 +02:00 |
|
|
dbf5b1f11d
|
remove input correction
|
2024-07-26 17:34:24 +02:00 |
|
|
29368ea850
|
Remove correction
|
2024-07-26 17:04:33 +02:00 |
|
|
b84f80887e
|
Checkin for testing
|
2024-07-26 17:01:44 +02:00 |
|
|
4a2b15d086
|
Add some debug output into GetDurationForPrice().
|
2024-07-26 13:34:18 +02:00 |
|
|
8dad8f00e8
|
GetPriceForTimeStep(): Fix: user default payment option
|
2024-07-26 13:11:29 +02:00 |
|
|
805a732c52
|
GetPriceForTimeStep(): add prices for computed timesteps. Return maximal
price which is still smaller or equal then (input-)price.
|
2024-07-26 12:53:42 +02:00 |
|
|
b7facb9d60
|
checkin for tariff02.json
|
2024-07-26 10:59:45 +02:00 |
|
|
8344b04b15
|
Use of permitType in several places
|
2024-07-25 09:49:16 +02:00 |
|
|
b0ecef0361
|
Use of permitType in several places
|
2024-07-25 09:48:12 +02:00 |
|
|
0bfec6a938
|
Added getPaymentOptionIndex() and getPaymentOptionsForAllKeys()
|
2024-07-25 09:43:16 +02:00 |
|
|
4d7e5263ee
|
Added parsing of pop_product_id and pop_product_name.
|
2024-07-24 17:34:28 +02:00 |
|
|
b4b2e27fe3
|
Removed some debug output for testing
|
2024-07-24 12:37:29 +02:00 |
|
|
b19cfd693c
|
Minor: add some debug output.
|
2024-07-24 12:34:05 +02:00 |
|
|
78921c8870
|
IMPORTANT: isParkingAllowedForWeekDay(): deactivated for testing !!!
|
2024-07-24 12:30:46 +02:00 |
|
|
e891bfc5de
|
Only check for prepaid == never.
|
2024-07-24 12:23:15 +02:00 |
|
|
a6922976bf
|
Minor: remove some debug output.
|
2024-07-24 12:22:47 +02:00 |
|
|
7f25c46d30
|
Set pun_duration_saved
|
2024-07-23 12:51:51 +02:00 |
|
|
2b30e9562f
|
Recompute time step list (previously is was saved as an optimization)
|
2024-07-23 12:51:08 +02:00 |
|
|
eb4ef0c3b5
|
Allow adjustment of the step list by a tolerance of 5 minutes per step
|
2024-07-23 12:48:50 +02:00 |
|
|
abf4ef0b00
|
GetPriceForTimeStep():
Use special flag 'pop_accumulate_prices' to add up prices given in the
tariff json file.
|
2024-07-23 11:53:22 +02:00 |
|
|
49fb860129
|
Minor: fixed printing of 'cost'.
|
2024-07-23 11:47:48 +02:00 |
|
|
69edc8e898
|
compute_product_price(): add new Products (CAR, BUS, CAMPER).
|
2024-07-23 11:45:34 +02:00 |
|
|
40440e28d3
|
Read pop_accumulate_prices and pop_accumulate_durations.
|
2024-07-22 15:56:04 +02:00 |
|
|
ba8e2786fc
|
GetTimeSteps():
updated as well for Schnals (505). Still to be tested.
|
2024-07-22 15:54:36 +02:00 |
|
|
b5804408f4
|
GetDurationFromCost():
expanded. still to be tested.
|
2024-07-22 15:53:27 +02:00 |
|
|
f7be0e471a
|
getDurationFromCost():
call
Calculator::GetInstance().GetTimeSteps(cfg, 0, inputDate);
for its side-effects.
Timesteps will be used in the following calculation.
|
2024-07-22 15:50:36 +02:00 |
|
|
3503306637
|
save experimental
|
2024-07-21 20:58:12 +02:00 |
|
|
977356040c
|
Added changes for Schnals
|
2024-07-19 14:10:07 +02:00 |
|
|
2a89f90745
|
Added parsing for Interpolation, CarryOver and Prepaid-options. Has to be formatted.w
|
2024-07-19 14:09:04 +02:00 |
|
|
c153652b3d
|
compute_next_timestep(): allow some tolerance for first time-step
|
2024-07-16 16:50:11 +02:00 |
|
|
d7e185006f
|
GetTimeSteps(): add sanity check
|
2024-07-16 16:47:26 +02:00 |
|
|
34fbefc138
|
save for the weekend
|
2024-06-07 13:33:04 +02:00 |
|
|
48fccafe76
|
Fix: GetDurationFromCost() -> set inputDate if next valid working time-range
in on another day and break the loop iterating through next days.
|
2024-06-06 14:04:04 +02:00 |
|
|
9394625d35
|
Minor: show debug output only when compiled in.
|
2024-06-06 14:02:43 +02:00 |
|
|
57ccbc150a
|
compute_duration_for_parking_ticket(): set calcState according to string
returned from tariff calculation.
|
2024-06-05 17:03:33 +02:00 |
|
|
8fa4335669
|
Minor: fixed typo.
|
2024-06-05 17:03:10 +02:00 |
|
|
49298a1821
|
Extend Calculator::GetDurationFromCost() (needed for Neuhauser/Stockerau/748).
|
2024-06-05 17:00:27 +02:00 |
|
|
6fb4d245cb
|
Added CalcState &setStatus(QString const &desc);
|
2024-06-05 16:58:12 +02:00 |
|
|
5be5798681
|
Declared iterator-arguments as const-references to get rid of compiler
warning: parameter passing for argument multi_map changed in gcc7.1
|
2024-06-04 11:48:50 +02:00 |
|
|
e121cef17e
|
Added: uint32_t getDailyTicketCardPrice(Configuration const *cfg, PaymentMethod methodId);
|
2024-06-04 11:26:36 +02:00 |
|
|
bdaea1106c
|
Fix: read price for daily ticket directly from entry PaymentOptions
in tariff-file if it is not given as part of a Json-Product-Array in tariff-file.
|
2024-06-04 11:24:15 +02:00 |
|
|
bc17213597
|
Minor: Add/change some debug putput.
|
2024-06-04 11:23:35 +02:00 |
|
|
64b2b4bd85
|
Fix: Handle case if "pop_carry_over_start_time_range" and "pop_carry_over_end_time_range"
is not given in tariff file.
|
2024-06-04 11:19:39 +02:00 |
|
|
8737508839
|
Minor: add case for PERMIT_TYPE::TWENTY_FOUR_HOURS_TICKET (TODO).
|
2024-06-04 11:18:47 +02:00 |
|
|
02f0500eac
|
Minor: Add some (commented-out) debug messages.
|
2024-06-04 11:18:00 +02:00 |
|
|
2d53224feb
|
Minor: add some (commented out) debug output -> used for debugging.
|
2024-05-15 15:23:12 +02:00 |
|
|
38964ad9a8
|
get_minimal_parkingprice(): for PERMIT_TYPE::DAY_TICKET
call compute_product_price(cfg, permitType, start) to get
minimal price dependent on 'start' datetime.
|
2024-05-15 15:21:38 +02:00 |
|
|
eb20410849
|
Use paymentOptionIndex in getPaymentOptions()
|
2024-05-08 16:34:07 +02:00 |
|
|
6a5272da7a
|
Fix: Check if endTime is still on the same day.
|
2024-05-07 15:01:16 +02:00 |
|
|
4d5583df2d
|
Handling for pop_carry_over_traget.
|
2024-05-07 14:59:00 +02:00 |
|
|
b71c979a91
|
Fix: getPaymentOptionIndex() -> return 0 instead of -1
Removed exit(0)-call which was used for testing.
|
2024-05-06 11:36:12 +02:00 |
|
|
33f43fb83d
|
Start parsing of pop_min_date_time and pop_max_date_time
|
2024-05-03 13:50:10 +02:00 |
|
|
1dd81d4a56
|
get_minimal_parkingtime(): const Configuration parameter.
Cast of const pointer necessary.
get_maximal_parkingtime(): const Configuration parameter.
|
2024-04-30 14:08:08 +02:00 |
|
|
4ec5589f30
|
Implement getTariffProductForProductId() in terms of
getTariffProductForProductTypeName().
|
2024-04-30 13:49:49 +02:00 |
|
|
c1d5ffcf3c
|
Implement getTariffProductForProductTypeName().
Use the type names of PERMIT_TYPE, not real indices as they can change.
|
2024-04-30 13:48:03 +02:00 |
|
|
7aded2b7fb
|
Explicit cast due to compiler warning.
|
2024-04-30 13:46:59 +02:00 |
|
|
c7623429d9
|
Compute end_parking_time using "netto_parking_time", which is the
current timestep.
|
2024-04-25 15:41:52 +02:00 |
|
|
b596086245
|
Pass paymentOptionIndex to cfg->getPaymentOptions(), which has
a default parameter of paymentOptionIndex=0.
|
2024-04-24 13:20:02 +02:00 |
|
|
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 |
|
|
ea0bcde413
|
Check iterator for it != cfg->TimeRange.cend().
|
2024-04-24 13:16:22 +02:00 |
|
|
d07fdd8540
|
GetPriceForTimeStep(): use parameter paymentOptionIndex.
|
2024-04-19 13:33:54 +02:00 |
|
|
1fab458de3
|
Implement isParkingAllowedForWeekDay(), isParkingAllowedForSpecialDay()
and isParkingAllowed() (4 parameters) using the 2 functions.
|
2024-04-19 13:32:24 +02:00 |
|
|
1ac2ca91c5
|
GetCostFromDuration(): use new parameter paymentOptionIndex.
|
2024-04-19 13:31:01 +02:00 |
|
|
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 |
|
|
e2c02420f0
|
Add parsing for new values in helper-structures.
NOTE: unfortunately switched to Unix-File-Format.
|
2024-04-19 13:26:33 +02:00 |
|
|
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 |
|
|
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 |
|
|
cd159f2bbd
|
Add case for BusinessHours::NoRestriction_24_7: used for Neuhauder-Christoph-Reisen
|
2024-04-16 12:05:55 +02:00 |
|
|
b0c4ad0e2e
|
getCurrentPaymentOptionIndex(): start implementation.
getPaymentOptions(): use new parameter paymentOptionIndex.
|
2024-04-12 14:31:02 +02:00 |
|
|
7e3347b043
|
GetTimeSteps(): use new parameter paymentOptionIndex
|
2024-04-12 14:30:04 +02:00 |
|
|
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 |
|
|
9b1cc49d34
|
Minor: remove some debug output
|
2024-04-12 14:16:18 +02:00 |
|
|
aba38d2614
|
compute_price_for_parking_ticket(): add handling for PaymentMethod::Steps.
|
2024-04-08 13:58:24 +02:00 |
|
|
57d6b85f52
|
get_maximal_parking_price(): add handling for PaymentMethod::Steps.
|
2024-04-08 13:57:40 +02:00 |
|
|
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 |
|
|
a744a1ebb3
|
compute_product_price(): add handling for FOOD_STAMP
|
2024-02-28 12:06:02 +01:00 |
|
|
df16bd7f9c
|
GetDailyTicketPrice(): add case for FOOD_STAMP (not implemented)
|
2024-02-28 12:05:14 +01:00 |
|
|
8bbec596c9
|
Check for 08:00 <= currentTime <= 20:00 removed:
assumption is prepaid.
|
2024-02-28 09:58:00 +01:00 |
|
|
87b14ee3f8
|
Added check for NEUHAUSER_NORDISCHES_AUSBILDUNGSZENTRUM:
08:00 <= currentTime <= 20:00.
|
2024-02-28 09:26:51 +01:00 |
|
|
7831329b11
|
kirchdorf: getDurationFromCost(): to be tested
|
2024-02-27 17:11:00 +01:00 |
|
|
abbbd06f93
|
GetCostFromDuration(): re-implement cpmputation for paymentMethod==progressive
(e.g. neuhauser/kirchdorf (743))
|
2024-02-27 12:25:13 +01:00 |
|
|
b741d2e312
|
test
|
2024-02-26 16:57:37 +01:00 |
|
|
bd1bdf8a8c
|
Implement compute_procuct_price()
|
2024-02-22 16:38:41 +01:00 |
|
|
6d18ce4caa
|
GetDailyTicketPrice(): improve for projects which have not defined a daily ticket in their tariff-files.
|
2024-02-22 16:37:11 +01:00 |
|
|
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 |
|
|
afb0e20dd2
|
Implement parsing of "Product" and adding into TariffProduct.
|
2024-02-22 16:33:19 +01:00 |
|
|
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 |
|
|
c0f81f174a
|
compute_price_for_parking_ticket(): added parameter bool prepaid. Set to true as default.
|
2024-02-22 09:42:02 +01:00 |
|
|
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 |
|
|
7933c826e6
|
Synced GetDurationFromCost() with GetCostFromDuration()
|
2024-02-21 14:53:06 +01:00 |
|
|
9d5ddfc328
|
GetCostFromDuration(): fixed moving from time range 8:00-12:00 -> 14:00-18:00.
|
2024-02-21 14:20:51 +01:00 |
|
|
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 |
|
|
81d515eb7f
|
GetCostFromDuration(): set endtime to start in case cost==0.
|
2024-02-21 11:13:53 +01:00 |
|
|
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 |
|
|
e0223b50f9
|
Added helper getTimeRangeStep() (useful for progressive tariff as for neuhauser/kirchdorf (743)
|
2024-02-21 09:31:13 +01:00 |
|
|
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 |
|
|
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 |
|
|
696ce644ab
|
GetCostFromDuration(): take into account that (for Kirchdorf and progressive tariff)
there is no carry over.
|
2024-02-19 12:00:45 +01:00 |
|
|
9ea2037eca
|
GetDurationFromCost(): in case of progressive tariff
-> implement analogously to GetCostFromDuration().
|
2024-02-19 11:59:06 +01:00 |
|
|
c0f0648a74
|
checkin for the weekend. proper commit-messages later
|
2024-02-16 13:37:24 +01:00 |
|
|
1d7779f666
|
GetCostFromDuration(): implement progressive tariff for Kirchdorf.
|
2024-02-15 16:15:28 +01:00 |
|
|
8470bdd574
|
Minor: change type of parameter 'start-parking-time' to non-const.
|
2024-02-15 16:14:21 +01:00 |
|
|
707ab1716b
|
Add addition parsing of ATBTimeRange.
|
2024-02-15 16:13:28 +01:00 |
|
|
92c3b7c97c
|
Add helper WorkDayId() for future use.
|
2024-02-15 16:11:41 +01:00 |
|
|
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 |
|
|
38eca50d83
|
Minor: more detailed debug output
|
2024-02-01 13:18:27 +01:00 |
|
|
f7af631de6
|
Use isParkingAllowed() to steamline source code.
|
2024-01-31 15:19:31 +01:00 |
|
|
15006e8e22
|
Implemement isParkingAllowed().
|
2024-01-31 15:19:01 +01:00 |
|
|
87c0f4397b
|
Remove meset for price. Rely on default-constructor.
|
2024-01-31 15:15:44 +01:00 |
|
|
0b779b7846
|
getBusinessHours(): return values with correct type.
|
2024-01-31 15:10:45 +01:00 |
|
|
25a39fdc61
|
Fix getPaymentMethodId(): check for valid iterator.
|
2024-01-31 15:09:42 +01:00 |
|
|
f87399ed44
|
Fixed getWeekDayWorkTime(). Parameter 'time' must be inside [from, to[.
|
2024-01-31 11:42:33 +01:00 |
|
|
868df3dd32
|
Fixed GetDailyTicket(): use pop_id as key to find payment rate.
|
2024-01-31 11:40:41 +01:00 |
|
|
d2a85532ce
|
Minor: changed debug output format.
|
2024-01-31 11:40:08 +01:00 |
|
|
f46adac56d
|
Fixed usage of std::optional value_or:
value = value.value_or(...)
|
2024-01-30 14:05:40 +01:00 |
|
|
c799c24658
|
Removed local variable PaymentOption. Replaced by usage of currentPaymentOption-vector.
|
2024-01-30 14:04:58 +01:00 |
|
|
8077167498
|
Minor: remove unused protection_counter variable
|
2024-01-30 10:52:24 +01:00 |
|
|
5deaa48f8e
|
Implement:
getDailyTicketsForAllKeys(), getDailyTicketsForKey(), getPaymentRateForAllKeys(),
getPaymentRateForKey(), getCustomerForType() and getWeekDayWorkTime().
|
2024-01-30 10:49:30 +01:00 |
|
|
3a6a47725f
|
Re-implement accessors for payment-option(s).
|
2024-01-30 10:48:05 +01:00 |
|
|
17968082f1
|
Insert Customer in cfg->customer multimap
|
2024-01-30 10:47:04 +01:00 |
|
|
7dcd7a624b
|
Minor: debug output
|
2024-01-30 10:46:44 +01:00 |
|
|
5464054f65
|
Parsing of PaymentOption(s): there can be several of them
|
2024-01-30 10:45:32 +01:00 |
|
|
e1ab060dc3
|
Parsing of Customer in tariff-file.
|
2024-01-30 10:44:58 +01:00 |
|
|
8aa9aa497a
|
Persing of DailyTicket entry in tariff-file
|
2024-01-30 10:44:25 +01:00 |
|
|
4c1cd45866
|
Implemented compute_price_for_daily_ticket().
|
2024-01-30 10:41:29 +01:00 |
|
|
6bf3960349
|
Re-implemented get_minimal_parkingtime() using PERMIT_TYPE-parameter.
Implemented get_maximal_parkingtime(), get_minimal_parkingprice()
and get_maximal_parkingprice().
|
2024-01-30 10:39:24 +01:00 |
|
|
f8dc59532c
|
Implemented GetDailyTicketPrice().
To be tested.
|
2024-01-30 10:27:46 +01:00 |
|
|
1ea42f88ba
|
Added dummy member GetPriceSteps().
To implement in a later step.
|
2024-01-30 10:25:50 +01:00 |
|
|
1173732172
|
removed typo
|
2024-01-23 11:03:42 +01:00 |
|
|
1b933c05a6
|
Remove static instance of calculator. Replaced with use of Calculator-singleton-calss.
|
2024-01-23 10:55:00 +01:00 |
|
|
ac45ebb926
|
GetTimeSteps(): compute time step only once, when calling get_minimal_parkingprice().
Otherwise use timeSteps-member in Calculator.
|
2024-01-23 10:53:26 +01:00 |
|
|
89b7589600
|
Minor: add debug output
|
2024-01-23 09:02:55 +01:00 |
|
|
179d3348b9
|
Minor: Fixed typo
|
2024-01-22 15:44:13 +01:00 |
|
|
b43fa274bd
|
Implement get_minimal_parkingtime() and get_time_steps().
|
2024-01-22 15:41:20 +01:00 |
|
|
0671a6dde6
|
Add get_time_steps().
|
2024-01-22 14:46:40 +01:00 |
|
|
d7757773bd
|
Implement get_calculator()
|
2024-01-22 14:29:02 +01:00 |
|
|
bcd5aaf932
|
Minor: add debug output
|
2024-01-22 13:41:50 +01:00 |
|
|
e9b10166d2
|
Minor: implement getPaymentOptions() for const. Add getPaymentOptions() for non-const
|
2024-01-22 13:33:23 +01:00 |
|
|
33731faba9
|
GetTimeSteps(): compute minimal parking time and set pop_min_time.
|
2024-01-22 13:31:00 +01:00 |
|
|
a8de97a528
|
Initialize TimeBase multimap.
|
2024-01-22 10:24:32 +01:00 |
|
|
ff314c810f
|
Add TimeBase to configuration object.
|
2024-01-18 15:00:42 +01:00 |
|
|
80fa2fe0e2
|
Extend computation of time steps in GetTimeSteps() for the case
of dynamic time steps (e.g. for Neuhauser, Galtuer (745)).
|
2024-01-18 14:57:04 +01:00 |
|
|
89e0f2137b
|
Add handling of pun_duration_min and pun_duration_max
|
2024-01-18 14:56:20 +01:00 |
|
|
f68d8816c0
|
Add handling of pop_carry_over_time_range_id and pop_time_step_config.
|
2024-01-18 14:55:16 +01:00 |
|
|
7ce93ddd7a
|
Extend handling of TimeRangeType.
|
2024-01-18 14:53:57 +01:00 |
|
|
7f8ed9165d
|
Add handling for TimeStepConfig.
|
2024-01-18 14:53:01 +01:00 |
|
|
bb83ae3074
|
Fix: add a 'break' in swich/case.
|
2023-12-15 13:25:09 +01:00 |
|
|
c598014dd0
|
Add parsing of
ATBDailyTicket DailyTicket;
ATBTimeBase TimeBase;
ATBCustomer Customer;
ATBTimeRange TimeRange;
|
2023-12-15 13:24:29 +01:00 |
|
|
ad534eef09
|
Add 4 new data type for IdentifyJsonMember().
|
2023-12-15 13:22:49 +01:00 |
|