Fix For GH Costs (#1088)

* Fix For GH Costs.

PR aims to fix the problem where Airport GH cost is not defined but recored to db as 0.00 or 0 (default value for airports table)
In such cases settings/default apt gh cost will be used.

* Updated logic for JetA1 cost check

* Remove default costs being used during import
This commit is contained in:
B.Fatih KOZ
2021-03-19 23:42:36 +03:00
committed by GitHub
parent 9bb192b97f
commit bbd02bf5c7
2 changed files with 16 additions and 6 deletions

View File

@@ -153,7 +153,12 @@ class PirepFinanceService extends Service
{ {
$ap = $pirep->dpt_airport; $ap = $pirep->dpt_airport;
// Get Airport Fuel Cost or revert back to settings // Get Airport Fuel Cost or revert back to settings
$fuel_cost = $ap->fuel_jeta_cost ?? setting('airports.default_jet_a_fuel_cost'); if (empty($ap->fuel_jeta_cost)) {
$fuel_cost = setting('airports.default_jet_a_fuel_cost');
} else {
$fuel_cost = $ap->fuel_jeta_cost;
}
if (setting('pireps.advanced_fuel', false)) { if (setting('pireps.advanced_fuel', false)) {
$ac = $pirep->aircraft; $ac = $pirep->aircraft;
// Reading second row by skip(1) to reach the previous accepted pirep. Current pirep is at the first row // Reading second row by skip(1) to reach the previous accepted pirep. Current pirep is at the first row
@@ -546,7 +551,12 @@ class PirepFinanceService extends Service
*/ */
public function getGroundHandlingCost(Pirep $pirep, Airport $airport): ?float public function getGroundHandlingCost(Pirep $pirep, Airport $airport): ?float
{ {
$gh_cost = $airport->ground_handling_cost ?? setting('airports.default_ground_handling_cost'); if (empty($airport->ground_handling_cost)) {
$gh_cost = setting('airports.default_ground_handling_cost');
} else {
$gh_cost = $airport->ground_handling_cost;
}
if (!filled($pirep->aircraft->subfleet->ground_handling_multiplier)) { if (!filled($pirep->aircraft->subfleet->ground_handling_multiplier)) {
return $gh_cost; return $gh_cost;
} }

View File

@@ -31,12 +31,12 @@ class AirportImporter extends BaseImporter
$ground_handling_cost = (float) $row->ground_handling_cost; $ground_handling_cost = (float) $row->ground_handling_cost;
$fuel_jetA_cost = (float) $row->fuel_jeta_cost; $fuel_jetA_cost = (float) $row->fuel_jeta_cost;
if ($ground_handling_cost === null && $ground_handling_cost !== 0) { if (empty($ground_handling_cost)) {
$ground_handling_cost = (float) setting('general.default_ground_handling_cost'); $ground_handling_cost = 0;
} }
if ($fuel_jetA_cost === null && $fuel_jetA_cost !== 0) { if (empty($fuel_jetA_cost)) {
$fuel_jetA_cost = (float) setting('general.default_jetA_fuel_cost'); $fuel_jetA_cost = 0;
} }
$attrs = [ $attrs = [