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
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
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
a5b95d71b8
CalcState: Add setStatus()/getStatus()
2024-04-08 13:52:53 +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
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
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
eb645273cc
Add declaration for get_maximal_parkingprice()
2024-02-23 13:17:03 +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
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
a8c1caf611
Add tariff_product.h and tariff_permit_type.h
2024-02-22 16:26:09 +01:00
7b7dd6d103
Add representations for PERMIT_TYPE and Product
2024-02-22 16:25:09 +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
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
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
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
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
08e89df5a5
Include 3 new header files.
2023-12-12 12:14:34 +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
31193336cf
Define daily ticket structure.
2023-12-12 11:53:22 +01:00
4fbc2c502b
Header for definition of daily ticket.
2023-12-12 11:36:58 +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
b122206a94
Minor add some json files under OTHER_FILES for documentation.
2023-12-12 11:08:10 +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
d4e03a51dd
Moved
...
uint32_t computeWeekDaysPrice(Configuration const *cfg, PaymentMethod id) const;
double computeWeekDaysDurationUnit(Configuration const *cfg, PaymentMethod id) const;
to namespace Utilities.
2023-12-12 10:41:21 +01:00
723b3530cc
Added helpers GetPriceForStep() and GetStepForPrice() to make source
...
more readable.
2023-12-12 10:40:20 +01:00
63f508fb95
Moved
...
PaymentMethod getPaymentMethodId(Configuration const *cfg);
int getMinimalParkingTime(Configuration const *cfg, PaymentMethod methodId);
int getMaximalParkingTime(Configuration const *cfg, PaymentMethod methodId);
uint32_t getMinimalParkingPrice(Configuration const *cfg, PaymentMethod methodId);
to namespace Utilities.
2023-12-12 10:38:31 +01:00
6e0a74c8cc
Add helpers GetSteps(), noSpecialDays(), specialDays() and tariffIs24_7()
...
to make the source more readable.
2023-12-12 10:36:22 +01:00
d11cffb8bd
Set pop_business_hours when parsing json-tariff-file.
2023-12-12 10:34:39 +01:00
15f552a973
Minor: Add header tariff_business_hours.h
2023-12-12 10:33:03 +01:00
52ad1c3ba8
Minor: add constructor taking some parameters..
2023-12-12 10:31:54 +01:00
43b8a8d3bf
Add member pop_business_hours. Add default constructor.
2023-12-12 10:30:55 +01:00
ceef73195d
Add helper structure
...
enum BusinessHours
{
NoRestriction_24_7 = 0,
OnlyWorkingDays = 1, // [Monday-Friday]
OnlyWeekDays = 2, // [Monday-Saturday]
OnlyWeekEnd = 4, // [Saturday+Sunday]
OnlyOfficialHolidays = 8,
OnlySpecialDays = 16,
OnlySchoolHolidays = 32,
SpecialAndSchoolHolidays = 48,
OnlyOpenForBusinessDays = 64, // verkaufsoffen
NoBusinessHoursDefined = 255
};
to define inside of tariff-file what operating hours a PSA has.
2023-12-12 10:26:13 +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
4187598edf
Add helpers for collecting them in Utilities namespave.
...
BusinessHours getBusinessHours(Configuration const *cfg, PaymentMethod methodId);
uint32_t computeWeekDaysPrice(Configuration const *cfg, PaymentMethod id);
double computeWeekDaysDurationUnit(Configuration const *cfg, PaymentMethod id);
2023-12-12 10:20:02 +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
548447af1f
set -O option to calm down compiler because of FORTIFY_SOURCE=2 option
2023-12-07 17:00:03 +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
56e2843ddb
Add compute_next_timestep().
2023-12-07 16:26: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
9d220df52e
Mainly removed debug output. Regression tests with szeged looking good.
2023-12-05 17:31:56 +01:00
e97ad17b09
removed typo
2023-12-01 14:24:51 +01:00
19428ce46c
implemented both cost and duration functions. to be tested
2023-12-01 14:24:15 +01:00
4c268e6693
Added draft implementation of private_GetDurationFromCost().
2023-11-28 16:43:03 +01:00
cc5c52c1a0
Added private_getDurationFromCost()
2023-11-28 16:42:29 +01:00
602ff5f94e
Added State for invalid price
2023-11-28 16:41:27 +01:00
64c005cd70
Implement private_GetCostFromDuration() using a loop and not using
...
recursive calls.
2023-11-28 15:25:37 +01:00
9abc165a7c
Implemented computeWeekDaysPrice() and computeWeekDaysDurationUnit()
2023-11-28 15:20:31 +01:00
57ec82a2fc
Added helpers computeWeekDaysPrice() and computeWeekDaysDurationUnit()
2023-11-28 15:18:05 +01:00
a49236c1de
Removed parameters in private_GetCostFromDuration() and checkDurationMinutes()
2023-11-28 15:17:27 +01:00
9a19320ee5
Minor: removed debug output.
2023-11-28 15:15:13 +01:00
7a5d797ae0
Start reimplementation of
...
private_GetCostFromDuration() in terms of ticket.
2023-11-27 16:21:28 +01:00
215667af61
Implement findWorkTimeRange() and indNextWorkTimeRange().
2023-11-27 16:19:39 +01:00
2b6d116200
Implement GetCostFromDuration() in terms of private_GetCostFromDuration()
...
using a ticket as return value.
2023-11-27 16:18:06 +01:00
9ca45e613f
Return a ticket from private_GetCostFromDuration().
...
Add helpers findWorkTimeRange() and findNextWorkTimeRange().
2023-11-27 16:15:18 +01:00
6a3d183129
Minor: overload constructor
2023-11-27 16:14:27 +01:00
684de4acd1
Reformat to Unix.
...
Add overload for IsYearPeriodActive().
Add several helpers.
2023-11-27 16:12:07 +01:00
e9047f995a
Minor: format to Unix.
2023-11-27 16:09:38 +01:00
20cdb8b07f
Add overload for IsYearPeriodActive().
...
Add helpers WeekDaysWorkTimeFrom(), WeekDaysWorkTimeUntil(), isCarryOverSet()
sCarryOverNotSet() and getPaymentMethodId().
2023-11-27 16:07:30 +01:00
b84970fd12
Add class Ticket for future use.
2023-11-26 19:56:38 +01:00
7ac033720e
Started re-implementation of GetCostFromDuration() using
...
private_GetCostFromDuration().
2023-11-26 19:55:21 +01:00
c749de2bf9
Add private_GetCostFromDuration() and helpers
...
getMinimalParkingTime(), getMaximalParkingTime(), checkDurationMinutes().
2023-11-26 19:53:29 +01:00
c4cec1c04b
Added overload for CheckSpecialDay().
...
Added helpers SpecialDaysWorkTimeFrom() and SpecialDaysWorkTimeUntil().
2023-11-26 19:51:37 +01:00
a53cb37291
Add explicit include guard.
2023-11-26 19:50:23 +01:00
b1a98a20c5
Add class ticket
2023-11-26 19:48:29 +01:00
d765997ca5
dos2unix. add TODO comment
2023-11-24 13:52:49 +01:00
36478e111e
start changes for neuhauser
2023-11-24 13:23:59 +01:00
8f2609c4ae
Fix: GetDurationFromCost for PaymentMethod::Steps
2023-11-23 11:14:21 +01:00
453ca266a5
Merge remote-tracking branch 'origin/schoenau_23112023'
2023-11-23 09:46:42 +01:00
0217bb8918
GetTimeStep() and GetPriceForTimeStep(): use getPaymentOptions().
2023-11-23 09:41:40 +01:00
4b35b1ffb7
Implement GetDurationForPrice().
2023-11-23 09:41:02 +01:00
80e228b498
GetCostFromDuration(): don't use condiftion PaymentMethod::Steps,
...
but the multimap YearPeriod, which must be empty.
2023-11-23 09:39:26 +01:00
574161ff76
Call getDurationForPrice() in GetDurationForCost().
2023-11-23 09:38:34 +01:00
b80cd5e6ef
Remove parameter paymentMethod.
...
Add GetDurationForPrice().
2023-11-23 09:36:50 +01:00
ccbf07a654
Use new getPaymentOptions interface
2023-11-23 08:42:35 +01:00
3a2e521345
Add interface to access 'PaymentOptions'
2023-11-22 16:27:41 +01:00
cd77e380ef
Read project/version-info from tariff-config ...
...
... if available
2023-11-22 11:27:09 +01:00
aaa4348a9a
Add ATBProject to configuration
2023-11-22 11:14:48 +01:00
17c4aac452
Add header file atb_project.h
2023-11-22 11:14:38 +01:00
68c438bfe0
Add header file for project-variables
2023-11-22 11:13:37 +01:00
509bc29d7e
Fix: read tariff configuration file
2023-11-22 10:17:40 +01:00
f7e462188f
Add methods for PaymentMethod::Steps
2023-11-22 09:53:07 +01:00
cb8cd5dead
Merge branch 'moransBranch'
2023-06-14 11:28:27 +02:00
eefdde4693
Removed section whith superfluous 'price_per_unit < 0' check.
...
Removed calc_price-caculation followed by shift of inputDate.
2023-06-13 12:12:23 +02:00
6157861d62
Monday starts with 1
2023-06-13 12:11:09 +02:00
23748966de
Merge branch 'moransBranch' of git.mimbach49.de:GerhardHoffmann/MOBILISIS-Calculator into moransBranch
2023-05-19 15:49:38 +02:00
7bd7f66666
Fixed pra_payment_unit_id
2023-05-17 10:08:02 +02:00
268d43cdea
GetDailyTicketDuration: use QDateTime for timestamps
2023-05-16 16:43:45 +02:00
eef94a3fb3
Change interface: use QDateTime
...
- use QDateTime instead of char*-string
- GetCostFromDuration: add end_datetime as a return value
2023-05-16 15:31:53 +02:00
3097819c01
Update interface for 'compute_duration_for_daily_ticket()
2023-05-16 11:07:21 +02:00
3bf71f84d5
Merge branch 'moransBranch'
2023-05-15 17:33:51 +02:00
29986e0451
Merge branch 'moransBranch' of git.mimbach49.de:GerhardHoffmann/MOBILISIS-Calculator into moransBranch
2023-05-15 16:58:48 +02:00
1146db743c
Add explaining comments
2023-05-15 16:58:28 +02:00
617eee39ed
Daily ticket
2023-05-15 14:05:55 +02:00
6b3c1cbf0c
Fix with min time in GetDurationFromCost
2023-05-14 17:19:24 +02:00
1142efaec2
Rounding minutes seems to be fixed ...
2023-05-14 16:15:37 +02:00
6d001f1501
Fix: QDateTime.addSecs() creates a new object
2023-05-12 14:28:30 +02:00
de32022b89
Merge branch 'moransBranch' of git.mimbach49.de:GerhardHoffmann/MOBILISIS-Calculator into moransBranch
2023-05-12 14:10:57 +02:00
1e2f1589ac
Fix: QDateTime::fromString()
2023-05-12 14:10:16 +02:00
2f8c8cab4c
Another small fix on GetDurationFromCost()
2023-05-12 13:02:10 +02:00
2599513ef9
Minor fixes with +/- 1 minute offset.
2023-05-12 12:40:25 +02:00
ef66c1f0c0
Fixed GetDurationFromCost()
2023-05-12 11:55:35 +02:00
219d820104
GetCostFromDuration fixed
2023-05-12 09:20:46 +02:00
ed9166c226
Windows: set timezone as -3600.
2023-05-11 13:58:33 +02:00
818c67ad63
Windows debug: for init-Tariff, do not read zone_ne, but use the path given directly.
2023-05-11 13:57:31 +02:00