Commit Graph

195 Commits

Author SHA1 Message Date
507b5d1b9c Add Interpolation, Prepaid and CarryOver structures to streamline Json-File layout. 2024-07-19 13:58:22 +02:00
c3c888dc04 GetTimeSteps(): remove list as reference so compute_next_timestep)_ can change it 2024-07-16 16:46:43 +02:00
34fbefc138 save for the weekend 2024-06-07 13:33:04 +02:00
6fb4d245cb Added CalcState &setStatus(QString const &desc); 2024-06-05 16:58:12 +02:00
2dc93271fd Added WORKING_DAYS_WITH_RESTRICTED_HOURS (introduced for Neuhauder/Stockerau/748) 2024-06-05 16:52:54 +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
d3f18f3b82 get_minimal_parkingprice(): add default parameter 'start', set to
value of QDateTime::currentDateTime();
2024-05-15 15:19:47 +02:00
4d5583df2d Handling for pop_carry_over_traget. 2024-05-07 14:59:00 +02:00
de6f263817 Add FRI/SAT/SUN with restricted hours. 2024-05-07 14:57:41 +02:00
1606a784a4 Add macro _WEEKEND_WITH_RESTRICTED_HOURS_. 2024-05-03 13:49:15 +02:00
9f2cf613e1 Add struct ATBMaxDateTime. 2024-05-03 13:48:27 +02:00
dbd9644047 Add ATBPaymentOptionType = std::multimap<int, ATBPaymentOption> 2024-05-03 13:47:28 +02:00
f93cf11d23 get_minimal_parkingtime()
get_maximal_parkingtime(): made configuration parameter const.
2024-04-30 14:06:04 +02:00
9d0ac4f8ce Add TWENTY_FOUR_HOURS_TICKET. Add toString() and implement conversion
operators in therm of toString().
2024-04-30 13:51:31 +02:00
ed9e60a972 Declaration for getTariffProductForProductTypeName(). 2024-04-30 13:45:22 +02:00
5d35331c83 Minor: introduced TariffProductType. 2024-04-30 13:44:53 +02:00
e93b08505a Minor: introduce TimeRangeType as typedef for std::multimap<int, ATBTimeRange>. 2024-04-24 13:14:04 +02:00
e17e54b315 Minor: add define: _ALL_DAYS_WITH_RESTRICTED_HOURS_ 2024-04-19 14:10:47 +02:00
0cd4424434 Add utilities
isDayIncluded(), SpecialDaysWorkTimeFrom() and specialDaysWorkTimeUntil().
2024-04-19 13:19:26 +02:00
1991853b66 Add new enum-values for business_hours. Keep the old ones for
backward-compatibility.
2024-04-19 13:18:02 +02:00
b31fcc5f4f Minor: add explicit default constructor. 2024-04-19 13:17:00 +02:00
dbe649d0e4 Add member variables
pop_carry_over_start_time_range
pop_carry_over_end_time_range:

