compute_price_for_parking_ticket():
If after crossing a carry-over-time range (taking several days) check if we have to carry over again on the target day.
This commit is contained in:
		@@ -858,6 +858,26 @@ CalcState CALCULATE_LIBRARY_API compute_price_for_parking_ticket(
 | 
			
		||||
                end_parking_time = effectiveStartTime.addSecs(netto_parking_time*60);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            qCritical() << __func__ << ":" << __LINE__ << "end-parking-time:" << end_parking_time.toString(Qt::ISODate);
 | 
			
		||||
 | 
			
		||||
            weekDay = end_parking_time.date().dayOfWeek();
 | 
			
		||||
 | 
			
		||||
            // musste man in einer schleife machen
 | 
			
		||||
            carryOverStart = tariff->TariffCarryOverOptions.find(pop_carry_over_option_id)->second.carryover[weekDay].static_start;
 | 
			
		||||
            carryOverDuration = tariff->TariffCarryOverOptions.find(pop_carry_over_option_id)->second.carryover[weekDay].duration;
 | 
			
		||||
 | 
			
		||||
            if (end_parking_time.time() > carryOverStart) {
 | 
			
		||||
                end_parking_time = end_parking_time.addSecs(carryOverDuration * 60);
 | 
			
		||||
            } else
 | 
			
		||||
            if (end_parking_time.time() == carryOverStart) {
 | 
			
		||||
                qCritical() << __func__ << ":" << __LINE__ << "end-parking-time:" << end_parking_time.toString(Qt::ISODate);
 | 
			
		||||
                qCritical() << __func__ << ":" << __LINE__ << "   carryOverStart" << carryOverStart.toString(Qt::ISODate);
 | 
			
		||||
                ATBPaymentOption const &po = tariff->getPaymentOptions(paymentOptionIndex);
 | 
			
		||||
                if (po.pop_apply_carry_over_to_ticket_endtime) {
 | 
			
		||||
                    end_parking_time = end_parking_time.addSecs(carryOverDuration * 60);
 | 
			
		||||
                    qCritical() << __func__ << ":" << __LINE__ << "end-parking-time:" << end_parking_time.toString(Qt::ISODate);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            end_parking_time.setTime(QTime(end_parking_time.time().hour(),
 | 
			
		||||
                                           end_parking_time.time().minute(), 0));
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user