Commit Graph

296 Commits

Author SHA1 Message Date
6ba3963f25 compute_price_for_parking_ticket(): added default parameter prepaid=true.
(Needed e.g. for Neuhauser/Linsinger Maschinenbau (741)
2024-02-22 09:40:27 +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
5ee978f14a Added several members to ATBTimeRange to implement
progressive tariff for Kirchdorf.
2024-02-15 16:08:22 +01:00
db0a2c0d01 Minor: replaced 'pragma once' with include guards. 2024-02-15 16:07:04 +01:00
003644f04d Minor: changed type of parameter 'start_datetime' to non-const to return value. 2024-02-15 16:05:49 +01:00
d30061915e Minor: changed type of parameter 'start_parking_time' to non-const to be able to return value. 2024-02-15 16:02:48 +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
24c6788427 Add utility isParkingAllowed() 2024-01-31 15:14:44 +01:00
f848baec83 Add defualt-constructor to struct price_t. 2024-01-31 15:13:24 +01:00
1467a69487 Add TariffTimeRange member to CalcState. Use in isParkingAllowed(). 2024-01-31 15:12:41 +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
e6399d477b CalcState: add OUTSIDE_ALLOED_PARKING_TIME status (future use). 2024-01-31 11:37:49 +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
9899fe76fe Add GetDailyTicketPrice() and GetPriceSteps(). 2024-01-30 10:37:30 +01:00
7bb2cbf01e Add m_priceSteps, ResetPriceSteps() and priceSteps(). 2024-01-30 10:37:10 +01:00
689bf9b3ba Added compute_price_for_daily_ticket(). 2024-01-30 10:33:11 +01:00
4c07d9fdb9 get_minimal_parking_time() -> new PERMIT_TYPE parameter
Added:
  get_maximal_parking_time()
  get_minimal_parkingprice()
  get_maximal_parkingprice().
2024-01-30 10:31:03 +01:00
1e866c74e2 Minot: fix alignment. 2024-01-30 10:30:11 +01:00
c39b3527e1 Add enum PERMIT_TYPE. 2024-01-30 10:29:25 +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
0af858daea Added multimap for Customer.
Using std::optional.

Added member functions:
  QVector<ATBPaymentOption> &getAllPaymentOptions()
  QVector<ATBPaymentOption> const &getAllPaymentOptions() const
  std::optional<QVector<ATBPaymentRate>> getPaymentRateForAllKeys() const
  std::optional<QVector<ATBPaymentRate>> getPaymentRateForKey(int key) const
  std::optional<QVector<ATBDailyTicket>> getDailyTicketsForAllKeys() const
  std::optional<QVector<ATBDailyTicket>> getDailyTicketsForKey(int key) const
  std::optional<ATBCustomer> getCustomerForType(ATBCustomer::CustomerType customerType)
  std::optional<ATBWeekDaysWorktime> getWeekDayWorkTime(QTime const &time, Qt::DayOfWeek dayOfWeek)

Removed: QVector<ATBDailyTicket> const &getDailyTickets() const;
2024-01-30 10:20:42 +01:00
3311537fee Add reset(). Changed print-format. 2024-01-30 10:17:56 +01:00
5b8ac6cc59 Add AllDaysWithRestrictedHours. 2024-01-30 10:16:55 +01:00
809df53658 Add reset() 2024-01-30 10:16:16 +01:00
ea5ca54c4c Add cust_id. Changed print-format. 2024-01-30 10:15:39 +01:00
b347b6e50e Minor: add debug output 2024-01-30 10:14:21 +01:00
f40ae7200b GetCostFromDuration public for testing 2024-01-24 16:35:58 +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
9af39fa83f Turn Calculator into a singletome and move the list of timesteps inside calculator. 2024-01-23 10:51:25 +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
0ce630dfa3 Add get_minimum_parkingtime() 2024-01-22 15:39:47 +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
99a3c34d53 forward declare class Calculator 2024-01-22 14:28:22 +01:00
6ce8a86c5f Added get_calculator(): access for Calculator instance 2024-01-22 14:26:57 +01:00
bcd5aaf932 Minor: add debug output 2024-01-22 13:41:50 +01:00
acb88efc5a re-add 'private' 2024-01-22 13:37:44 +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
15700a363d Remove m_start member.
Add defualt parameter start for GetTimeSteps().
2024-01-22 13:28:38 +01:00
506a665592 provide GetPaymentOptions() with two signatures. 2024-01-22 13:27:21 +01:00
7679eb9481
Remove 'VERSION' in project file ...
'VERSION' conflicts with 'EXTRA_QMAKEVARS_PRE' in yocto recipe.
2024-01-22 10:50:59 +01:00
a8de97a528 Initialize TimeBase multimap. 2024-01-22 10:24:32 +01:00
ed6592c273 Add:
multimap<int, ATBTimeBase> TimeBase
2024-01-22 10:23:41 +01:00
51a58bfa15 Minor: Add VERSION variable 2024-01-18 15:03:24 +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
0b901954aa Add members m_start and m_timeStepCompensation (used for Neuhauser, Galtuer (745) at the moment).
Add several setters/getters.
2024-01-18 14:49:56 +01:00
9f4b10bb9a Add and fill
multimap<int, ATBTimeRange> TimeRange;
multimap<int, ATBTimeStepConfig> TimeStepConfig;
when parsing json-file.
2024-01-18 14:43:08 +01:00
2f939d607d Add
include/mobilisis/tariff_timebase.h
include/mobilisis/tariff_timestep_config.h
2024-01-18 14:41:54 +01:00
283e970be4 Add pun_duration_min and pun_duration_max 2024-01-18 14:41:12 +01:00
e14edea07f Add TimeRangeType and TimeStepConfigType. 2024-01-18 14:39:57 +01:00
e520965c6b Add pop_carry_over_time_range_id and pop_time_step_config 2024-01-18 14:38:13 +01:00
6a781f0d3b Minor: add debug output 2024-01-18 14:37:13 +01:00
c357cbbbe0 Add descrption file for tariff time step config 2024-01-18 14:36:28 +01:00
44a94b7007 Minor: add comment 2024-01-16 11:56:54 +01:00
7c13d8b88c Added pun_duration_min and pun_duration_max in case we dont have to pay for a full time range 2024-01-16 11:56:12 +01:00