Compare commits
4 Commits
eb20410849
...
2d53224feb
Author | SHA1 | Date | |
---|---|---|---|
2d53224feb | |||
38964ad9a8 | |||
d3f18f3b82 | |||
1a4265372e |
@ -207,7 +207,8 @@ int CALCULATE_LIBRARY_API get_maximal_parkingtime(Configuration const *cfg,
|
|||||||
|
|
||||||
int CALCULATE_LIBRARY_API get_minimal_parkingprice(Configuration *cfg,
|
int CALCULATE_LIBRARY_API get_minimal_parkingprice(Configuration *cfg,
|
||||||
PERMIT_TYPE permitType = PERMIT_TYPE::SHORT_TERM_PARKING,
|
PERMIT_TYPE permitType = PERMIT_TYPE::SHORT_TERM_PARKING,
|
||||||
int paymentOptionIndex=0);
|
int paymentOptionIndex = 0,
|
||||||
|
QDateTime const &start = QDateTime::currentDateTime());
|
||||||
|
|
||||||
int CALCULATE_LIBRARY_API get_maximal_parkingprice(Configuration *cfg,
|
int CALCULATE_LIBRARY_API get_maximal_parkingprice(Configuration *cfg,
|
||||||
PERMIT_TYPE permitType = PERMIT_TYPE::SHORT_TERM_PARKING,
|
PERMIT_TYPE permitType = PERMIT_TYPE::SHORT_TERM_PARKING,
|
||||||
|
@ -64,7 +64,8 @@ int CALCULATE_LIBRARY_API get_maximal_parkingtime(Configuration const *cfg,
|
|||||||
|
|
||||||
int CALCULATE_LIBRARY_API get_minimal_parkingprice(Configuration *cfg,
|
int CALCULATE_LIBRARY_API get_minimal_parkingprice(Configuration *cfg,
|
||||||
PERMIT_TYPE permitType,
|
PERMIT_TYPE permitType,
|
||||||
int paymentOptionIndex) {
|
int paymentOptionIndex,
|
||||||
|
QDateTime const &start) {
|
||||||
int minPrice = -1;
|
int minPrice = -1;
|
||||||
|
|
||||||
switch(permitType) {
|
switch(permitType) {
|
||||||
@ -77,6 +78,9 @@ int CALCULATE_LIBRARY_API get_minimal_parkingprice(Configuration *cfg,
|
|||||||
} break;
|
} break;
|
||||||
case PERMIT_TYPE::DAY_TICKET_CHILD: {
|
case PERMIT_TYPE::DAY_TICKET_CHILD: {
|
||||||
} break;
|
} break;
|
||||||
|
case PERMIT_TYPE::DAY_TICKET: {
|
||||||
|
minPrice = compute_product_price(cfg, permitType, start);
|
||||||
|
} break;
|
||||||
default: ;
|
default: ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -145,6 +149,10 @@ int CALCULATE_LIBRARY_API compute_product_price(Configuration const *cfg,
|
|||||||
QTime const &startTime = p.getTimeStart();
|
QTime const &startTime = p.getTimeStart();
|
||||||
QTime const &endTime = p.getTimeEnd();
|
QTime const &endTime = p.getTimeEnd();
|
||||||
|
|
||||||
|
// qCritical() << __LINE__ << startTime.toString(Qt::ISODate);
|
||||||
|
// qCritical() << __LINE__ << endTime.toString(Qt::ISODate);
|
||||||
|
// qCritical() << __LINE__ << start.toString(Qt::ISODate);
|
||||||
|
|
||||||
if (start.time() >= startTime && start.time() < endTime) {
|
if (start.time() >= startTime && start.time() < endTime) {
|
||||||
product_price = p.getProductPrice();
|
product_price = p.getProductPrice();
|
||||||
if (productStart && productEnd) {
|
if (productStart && productEnd) {
|
||||||
@ -508,10 +516,16 @@ CalcState CALCULATE_LIBRARY_API compute_price_for_parking_ticket(
|
|||||||
calcState = Calculator::GetInstance().isParkingAllowed(tariff, start_parking_time,
|
calcState = Calculator::GetInstance().isParkingAllowed(tariff, start_parking_time,
|
||||||
netto_parking_time, paymentOptionIndex);
|
netto_parking_time, paymentOptionIndex);
|
||||||
if (calcState.getStatus() == CalcState::State::OUTSIDE_ALLOWED_PARKING_TIME) {
|
if (calcState.getStatus() == CalcState::State::OUTSIDE_ALLOWED_PARKING_TIME) {
|
||||||
|
// qCritical() << "(" << __func__ << ":" << __LINE__ << ")"
|
||||||
|
// << calcState.toString();
|
||||||
return calcState;
|
return calcState;
|
||||||
}
|
}
|
||||||
cost = Calculator::GetInstance().GetCostFromDuration(tariff, start_parking_time, netto_parking_time, paymentOptionIndex);
|
cost = Calculator::GetInstance().GetCostFromDuration(tariff, start_parking_time, netto_parking_time, paymentOptionIndex);
|
||||||
end_parking_time = start_parking_time.addSecs(netto_parking_time*60);
|
end_parking_time = start_parking_time.addSecs(netto_parking_time*60);
|
||||||
|
|
||||||
|
// qCritical() << "(" << __func__ << ":" << __LINE__ << ")"
|
||||||
|
// << "end_parking_time" << end_parking_time.toString(Qt::ISODate);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
cost = Calculator::GetInstance().GetCostFromDuration(
|
cost = Calculator::GetInstance().GetCostFromDuration(
|
||||||
tariff,
|
tariff,
|
||||||
|
@ -41,9 +41,9 @@ extern "C" char* strptime(const char* s,
|
|||||||
#define NEUHAUSER_NORDISCHES_AUSBILDUNGSZENTRUM (0)
|
#define NEUHAUSER_NORDISCHES_AUSBILDUNGSZENTRUM (0)
|
||||||
#define NEUHAUSER_BILEXA_GALTUER (0)
|
#define NEUHAUSER_BILEXA_GALTUER (0)
|
||||||
#define NEUHAUSER_KIRCHDORF (0)
|
#define NEUHAUSER_KIRCHDORF (0)
|
||||||
#define BAD_NEUENAHR_AHRWEILER (1)
|
#define BAD_NEUENAHR_AHRWEILER (0)
|
||||||
#define NEUHAUSER_CHRISTOPH_REISEN (0)
|
#define NEUHAUSER_CHRISTOPH_REISEN (0)
|
||||||
#define NEUHAUSER_PERNEGG_AN_DER_MUR (0)
|
#define NEUHAUSER_PERNEGG_AN_DER_MUR (1)
|
||||||
|
|
||||||
#if NEUHAUSER_KIRCHDORF==1
|
#if NEUHAUSER_KIRCHDORF==1
|
||||||
static bool test_neuhauser_kirchdorf(int step, double cost) {
|
static bool test_neuhauser_kirchdorf(int step, double cost) {
|
||||||
@ -207,6 +207,9 @@ int main() {
|
|||||||
.arg(__LINE__)
|
.arg(__LINE__)
|
||||||
.arg(start.time().toString(Qt::ISODate)) << price;
|
.arg(start.time().toString(Qt::ISODate)) << price;
|
||||||
|
|
||||||
|
price = get_minimal_parkingprice(&cfg, PERMIT_TYPE::DAY_TICKET, 0, start);
|
||||||
|
qCritical() << QString("line=%1 get_minimal_parkingprice:").arg(__LINE__) << price;
|
||||||
|
|
||||||
start.setTime(QTime(6, 0, 0));
|
start.setTime(QTime(6, 0, 0));
|
||||||
productStart = productEnd = QDateTime();
|
productStart = productEnd = QDateTime();
|
||||||
price = compute_product_price(&cfg, PERMIT_TYPE::DAY_TICKET, start, &productStart, &productEnd);
|
price = compute_product_price(&cfg, PERMIT_TYPE::DAY_TICKET, start, &productStart, &productEnd);
|
||||||
@ -216,6 +219,10 @@ int main() {
|
|||||||
.arg(productEnd.time().toString(Qt::ISODate))
|
.arg(productEnd.time().toString(Qt::ISODate))
|
||||||
<< price;
|
<< price;
|
||||||
|
|
||||||
|
price = get_minimal_parkingprice(&cfg, PERMIT_TYPE::DAY_TICKET, 0, start);
|
||||||
|
qCritical() << QString("line=%1 get_minimal_parkingprice:").arg(__LINE__)
|
||||||
|
<< price;
|
||||||
|
|
||||||
price = compute_product_price(&cfg, PERMIT_TYPE::DAY_TICKET, start);
|
price = compute_product_price(&cfg, PERMIT_TYPE::DAY_TICKET, start);
|
||||||
qCritical() << QString("line=%1 price:").arg(__LINE__) << price;
|
qCritical() << QString("line=%1 price:").arg(__LINE__) << price;
|
||||||
|
|
||||||
@ -228,6 +235,9 @@ int main() {
|
|||||||
.arg(productEnd.time().toString(Qt::ISODate))
|
.arg(productEnd.time().toString(Qt::ISODate))
|
||||||
<< price;
|
<< price;
|
||||||
|
|
||||||
|
price = get_minimal_parkingprice(&cfg, PERMIT_TYPE::DAY_TICKET, 0, start);
|
||||||
|
qCritical() << QString("line=%1 get_minimal_parkingprice:").arg(__LINE__) << price;
|
||||||
|
|
||||||
start.setTime(QTime(16, 0, 0));
|
start.setTime(QTime(16, 0, 0));
|
||||||
productStart = productEnd = QDateTime();
|
productStart = productEnd = QDateTime();
|
||||||
price = compute_product_price(&cfg, PERMIT_TYPE::DAY_TICKET, start, &productStart, &productEnd);
|
price = compute_product_price(&cfg, PERMIT_TYPE::DAY_TICKET, start, &productStart, &productEnd);
|
||||||
@ -237,14 +247,23 @@ int main() {
|
|||||||
.arg(productEnd.time().toString(Qt::ISODate))
|
.arg(productEnd.time().toString(Qt::ISODate))
|
||||||
<< price;
|
<< price;
|
||||||
|
|
||||||
|
price = get_minimal_parkingprice(&cfg, PERMIT_TYPE::DAY_TICKET, 0, start);
|
||||||
|
qCritical() << QString("line=%1 get_minimal_parkingprice:").arg(__LINE__) << price;
|
||||||
|
|
||||||
start.setTime(QTime(17, 0, 0));
|
start.setTime(QTime(17, 0, 0));
|
||||||
productStart = productEnd = QDateTime();
|
productStart = productEnd = QDateTime();
|
||||||
price = compute_product_price(&cfg, PERMIT_TYPE::INVALID, start, &productStart, &productEnd);
|
price = compute_product_price(&cfg, PERMIT_TYPE::DAY_TICKET, start, &productStart, &productEnd);
|
||||||
qCritical() << QString("line=%1 price (%2-%3) :")
|
qCritical() << QString("line=%1 price (%2-%3) :")
|
||||||
.arg(__LINE__)
|
.arg(__LINE__)
|
||||||
.arg(productStart.time().toString(Qt::ISODate))
|
.arg(productStart.time().toString(Qt::ISODate))
|
||||||
.arg(productEnd.time().toString(Qt::ISODate))
|
.arg(productEnd.time().toString(Qt::ISODate))
|
||||||
<< price;
|
<< price;
|
||||||
|
|
||||||
|
price = get_minimal_parkingprice(&cfg, PERMIT_TYPE::DAY_TICKET, 0, start);
|
||||||
|
qCritical() << QString("line=%1 get_minimal_parkingprice:").arg(__LINE__) << price;
|
||||||
|
|
||||||
|
price = get_minimal_parkingprice(&cfg, PERMIT_TYPE::DAY_TICKET);
|
||||||
|
qCritical() << QString("line=%1 get_minimal_parkingprice:").arg(__LINE__) << price;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -372,7 +391,7 @@ int main() {
|
|||||||
int pop_carry_over;
|
int pop_carry_over;
|
||||||
int pop_carry_over_time_range_id;
|
int pop_carry_over_time_range_id;
|
||||||
|
|
||||||
for (int zone=5; zone < 6; ++zone) {
|
for (int zone=6; zone < 7; ++zone) {
|
||||||
//for (int t=6; t < 7; t+=20) {
|
//for (int t=6; t < 7; t+=20) {
|
||||||
switch (zone) {
|
switch (zone) {
|
||||||
case 1: {
|
case 1: {
|
||||||
@ -831,6 +850,7 @@ int main() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
if (zone == 6) { // sondertarif: 24h ticket wohnmobile
|
if (zone == 6) { // sondertarif: 24h ticket wohnmobile
|
||||||
|
// 8 euro; hoechstparkdauer 24h
|
||||||
pop_min_time = get_minimal_parkingtime(&cfg);
|
pop_min_time = get_minimal_parkingtime(&cfg);
|
||||||
pop_max_time = get_maximal_parkingtime(&cfg);
|
pop_max_time = get_maximal_parkingtime(&cfg);
|
||||||
pop_min_price = get_minimal_parkingprice(&cfg);
|
pop_min_price = get_minimal_parkingprice(&cfg);
|
||||||
@ -858,8 +878,18 @@ int main() {
|
|||||||
<< productEnd.toString(Qt::ISODate);
|
<< productEnd.toString(Qt::ISODate);
|
||||||
exit(-1);
|
exit(-1);
|
||||||
} else {
|
} else {
|
||||||
qCritical() << v << productStart.toString(Qt::ISODate)
|
|
||||||
|
int const secs = productStart.secsTo(productEnd);
|
||||||
|
if (secs != 86400) {
|
||||||
|
qCritical() << "ERROR" << i << secs << v
|
||||||
|
<< productStart.toString(Qt::ISODate)
|
||||||
|
<< productEnd.toString(Qt::ISODate);
|
||||||
|
exit(-1);
|
||||||
|
} else {
|
||||||
|
qCritical() << i << secs << v
|
||||||
|
<< productStart.toString(Qt::ISODate)
|
||||||
<< productEnd.toString(Qt::ISODate);
|
<< productEnd.toString(Qt::ISODate);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
start = start.addSecs(60);
|
start = start.addSecs(60);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user