Commit Graph

119 Commits

Author SHA1 Message Date
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
5ee73bf804 IdentifyJsonMember(): add 4 new data types:
DailyTicket, TimeBase, Customer and TimeRange.
2023-12-15 13:20:42 +01:00
8d7d175b51 GetDailyTicketDuration():
replace ZellersAlgorithm by qts build in method dayOfWeek().
2023-12-12 11:34:04 +01:00
ebb5bad7c5 Minor: replace call to LOG_ERROR() using qCritical(). 2023-12-12 11:30:30 +01:00
3006e64b37 private_GetDurationFromCost():
set static variables using helpers moved to namespace Utilities.
2023-12-12 10:58:08 +01:00
c8218bd7af private_GetDurationFromCost():
remove superfluous check if there are special days listed in
json-tariff-file.
2023-12-12 10:56:58 +01:00
ba3dfcd3d6 Minor: private_GetCostFromDuration():
define static variables using helpers moved to namespace Utilities.
2023-12-12 10:55:19 +01:00
c51d350618 Minor: Moved
getMinimalParkingTime(), getMaximalParkingTime(), getMinimalParkingPrice()
computeWeekDaysPrice() and   computeWeekDaysDurationUnit() to Utilities
namespace.
2023-12-12 10:53:10 +01:00
a95a39a557 GetCostFromDuration():
1: Get payment method from tariff file.
  2: Use tariffIs24_7() helper (Tariff for Schoenau is such a case)
  3: Add new code for neuhauser/linsinger maschinenbau:
     Very similar to Schoenau, but here there are extra operating times
     6.00-18.00 during the week, 6-12 on Saturday.
     Check if the current time is inside such time ranges and return
     associated price.
2023-12-12 10:52:16 +01:00
67b12f4b33 Private GetCostFromDuration() and GetCostFromDuration() helpers:
Use pyament method id (=4) as condition for if(...).
The other condition (tariffIs24_7()) is used in calling functions.
2023-12-12 10:49:51 +01:00
60002404da GetDurationFromCost():
1: Get payment method from tariff file.
2: Use tariffIs24_7() helper (Tariff for Schoenau is such a case)
3: Add new code for neuhauser/linsinger maschinenbau:
   Very similar to Schoenau, but here there are extra operating times
   6.00-18.00 during the week, 6-12 on Saturday.
   Check if the current time is inside such time ranges and return
   associated price.
2023-12-12 10:43:16 +01:00
d11cffb8bd Set pop_business_hours when parsing json-tariff-file. 2023-12-12 10:34:39 +01:00
282a412ef5 IsYearPeriodActive(): return true, even if no YearPeriod is given in tariff-json-file. 2023-12-12 10:23:45 +01:00
9dcf7a8f30 Implement added helpers. 2023-12-12 10:22:34 +01:00
88e92dddb9 Fix: nextTimeStep must be between minParkingTime and maxParkingTime. 2023-12-11 09:00:24 +01:00
0f05a1a784 (1) Fix debug output.
(2) Use UpDown-Argument for calculation of next tiem step.
2023-12-08 10:16:52 +01:00
2d696941a5 Fix: use second.pun_duration instead of second.pun_id
Minor: add debug output.
2023-12-08 10:14:48 +01:00
5598b02816 Make distinction base on PaymentMethod, not on some
other data contained in json-tariff-file.
2023-12-07 17:00:28 +01:00
b9a7c04db9 Add compute_next_timestep() computing timesteps if PaymentMethod = Steps.
Add additional code for computing time steps dynamically if PaymentMethod = Linear.
2023-12-07 16:28:17 +01:00
5b8d9c62cc Add and implement utilities:
int getMinimalParkingTime(Configuration const *cfg, PaymentMethod methodId);
    int getMaximalParkingTime(Configuration const *cfg, PaymentMethod methodId);
    uint32_t getMinimalParkingPrice(Configuration const *cfg, PaymentMethod methodId);
    uint32_t getFirstDurationStep(Configuration const *cfg, PaymentMethod methodId);
2023-12-07 16:27:09 +01:00
54e9a0f86d Minor: add debug ouput (and commnt it out) 2023-12-06 10:51:46 +01:00
d7beb3b41b Fix: replace 'continue' with 'break' to return first fitting time-range
in findNextWorkTimeRange().
2023-12-06 10:49:33 +01:00