Expand flight types to match IATA SSIM
This commit is contained in:
@@ -547,11 +547,11 @@ class Importer
|
|||||||
# Set the flight type
|
# Set the flight type
|
||||||
$row->flighttype = strtoupper($row->flighttype);
|
$row->flighttype = strtoupper($row->flighttype);
|
||||||
if ($row->flighttype === 'P') {
|
if ($row->flighttype === 'P') {
|
||||||
$attrs['flight_type'] = FlightType::PASSENGER;
|
$attrs['flight_type'] = FlightType::SCHED_PAX;
|
||||||
} elseif ($row->flighttype === 'C') {
|
} elseif ($row->flighttype === 'C') {
|
||||||
$attrs['flight_type'] = FlightType::CARGO;
|
$attrs['flight_type'] = FlightType::SCHED_CARGO;
|
||||||
} else {
|
} else {
|
||||||
$attrs['flight_type'] = FlightType::CHARTER;
|
$attrs['flight_type'] = FlightType::CHARTER_PAX_ONLY;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Set the flight level of the PIREP is set
|
# Set the flight level of the PIREP is set
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ class CreateFlightTables extends Migration
|
|||||||
$table->unsignedInteger('level')->nullable()->default(0);
|
$table->unsignedInteger('level')->nullable()->default(0);
|
||||||
$table->unsignedDecimal('distance')->nullable()->default(0.0);
|
$table->unsignedDecimal('distance')->nullable()->default(0.0);
|
||||||
$table->unsignedInteger('flight_time')->nullable();
|
$table->unsignedInteger('flight_time')->nullable();
|
||||||
$table->tinyInteger('flight_type')->default(FlightType::PASSENGER);
|
$table->char('flight_type', 1)->default(FlightType::SCHED_PAX);
|
||||||
$table->text('route')->nullable();
|
$table->text('route')->nullable();
|
||||||
$table->text('notes')->nullable();
|
$table->text('notes')->nullable();
|
||||||
$table->boolean('has_bid')->default(false);
|
$table->boolean('has_bid')->default(false);
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ class CreatePirepTables extends Migration
|
|||||||
$table->text('notes')->nullable();
|
$table->text('notes')->nullable();
|
||||||
$table->unsignedTinyInteger('source')->nullable()->default(0);
|
$table->unsignedTinyInteger('source')->nullable()->default(0);
|
||||||
$table->string('source_name', 25)->nullable();
|
$table->string('source_name', 25)->nullable();
|
||||||
$table->tinyInteger('flight_type')->default(FlightType::PASSENGER);
|
$table->tinyInteger('flight_type')->default(FlightType::SCHED_PAX);
|
||||||
$table->tinyInteger('state')->default(PirepState::PENDING);
|
$table->tinyInteger('state')->default(PirepState::PENDING);
|
||||||
$table->tinyInteger('status')->default(PirepStatus::SCHEDULED);
|
$table->tinyInteger('status')->default(PirepStatus::SCHEDULED);
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
|
|||||||
@@ -315,6 +315,7 @@ flights:
|
|||||||
level: 360
|
level: 360
|
||||||
dpt_time: 6PM CST
|
dpt_time: 6PM CST
|
||||||
arr_time: 11PM EST
|
arr_time: 11PM EST
|
||||||
|
flight_type: J
|
||||||
created_at: NOW
|
created_at: NOW
|
||||||
updated_at: NOW
|
updated_at: NOW
|
||||||
- id: flightid_2
|
- id: flightid_2
|
||||||
@@ -325,6 +326,7 @@ flights:
|
|||||||
arr_airport_id: LGRP
|
arr_airport_id: LGRP
|
||||||
dpt_time: 9AM CST
|
dpt_time: 9AM CST
|
||||||
arr_time: 1030AM CST
|
arr_time: 1030AM CST
|
||||||
|
flight_type: J
|
||||||
route: PITZZ4 MNURE WLEEE4
|
route: PITZZ4 MNURE WLEEE4
|
||||||
created_at: NOW
|
created_at: NOW
|
||||||
updated_at: NOW
|
updated_at: NOW
|
||||||
@@ -335,6 +337,7 @@ flights:
|
|||||||
route_leg: 1
|
route_leg: 1
|
||||||
dpt_airport_id: EGLL
|
dpt_airport_id: EGLL
|
||||||
arr_airport_id: KJFK
|
arr_airport_id: KJFK
|
||||||
|
flight_type: J
|
||||||
dpt_time: 9AM CST
|
dpt_time: 9AM CST
|
||||||
arr_time: 1030AM CST
|
arr_time: 1030AM CST
|
||||||
route: PITZZ4 MNURE WLEEE4
|
route: PITZZ4 MNURE WLEEE4
|
||||||
|
|||||||
@@ -10,19 +10,54 @@ use App\Interfaces\Enum;
|
|||||||
*/
|
*/
|
||||||
class FlightType extends Enum
|
class FlightType extends Enum
|
||||||
{
|
{
|
||||||
public const PASSENGER = 0;
|
public const SCHED_PAX = 'J';
|
||||||
public const CARGO = 1;
|
public const SCHED_CARGO = 'F';
|
||||||
public const CHARTER = 2;
|
public const CHARTER_PAX_ONLY = 'C';
|
||||||
|
public const ADDITIONAL_CARGO = 'A';
|
||||||
|
public const VIP = 'E';
|
||||||
|
public const ADDTL_PAX = 'G';
|
||||||
|
public const CHARTER_CARGO_MAIL = 'H';
|
||||||
|
public const AMBULANCE = 'I';
|
||||||
|
public const TRAINING = 'K';
|
||||||
|
public const MAIL_SERVICE = 'M';
|
||||||
|
public const CHARTER_SPECIAL = 'O';
|
||||||
|
public const POSITIONING = 'P';
|
||||||
|
public const TECHNICAL_TEST = 'T';
|
||||||
|
public const MILITARY = 'W';
|
||||||
|
public const TECHNICAL_STOP = 'X';
|
||||||
|
|
||||||
protected static $labels = [
|
protected static $labels = [
|
||||||
FlightType::PASSENGER => 'Passenger',
|
FlightType::SCHED_PAX => 'Passenger - Scheduled',
|
||||||
FlightType::CARGO => 'Cargo',
|
FlightType::SCHED_CARGO => 'Cargo - Scheduled',
|
||||||
FlightType::CHARTER => 'Charter',
|
FlightType::CHARTER_PAX_ONLY => 'Charter - Passenger Only',
|
||||||
|
FlightType::ADDITIONAL_CARGO => 'Additional Cargo/Mail',
|
||||||
|
FlightType::VIP => 'Special VIP Flight (FAA/Government)',
|
||||||
|
FlightType::ADDTL_PAX => 'Passenger - Additional',
|
||||||
|
FlightType::CHARTER_CARGO_MAIL => 'Passenger - Additional',
|
||||||
|
FlightType::AMBULANCE => 'Ambulance Flight',
|
||||||
|
FlightType::TRAINING => 'Training Flight',
|
||||||
|
FlightType::MAIL_SERVICE => 'Mail Service',
|
||||||
|
FlightType::CHARTER_SPECIAL => 'Charter reqs Special Handling',
|
||||||
|
FlightType::POSITIONING => 'Positioning (Ferry/Delivery/Demo)',
|
||||||
|
FlightType::TECHNICAL_TEST => 'Technical Test',
|
||||||
|
FlightType::MILITARY => 'Military',
|
||||||
|
FlightType::TECHNICAL_STOP => 'Technical Stop',
|
||||||
];
|
];
|
||||||
|
|
||||||
protected static $codes = [
|
protected static $codes = [
|
||||||
FlightType::PASSENGER => 'P',
|
FlightType::SCHED_PAX => 'J',
|
||||||
FlightType::CARGO => 'C',
|
FlightType::SCHED_CARGO => 'F',
|
||||||
FlightType::CHARTER => 'H',
|
FlightType::CHARTER_PAX_ONLY => 'C',
|
||||||
|
FlightType::ADDITIONAL_CARGO => 'A',
|
||||||
|
FlightType::VIP => 'E',
|
||||||
|
FlightType::ADDTL_PAX => 'G',
|
||||||
|
FlightType::CHARTER_CARGO_MAIL => 'H',
|
||||||
|
FlightType::AMBULANCE => 'I',
|
||||||
|
FlightType::TRAINING => 'K',
|
||||||
|
FlightType::MAIL_SERVICE => 'M',
|
||||||
|
FlightType::CHARTER_SPECIAL => 'O',
|
||||||
|
FlightType::TECHNICAL_TEST => 'T',
|
||||||
|
FlightType::MILITARY => 'M',
|
||||||
|
FlightType::TECHNICAL_STOP => 'X',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
14078
package-lock.json
generated
14078
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -376,7 +376,7 @@ class ImporterTest extends TestCase
|
|||||||
$this->assertEquals('350', $flight->level);
|
$this->assertEquals('350', $flight->level);
|
||||||
$this->assertEquals('1477', $flight->distance);
|
$this->assertEquals('1477', $flight->distance);
|
||||||
$this->assertEquals('207', $flight->flight_time);
|
$this->assertEquals('207', $flight->flight_time);
|
||||||
$this->assertEquals(FlightType::PASSENGER, $flight->flight_type);
|
$this->assertEquals(FlightType::SCHED_PAX, $flight->flight_type);
|
||||||
$this->assertEquals('ILEXY2 ZENZI LFK ELD J29 MEM Q29 JHW J70 STENT J70 MAGIO J70 LVZ LENDY6', $flight->route);
|
$this->assertEquals('ILEXY2 ZENZI LFK ELD J29 MEM Q29 JHW J70 STENT J70 MAGIO J70 LVZ LENDY6', $flight->route);
|
||||||
$this->assertEquals('Just a flight', $flight->notes);
|
$this->assertEquals('Just a flight', $flight->notes);
|
||||||
$this->assertEquals(true, $flight->active);
|
$this->assertEquals(true, $flight->active);
|
||||||
|
|||||||
Reference in New Issue
Block a user