waktu_gratis) { Log::info('GP Rules : '); return $parkingPrice; } else if ( $tarifVehicle->waktu_gratis !== 0 && $tarifVehicle->tarif_periode !== 0) { Log::info('GP Rules : '); $parkingPrice = $parkingPrice + $tarifVehicle->tarif_period; $duration = $duration - $tarifVehicle->waktu_gratis; Log::info('Setelah GP : ' . $parkingPrice . ' Durasi parkir : ' . $duration); } ## Hitung Tarif pertama $firstPrice = 0; $firstDuration = $tarifVehicle->frek_interval * ($tarifVehicle->interval * 60); Log::info('Firstime rules : ' . $firstDuration); // if ($duration >= $firstDuration) { do { $duration -= ($tarifVehicle->interval * 60); $parkingPrice += $tarifVehicle->tarif_interval; $firstPrice++; } while ($firstPrice < $tarifVehicle->frek_interval); Log::info('Tarif jam pertama : ' . $parkingPrice . ' Sisa durasi : ' . $duration); // } // Log::info($firstDuration); ## Hitung tarif kedua $secondPrice = 1; // Log::info($tarifVehicle->frek_waktu2 . ' - ' . $tarifVehicle->waktu2); $secondDuration = $tarifVehicle->frek_waktu2 * ($tarifVehicle->waktu2 * 60); if ($duration >= $secondDuration) { Log::info(''); Log::info('Secondtime rules : ' . $secondDuration); do { $duration -= ($tarifVehicle->waktu2 * 60); $parkingPrice += $tarifVehicle->tarif_interval; $secondPrice++; } while ($secondPrice < $tarifVehicle->frek_waktu2); Log::info('Tarif jam kedua : ' . $parkingPrice . ' Sisa durasi : ' . $duration); } $nextDuration = 0; $lastDuration = $tarifVehicle->waktu_tarif * 60; if ($duration <= $lastDuration && $duration > 0) { Log::info(''); Log::info('Sisa Durasi ' . $duration); do { $duration -= ($tarifVehicle->waktu_tarif * 60); $parkingPrice += $tarifVehicle->tarif; // $nextDuration++; } while ($duration > 0); Log::info('Tarif jam berikutnya : ' . $parkingPrice . ' Sisa durasi : ' . $duration); } Log::info('Tarif Parkir Anda : ' . $parkingPrice . ' Sisa durasi : ' . $duration); // if ($tarifVehicle->time_base_maks == 1) { // if ($parkingPrice > $tarifVehicle->maksimum) { // $parkingPrice = $tarifVehicle->maksimum; // } // } return $parkingPrice; } }