Compare commits

..

5 Commits

Author SHA1 Message Date
5131892744 Added test cases for Fuchs/Schnals 2024-08-12 09:24:48 +02:00
6d6615b81e GetDurationFromCost():
Minor: changed some debug output.
2024-08-12 09:22:55 +02:00
eafbfd60c3 compute_price_for_parking_ticket():
Use (netto_parking_time >= minutesUntilCarryOver) instead of
        (netto_parking_time > minutesUntilCarryOver), to correctly use interval
    limit.
2024-08-12 09:19:20 +02:00
41fc924a7c compute_price_for_parking_ticket():
Comute effective start time (jump over carry over time).
2024-08-12 09:18:20 +02:00
cbcf8391b3 get_minimal_parkingtime():
compute_price_for_parking_ticket():
    Minor: changed debug output.
2024-08-12 09:16:26 +02:00
2 changed files with 9 additions and 19 deletions

View File

@@ -1003,20 +1003,15 @@ CalcState CALCULATE_LIBRARY_API compute_duration_for_parking_ticket(
} else {
ticketEndTime = QDateTime::fromString(endTime,Qt::ISODate);
// DEBUG
//qCritical() << "compute_duration_for_parking_ticket(): ";
//qCritical() << " endTime: " << endTime;
//qCritical() << " ticketEndTime: " << ticketEndTime;
if (!ticketEndTime.isValid()) {
calcState.setDesc(QString("ticketEndTime=%1").arg(endTime));
return calcState.set(CalcState::State::WRONG_ISO_TIME_FORMAT);
}
if (ticketEndTime.time().hour() == 0 && ticketEndTime.time().minute() == 0) {
ticketEndTime = ticketEndTime.addDays(-1);
ticketEndTime.setTime(QTime(23, 59, 0));
}
// DEBUG
qCritical() << "compute_duration_for_parking_ticket(): ";
qCritical() << " endTime: " << endTime;
qCritical() << " ticketEndTime: " << ticketEndTime;
}
} else {
return calcState.set(CalcState::State::INVALID_START_DATE);

View File

@@ -207,16 +207,11 @@ std::string Calculator::GetDurationFromCost(Configuration* cfg,
//found = true;
//qCritical() << "(" << __func__ << ":" << __LINE__ << ") duration_previous" << duration_previous;
//qCritical() << "(" << __func__ << ":" << __LINE__ << ") duration in minutes" << durationInMinutes;
QDateTime d;
if (pop_accumulate_durations) {
d = inputDate.addSecs(durationInMinutes * 60);
} else {
d = inputDate.addSecs(duration_previous * 60);
}
QDateTime d(inputDate.addSecs(duration_previous * 60));
qCritical() << DBG_HEADER << " provided price (cost):" << cost;
qCritical() << DBG_HEADER << " computed time for price (minutes):" << duration_previous;
qCritical() << DBG_HEADER << " minimal parking time (minutes):" << cfg->getPaymentOptions(paymentOptionIndex).pop_min_time;
qCritical() << DBG_HEADER << "configured minimal parking time (minutes):" << cfg->getPaymentOptions(paymentOptionIndex).pop_min_time;
if (duration_previous < cfg->getPaymentOptions(paymentOptionIndex).pop_min_time) {
return CalcState::BELOW_MIN_PARKING_TIME.toStdString(); // minimal parking time is set by GetTimeSteps()