If carry-over has been set, then provide the limits
for the carry-over: at the end of day1 (start) and
at the beginning of the next day (end).
2024-04-19 13:12:46 +02:00
dfd74a455a Add getPaymentOptionIndexIfSpecialDay().
Add isSpecialDay(), isSpecialDay((), specialDayId(),
specialDay(), isSpecialDay(), specialDayId(), specialDay(),
isDayIncluded(), isDayIncludedAsSpecialDay() and isDayIncludedAsSpecialDay().
2024-04-19 13:09:53 +02:00
10828e0708 Add private mathods isParkingAllowedForWeekDay() and isParkingAllowedForSpecialDay().
Overload isParkingAllowed().
GetCostFromDuration(): add default parameter "int paymentOptionIndex=0"
2024-04-19 13:06:37 +02:00
2dbcc7018c start header for global defines 2024-04-19 13:04:36 +02:00
18ed85430d Minor: first commit 2024-04-18 08:52:15 +02:00
aa15d1c126 Add default-parameters to compute_product_price():
start [in]: currentDateTime(): start date-time for daily-ticket-price computation.
startProduct, endProduct: real start- and end-date/time for daily-ticket.
Used first time for Neuhauser-Pernegg-an-der-Mur (747).
2024-04-16 12:07:18 +02:00
475487c2ce Minor: add utility getProductPrice() 2024-04-16 12:03:42 +02:00
ac76f194e1 Added new constants 2024-04-12 14:26:03 +02:00
fe485b7b39 pop_business_hours as uint64_t. 2024-04-12 14:24:32 +02:00
e210224340 getPaymentOptions(): added default-parameter 'paymentOptionsIndex'
Added getCurrentPaymentOptionIndex() and isHoliday().
2024-04-12 14:22:20 +02:00
afa62183fd ResetTimeSteps(), GetTimeSteps(), GetSteps():
add parameter paymentOptionIndex (default=0)
2024-04-12 14:20:05 +02:00
f241a87dc1 get_minimal_parking_price()
get_maximal_parking_price()
get_maximal_parking_time()
get_minimal_parking_time():
	adden perameter paymentOptionIndex
2024-04-12 14:17:43 +02:00
a5b95d71b8 CalcState: Add setStatus()/getStatus() 2024-04-08 13:52:53 +02:00
b751ba339e Add permit type FOOD_STAMP 2024-02-28 12:03:13 +01:00
588a88455b
CalcState: add toString() method 2024-02-28 11:31:28 +01:00
eb645273cc Add declaration for get_maximal_parkingprice() 2024-02-23 13:17:03 +01:00
39ab08a5b7 Add ProductType 2024-02-22 16:32:16 +01:00
c4c0e2fd77 Added TariffProduct including necessary functions to retrieve product infos from tariff-file 2024-02-22 16:31:51 +01:00
7a5487aa41 Add compute_product_price 2024-02-22 16:27:52 +01:00
7b7dd6d103 Add representations for PERMIT_TYPE and Product 2024-02-22 16:25:09 +01:00
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
e0223b50f9 Added helper getTimeRangeStep() (useful for progressive tariff as for neuhauser/kirchdorf (743) 2024-02-21 09:31:13 +01:00
c0f0648a74 checkin for the weekend. proper commit-messages later 2024-02-16 13:37:24 +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
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
e6399d477b CalcState: add OUTSIDE_ALLOED_PARKING_TIME status (future use). 2024-01-31 11:37:49 +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
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
9af39fa83f Turn Calculator into a singletome and move the list of timesteps inside calculator. 2024-01-23 10:51:25 +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
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
acb88efc5a re-add 'private' 2024-01-22 13:37:44 +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
ed6592c273 Add:
multimap<int, ATBTimeBase> TimeBase
2024-01-22 10:23:41 +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
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
f1f5ac8900 Add operator << for printing 2023-12-15 13:28:34 +01:00
ddded411aa Add operator << for printing 2023-12-15 13:28:19 +01:00
96587229e2 Add operator << for printing 2023-12-15 13:28:04 +01:00
3d3794ea4e Add multimap for dailly ticket.w 2023-12-15 13:27:02 +01:00
ea2dfa144f Add new menber types: dailly ticket, timebase, time range and customer. 2023-12-12 17:56:26 +01:00
f56979a61a Minor: rename to ATBCustomer. 2023-12-12 17:55:44 +01:00
cc07b8f20e Minor: rename to ATBTimeBase 2023-12-12 17:55:06 +01:00
81459f7ab4 Minor: remove 'pragma onc' 2023-12-12 17:50:23 +01:00
d6324f03a8 Add drafts for 3 new haeder files. 2023-12-12 12:14:14 +01:00
2b3ee3f384 Renamed again. 2023-12-12 12:11:32 +01:00
08f8f3a9fd "" 2023-12-12 12:10:55 +01:00
a80bc7294a Removed tartiff_csutomer. 2023-12-12 12:00:04 +01:00
3a0baf266b Add first draft. 2023-12-12 11:59:35 +01:00