fossil 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +19 -0
- data/VERSION +1 -0
- data/fossil.gemspec +136 -0
- data/lib/models/ac_qualification.rb +91 -0
- data/lib/models/aircraft.rb +397 -0
- data/lib/models/aircraft_cost.rb +65 -0
- data/lib/models/aircraft_document.rb +41 -0
- data/lib/models/aircraft_log.rb +179 -0
- data/lib/models/aircraft_maint.rb +93 -0
- data/lib/models/aircraft_note.rb +115 -0
- data/lib/models/aircraft_rate.rb +124 -0
- data/lib/models/aircraft_time.rb +87 -0
- data/lib/models/aircraft_type.rb +159 -0
- data/lib/models/airport.rb +256 -0
- data/lib/models/airport_cost.rb +46 -0
- data/lib/models/airport_fbo.rb +98 -0
- data/lib/models/airport_fuel.rb +78 -0
- data/lib/models/airport_service.rb +90 -0
- data/lib/models/ap_operational_msg.rb +33 -0
- data/lib/models/audit_trail.rb +26 -0
- data/lib/models/btrieve_code_name.rb +104 -0
- data/lib/models/cargo.rb +39 -0
- data/lib/models/check_group.rb +17 -0
- data/lib/models/checklist.rb +98 -0
- data/lib/models/city_pair.rb +43 -0
- data/lib/models/code.rb +57 -0
- data/lib/models/comment.rb +30 -0
- data/lib/models/comments2.rb +20 -0
- data/lib/models/company_information.rb +565 -0
- data/lib/models/contact.rb +42 -0
- data/lib/models/contract.rb +53 -0
- data/lib/models/contract_item.rb +58 -0
- data/lib/models/cost_center.rb +16 -0
- data/lib/models/crew_activity.rb +42 -0
- data/lib/models/crew_currency_by_cct.rb +255 -0
- data/lib/models/crew_currency_gen.rb +84 -0
- data/lib/models/crew_duty.rb +128 -0
- data/lib/models/crew_history_item.rb +132 -0
- data/lib/models/crew_information.rb +137 -0
- data/lib/models/crew_leg.rb +127 -0
- data/lib/models/crew_training_group.rb +33 -0
- data/lib/models/crew_training_item.rb +146 -0
- data/lib/models/crew_training_log.rb +39 -0
- data/lib/models/crew_trip.rb +60 -0
- data/lib/models/currency_rate.rb +27 -0
- data/lib/models/exp_record.rb +75 -0
- data/lib/models/field_list.rb +25 -0
- data/lib/models/flight_log_expense.rb +90 -0
- data/lib/models/flt_cas.rb +52 -0
- data/lib/models/flt_crew.rb +80 -0
- data/lib/models/flt_data.rb +132 -0
- data/lib/models/flt_exp.rb +57 -0
- data/lib/models/flt_leg.rb +125 -0
- data/lib/models/group_cost.rb +22 -0
- data/lib/models/icaocode.rb +23 -0
- data/lib/models/language.rb +50 -0
- data/lib/models/leg_request.rb +39 -0
- data/lib/models/leg_time.rb +100 -0
- data/lib/models/logbook.rb +95 -0
- data/lib/models/maint_time.rb +44 -0
- data/lib/models/msg_itin.rb +42 -0
- data/lib/models/msg_trip.rb +56 -0
- data/lib/models/no_fly_list.rb +37 -0
- data/lib/models/note.rb +27 -0
- data/lib/models/one_cost.rb +98 -0
- data/lib/models/passenger.rb +336 -0
- data/lib/models/passenger_rate.rb +51 -0
- data/lib/models/passport.rb +35 -0
- data/lib/models/patient.rb +144 -0
- data/lib/models/pax_ap_serv.rb +30 -0
- data/lib/models/pax_note.rb +109 -0
- data/lib/models/personnel.rb +192 -0
- data/lib/models/place.rb +54 -0
- data/lib/models/planner.rb +57 -0
- data/lib/models/quote.rb +465 -0
- data/lib/models/quote_leg.rb +401 -0
- data/lib/models/report_define.rb +34 -0
- data/lib/models/report_filter.rb +56 -0
- data/lib/models/report_user.rb +54 -0
- data/lib/models/requirements_limit.rb +405 -0
- data/lib/models/sifl_table.rb +43 -0
- data/lib/models/sms.rb +106 -0
- data/lib/models/training_course.rb +34 -0
- data/lib/models/training_group.rb +21 -0
- data/lib/models/training_item.rb +102 -0
- data/lib/models/travel_request.rb +51 -0
- data/lib/models/trip.rb +342 -0
- data/lib/models/trip_leg.rb +1149 -0
- data/lib/models/trip_passenger.rb +188 -0
- data/lib/models/update.rb +38 -0
- data/lib/models/user_information.rb +248 -0
- data/lib/models/user_log.rb +23 -0
- data/lib/models/vendor.rb +93 -0
- data/lib/models/vendor_document.rb +97 -0
- data/lib/models/visa.rb +36 -0
- data/lib/sequel/code_group.rb +89 -0
- data/lib/sequel/fos_dates.rb +54 -0
- data/lib/sequel/metaprogramming.rb +8 -0
- data/lib/sequel/model_patch.rb +277 -0
- data/lib/sequel/pervasive_adapter.rb +214 -0
- data/lib/sequel/serializer/json_serializer.rb +129 -0
- data/lib/sequel/serializer/serializer.rb +94 -0
- data/lib/sequel/serializer/xml_serializer.rb +393 -0
- metadata +157 -0
@@ -0,0 +1,1149 @@
|
|
1
|
+
class TripLeg < Sequel::Model(:'trip legs')
|
2
|
+
# NOTE - Count of instances as of 06/01/2009 => 70630
|
3
|
+
|
4
|
+
# Many to one associations with atomic primary keys
|
5
|
+
many_to_one :aircraft, :class=>:Aircraft, :key=>:'aircraft id', :primary_key=>:'aircraft id'
|
6
|
+
many_to_one :aircraft_type, :class=>:AircraftType, :key=>:'aircraft type id', :primary_key=>:'aircraft type id'
|
7
|
+
many_to_one :locked_by, :class=>:User, :key=>:'locked by - user id', :primary_key=>:'users initials'
|
8
|
+
many_to_one :leg_rate_aircraft, :class=>:Aircraft, :key=>:'leg rate ac id', :primary_key=>:'aircraft id'
|
9
|
+
many_to_one :authorizer_name, :class=>:Personel, :key=>:authorization, :primary_key=>:employee_id
|
10
|
+
|
11
|
+
# Many to one associations with composite primary keys
|
12
|
+
n_to_o :trip, :class=>:Trip, :prefix=>'trips'
|
13
|
+
n_to_o :arrival_airport_fuel, :class => :AirportFuel, :prefix => 'arr fuel'
|
14
|
+
n_to_o :departure_airport_fuel, :class => :AirportFuel, :prefix => 'dep fuel'
|
15
|
+
n_to_o :crew_hotel, :class=>:AirportService, :prefix=>'crewhotel'
|
16
|
+
n_to_o :leg_authorizer, :class=>:Passenger, :prefix=>'author'
|
17
|
+
n_to_o :catering, :class=>:AirportService, :prefix=>'catering'
|
18
|
+
n_to_o :crew_limo, :class=>:AirportService, :prefix=>'crewlimo'
|
19
|
+
n_to_o :airport_fbo, :class=>:AirportFbo, :prefix=>'fbo'
|
20
|
+
n_to_o :fueler, :class=>:AirportFbo, :prefix=>'fueler'
|
21
|
+
n_to_o :leg_rate, :class=>:AircraftRate, :prefix=>'leg rate'
|
22
|
+
n_to_o :leg_requestor, :class=>:Passenger, :prefix=>'leg req'
|
23
|
+
n_to_o :pax_limo, :class=>:AirportService, :prefix=>'limo'
|
24
|
+
n_to_o :misc_service1, :class=>:AirportService, :prefix=>'misc 1'
|
25
|
+
n_to_o :misc_service2, :class=>:AirportService, :prefix=>'misc 2'
|
26
|
+
n_to_o :misc_service3, :class=>:AirportService, :prefix=>'misc 3'
|
27
|
+
n_to_o :pax_hotel, :class=>:AirportService, :prefix=>'pax hotel'
|
28
|
+
n_to_o :planner, :class=>:Passenger, :prefix=>'planner'
|
29
|
+
n_to_o :trip_requester, :class=>:Passenger, :prefix=>'requester'
|
30
|
+
|
31
|
+
# Many to one associations with custom treatment
|
32
|
+
many_to_one :arrival_airport, :class=>:Airport, :key=>nil, :dataset=>
|
33
|
+
proc {
|
34
|
+
if !arrival_icao.blank?
|
35
|
+
Airport.filter(:'icao'=> arrival_icao)
|
36
|
+
else
|
37
|
+
Airport.filter(:'airport id prefix'.like("%#{arrival_ap_prefix}"), :'airport id'.like("%#{arrival_airport_id}"))
|
38
|
+
end
|
39
|
+
}
|
40
|
+
|
41
|
+
many_to_one :departure_airport, :class=>:Airport, :key=>:departure_icao, :primary_key=>:icao #:key=>nil, :dataset=>proc{ ref_method = self[:'depart-icao/iata/id']; case ref_method; when 1 then Airport.filter(:'icao'=>self[:'departure icao']); when 2 then Airport.filter(:'iata'=>self[:'departure iata']); else Airport.filter(:'airport id prefix'.like("%#{self[:'depart a/p prefix']}"), :'airport id'.like("%#{self[:'depart airport id']}")); end }
|
42
|
+
many_to_one :alternate_arrival_airport, :class=>:Airport, :key=>nil, :dataset=>proc{ Airport.filter(:'airport id prefix'.like("%#{self[:'arr alt prefix']}"), :'airport id'.like( "%#{self[:'arr alt id']}"))}
|
43
|
+
many_to_one :alternate_departure_airport, :class=>:Airport, :key=>nil, :dataset=>proc{ Airport.filter(:'airport id prefix'.like("%#{self[:'dep alt prefix']}"), :'airport id'.like( "%#{self[:'dep alt id']}"))}
|
44
|
+
|
45
|
+
# One to many associations with composite primary keys
|
46
|
+
o_to_n :crew_legs, :class=>:CrewLeg, :prefix=>'trip leg'
|
47
|
+
o_to_n :audit_trails, :class=>:AuditTrail, :prefix=>'owner'
|
48
|
+
o_to_n :flight_log_expenses, :class=>:FlightLogExpense, :prefix=>'trip leg'
|
49
|
+
|
50
|
+
# Code associations
|
51
|
+
code_association :approval_value, :'approval code', :trip_approval
|
52
|
+
code_association :base, :'base', :location
|
53
|
+
code_association :cancellation_code, :'cancel code', :cancellation_code
|
54
|
+
code_association :company, :'company', :company
|
55
|
+
code_association :delay_1_reason_value, :'delay 1 reason', :delay_reason
|
56
|
+
code_association :delay_2_reason_value, :'delay 2 reason', :delay_reason
|
57
|
+
code_association :department, :'department', :department
|
58
|
+
code_association :division, :'division', :division
|
59
|
+
code_association :regulation_code, :'regulation', :certification
|
60
|
+
code_association :purpose, :'leg purpose code', :purpose
|
61
|
+
code_association :leg_rate_value, :'leg rate code', :aircraft_rate
|
62
|
+
code_association :leg_type_value, :'leg type code', :trip_type
|
63
|
+
code_association :trip_type, :'leg type code', :trip_type
|
64
|
+
code_association :special_qualification, :'specialqualification', :special_qualification
|
65
|
+
|
66
|
+
# Column alias overrides
|
67
|
+
column_view :dept_date_act_gmt, :date, :actual_departure_date_gmt
|
68
|
+
column_view :dept_time_act_gmt, :time, :actual_departure_time_gmt
|
69
|
+
column_def_datetime :actual_departure_date_time_gmt, :'dept date act gmt', :'dept time act gmt'
|
70
|
+
|
71
|
+
column_view :arrival_date_gmt, :date, :actual_arrival_date_gmt
|
72
|
+
column_view :arriv_time_act_gmt, :time, :actual_arrival_time_gmt
|
73
|
+
column_def_datetime :actual_arrival_date_time_gmt, :'arr date act gmt', :'arriv time act gmt'
|
74
|
+
|
75
|
+
column_view :dept_date_act_local, :date, :actual_departure_date_local
|
76
|
+
column_view :dept_time_act_local, :time, :actual_departure_time_local
|
77
|
+
column_def_datetime :actual_departure_date_time_local, :'dept date act local', :'dept time act local'
|
78
|
+
|
79
|
+
column_view :arrival_date_local, :date, :actual_arrival_date_local
|
80
|
+
column_view :arriv_time_act_local, :time, :actual_arrival_time_local
|
81
|
+
column_def_datetime :actual_arrival_date_time_local, :'arr date act local', :'arriv time act local'
|
82
|
+
|
83
|
+
column_view :dept_date_gmt, :date, :planned_departure_date_gmt
|
84
|
+
column_view :etd_gmt, :time, :planned_departure_time_gmt
|
85
|
+
column_def_datetime :planned_departure_date_time_gmt, :'dept date gmt', :'etd - gmt'
|
86
|
+
|
87
|
+
column_view :depart_date_local, :date, :planned_departure_date_local
|
88
|
+
column_view :etd_local, :time, :planned_departure_time_local
|
89
|
+
column_def_datetime :planned_departure_date_time_local, :'depart date - local', :'etd - local'
|
90
|
+
|
91
|
+
column_view :arrival_date_gmt, :date, :planned_arrival_date_gmt
|
92
|
+
column_view :eta_gmt, :time, :planned_arrival_time_gmt
|
93
|
+
column_def_datetime :planned_arrival_date_time_gmt, :'arrival date gmt', :'eta - gmt'
|
94
|
+
|
95
|
+
column_view :arrival_date_local, :date, :planned_arrival_date_local
|
96
|
+
column_view :eta_local, :time, :planned_arrival_time_local
|
97
|
+
column_def_datetime :planned_arrival_date_time_local, :'arrival date - local', :'eta - local'
|
98
|
+
|
99
|
+
column_view :dept_date_act_home, :date, :actual_departure_date_base
|
100
|
+
column_view :depart_time_act_home, :time, :actual_departure_time_base
|
101
|
+
column_def_datetime :actual_departure_date_time_base_old, :'dept date act home', :'depart time act home'
|
102
|
+
def actual_departure_date_time_base() actual_departure_date_time_gmt + (home_tz_gmt_offset*360); end
|
103
|
+
|
104
|
+
column_view :arr_date_act_home, :date, :actual_arrival_date_base
|
105
|
+
column_view :arrival_time_act_hom, :time, :actual_arrival_time_base
|
106
|
+
column_def_datetime :actual_arrival_date_time_base_old, :'arr date act home', :'arrival time act hom'
|
107
|
+
def actual_arrival_date_time_base() actual_arrival_date_time_gmt + (home_tz_gmt_offset*360); end
|
108
|
+
|
109
|
+
#Time Formatting Methods
|
110
|
+
column_view :ete, :time
|
111
|
+
column_view :eft, :time
|
112
|
+
column_view :flight_time_actual, :time, :aft_time
|
113
|
+
column_view :block_time_actual, :time, :abt_time
|
114
|
+
column_view :t_o_time_act_gmt, :time, :actual_takeoff_time_gmt
|
115
|
+
column_view :land_time_act_gmt, :time, :actual_land_time_gmt
|
116
|
+
column_view :delay_1_time, :time, :delay_1_duration
|
117
|
+
column_view :delay_2_time, :time, :delay_2_duration
|
118
|
+
|
119
|
+
|
120
|
+
delegate :tail_number, :to => :aircraft
|
121
|
+
delegate :max_pax, :to => :aircraft
|
122
|
+
delegate :name, :to => :airport_fbo, :prefix => true, :allow_nil => true
|
123
|
+
delegate :name, :to => :fueler, :prefix => true, :allow_nil => true
|
124
|
+
delegate :name, :to => :lead_passenger, :prefix => true, :allow_nil => true
|
125
|
+
delegate :name, :to => :trip_requester, :prefix => true, :allow_nil => true
|
126
|
+
delegate :lead_pax, :to => :trip
|
127
|
+
delegate :passenger_list, :to => :trip
|
128
|
+
delegate :name, :to => :lead_pax, :prefix => true, :allow_nil => true
|
129
|
+
|
130
|
+
# :'status' utility methods
|
131
|
+
@@Statuses = {
|
132
|
+
'Scheduled Flight'=>0,
|
133
|
+
'Leg Verified'=>1,
|
134
|
+
'Cancelled'=>10,
|
135
|
+
'Reserved'=>20,
|
136
|
+
'Maintenance'=>21,
|
137
|
+
'Available'=>22,
|
138
|
+
'All Legs Cancelled'=>23,
|
139
|
+
'Standby'=>24,
|
140
|
+
'Note'=>31
|
141
|
+
}
|
142
|
+
|
143
|
+
def TripLeg.get_all_statuses
|
144
|
+
@@Statuses
|
145
|
+
end
|
146
|
+
|
147
|
+
def TripLeg.to_leg_status_values(names)
|
148
|
+
names.map{ |name| @@Statuses[name] }
|
149
|
+
end
|
150
|
+
|
151
|
+
def status_name
|
152
|
+
@@Statuses.index(self[:status])
|
153
|
+
end
|
154
|
+
|
155
|
+
|
156
|
+
#### BEGIN GENERATED SECTION ####
|
157
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
158
|
+
|
159
|
+
column_alias :ac_cost_fixed, :'a/c cost fixed'
|
160
|
+
column_alias :ac_log_ac_hrs, :'a/c log a/c hrs'
|
161
|
+
column_alias :ac_log_acc_cyc_1, :'a/c log acc cyc 1'
|
162
|
+
column_alias :ac_log_acc_cyc_2, :'a/c log acc cyc 2'
|
163
|
+
column_alias :ac_log_acc_hrs_1, :'a/c log acc hrs 1'
|
164
|
+
column_alias :ac_log_acc_hrs_2, :'a/c log acc hrs 2'
|
165
|
+
column_alias :ac_log_eng_acc_cyc1, :'a/c log eng acc cyc1'
|
166
|
+
column_alias :ac_log_eng_acc_cyc2, :'a/c log eng acc cyc2'
|
167
|
+
column_alias :ac_log_eng_acc_cyc3, :'a/c log eng acc cyc3'
|
168
|
+
column_alias :ac_log_eng_acc_cyc4, :'a/c log eng acc cyc4'
|
169
|
+
column_alias :ac_log_eng_acc_hrs1, :'a/c log eng acc hrs1'
|
170
|
+
column_alias :ac_log_eng_acc_hrs2, :'a/c log eng acc hrs2'
|
171
|
+
column_alias :ac_log_eng_acc_hrs3, :'a/c log eng acc hrs3'
|
172
|
+
column_alias :ac_log_eng_acc_hrs4, :'a/c log eng acc hrs4'
|
173
|
+
column_alias :ac_log_eng_cyc_fix1, :'a/c log eng cyc fix1'
|
174
|
+
column_alias :ac_log_eng_cyc_fix2, :'a/c log eng cyc fix2'
|
175
|
+
column_alias :ac_log_eng_cyc_fix3, :'a/c log eng cyc fix3'
|
176
|
+
column_alias :ac_log_eng_cyc_fix4, :'a/c log eng cyc fix4'
|
177
|
+
column_alias :ac_log_eng_cycles_1, :'a/c log eng cycles 1'
|
178
|
+
column_alias :ac_log_eng_cycles_2, :'a/c log eng cycles 2'
|
179
|
+
column_alias :ac_log_eng_cycles_3, :'a/c log eng cycles 3'
|
180
|
+
column_alias :ac_log_eng_cycles_4, :'a/c log eng cycles 4'
|
181
|
+
column_alias :ac_log_eng_hrs_1, :'a/c log eng hrs 1'
|
182
|
+
column_alias :ac_log_eng_hrs_2, :'a/c log eng hrs 2'
|
183
|
+
column_alias :ac_log_eng_hrs_3, :'a/c log eng hrs 3'
|
184
|
+
column_alias :ac_log_eng_hrs_4, :'a/c log eng hrs 4'
|
185
|
+
column_alias :ac_log_eng_hrs_fix1, :'a/c log eng hrs fix1'
|
186
|
+
column_alias :ac_log_eng_hrs_fix2, :'a/c log eng hrs fix2'
|
187
|
+
column_alias :ac_log_eng_hrs_fix3, :'a/c log eng hrs fix3'
|
188
|
+
column_alias :ac_log_eng_hrs_fix4, :'a/c log eng hrs fix4'
|
189
|
+
column_alias :ac_log_eng_oil_1, :'a/c log eng oil 1'
|
190
|
+
column_alias :ac_log_eng_oil_2, :'a/c log eng oil 2'
|
191
|
+
column_alias :ac_log_eng_oil_3, :'a/c log eng oil 3'
|
192
|
+
column_alias :ac_log_eng_oil_4, :'a/c log eng oil 4'
|
193
|
+
column_alias :ac_log_eng_starts_1, :'a/c log eng starts 1'
|
194
|
+
column_alias :ac_log_eng_starts_2, :'a/c log eng starts 2'
|
195
|
+
column_alias :ac_log_eng_starts_3, :'a/c log eng starts 3'
|
196
|
+
column_alias :ac_log_eng_starts_4, :'a/c log eng starts 4'
|
197
|
+
column_alias :ac_log_eng_cp_1, :'a/c log eng cp 1'
|
198
|
+
column_alias :ac_log_eng_cp_2, :'a/c log eng cp 2'
|
199
|
+
column_alias :ac_log_eng_cp_3, :'a/c log eng cp 3'
|
200
|
+
column_alias :ac_log_eng_cp_4, :'a/c log eng cp 4'
|
201
|
+
column_alias :ac_log_eng_gp_1, :'a/c log eng gp 1'
|
202
|
+
column_alias :ac_log_eng_gp_2, :'a/c log eng gp 2'
|
203
|
+
column_alias :ac_log_eng_gp_3, :'a/c log eng gp 3'
|
204
|
+
column_alias :ac_log_eng_gp_4, :'a/c log eng gp 4'
|
205
|
+
column_alias :ac_log_eng_ip_1, :'a/c log eng ip 1'
|
206
|
+
column_alias :ac_log_eng_ip_2, :'a/c log eng ip 2'
|
207
|
+
column_alias :ac_log_eng_ip_3, :'a/c log eng ip 3'
|
208
|
+
column_alias :ac_log_eng_ip_4, :'a/c log eng ip 4'
|
209
|
+
column_alias :ac_log_eng_pt_1, :'a/c log eng pt 1'
|
210
|
+
column_alias :ac_log_eng_pt_2, :'a/c log eng pt 2'
|
211
|
+
column_alias :ac_log_eng_pt_3, :'a/c log eng pt 3'
|
212
|
+
column_alias :ac_log_eng_pt_4, :'a/c log eng pt 4'
|
213
|
+
column_alias :ac_log_leg_number, :'a/c log leg number'
|
214
|
+
column_alias :ac_log_lifts, :'a/c log lifts'
|
215
|
+
column_alias :ac_log_page_number, :'a/c log page number'
|
216
|
+
column_alias :ac_log_rev_deploy, :'a/c log rev deploy'
|
217
|
+
column_alias :ac_log_rev_eng_cyc, :'a/c log rev eng cyc'
|
218
|
+
column_alias :ac_rest_type, :'ac rest type'
|
219
|
+
column_alias :apis_num, :'apis num'
|
220
|
+
column_alias :ac_class_code, :'ac class code'
|
221
|
+
column_alias :actual_nautical_mile, :'actual nautical mile'
|
222
|
+
column_alias :additional_time, :'additional time'
|
223
|
+
column_alias :addl_nm_fixed, :'addl nm fixed'
|
224
|
+
column_alias :addl_nautical_miles, :'addl nautical miles'
|
225
|
+
column_alias :addl_time_fixed, :'addl time fixed'
|
226
|
+
column_alias :addon_cost, :'addon cost'
|
227
|
+
column_alias :air_chef, :'air chef'
|
228
|
+
column_alias :aircraft_cost, :'aircraft cost'
|
229
|
+
column_alias :aircraft_cruise, :'aircraft cruise'
|
230
|
+
column_alias :aircraft_id, :'aircraft id'
|
231
|
+
column_alias :aircraft_type_id, :'aircraft type id'
|
232
|
+
column_alias :airline_cost, :'airline cost'
|
233
|
+
column_alias :airline_cost_fixed, :'airline cost fixed'
|
234
|
+
column_alias :alert_flight, :'alert flight'
|
235
|
+
column_alias :altitude, :'altitude'
|
236
|
+
column_alias :altitude_fixed, :'altitude fixed'
|
237
|
+
column_alias :amend_date, :'amend date'
|
238
|
+
column_alias :amend_time, :'amend time'
|
239
|
+
column_alias :amended_by, :'amended by'
|
240
|
+
column_alias :approach_1_category, :'approach 1 category'
|
241
|
+
column_alias :approach_1_qty, :'approach 1 qty'
|
242
|
+
column_alias :approach_1_type, :'approach 1 type'
|
243
|
+
column_alias :approach_2_category, :'approach 2 category'
|
244
|
+
column_alias :approach_2_qty, :'approach 2 qty'
|
245
|
+
column_alias :approach_2_type, :'approach 2 type'
|
246
|
+
column_alias :approach_3_category, :'approach 3 category'
|
247
|
+
column_alias :approach_3_qty, :'approach 3 qty'
|
248
|
+
column_alias :approach_3_type, :'approach 3 type'
|
249
|
+
column_alias :approval_code, :'approval code'
|
250
|
+
column_alias :arr_alt_id, :'arr alt id'
|
251
|
+
column_alias :arr_alt_prefix, :'arr alt prefix'
|
252
|
+
column_alias :arr_alt_sch, :'arr alt sch'
|
253
|
+
column_alias :arr_ap_chg, :'arr ap chg'
|
254
|
+
column_alias :arr_date_act_gmt, :'arr date act gmt'
|
255
|
+
column_alias :arr_date_act_home, :'arr date act home'
|
256
|
+
column_alias :arr_date_act_local, :'arr date act local'
|
257
|
+
column_alias :arr_fuel_kid_comm, :'arr fuel kid - comm'
|
258
|
+
column_alias :arr_fuel_kid_date, :'arr fuel kid - date'
|
259
|
+
column_alias :arr_fuel_kid_mult, :'arr fuel kid - mult'
|
260
|
+
column_alias :arr_fuel_kid_time, :'arr fuel kid - time'
|
261
|
+
column_alias :arr_fuel_kid_user, :'arr fuel kid - user'
|
262
|
+
column_alias :arr_fuel_vendor, :'arr fuel vendor'
|
263
|
+
column_alias :arr_special_trn, :'arr special trn'
|
264
|
+
column_alias :arriv_tz_gmt_offset, :'arriv tz gmt offset'
|
265
|
+
column_alias :arriv_time_act_gmt, :'arriv time act gmt'
|
266
|
+
column_alias :arriv_time_act_local, :'arriv time act local'
|
267
|
+
column_alias :arrival, :'arrival'
|
268
|
+
column_alias :arrival_ap_prefix, :'arrival a/p prefix'
|
269
|
+
column_alias :arrival_aro, :'arrival aro'
|
270
|
+
column_alias :arrival_airport_id, :'arrival airport id'
|
271
|
+
column_alias :arrival_date_local, :'arrival date - local'
|
272
|
+
column_alias :arrival_date_gmt, :'arrival date gmt'
|
273
|
+
column_alias :arrival_date_home, :'arrival date home'
|
274
|
+
column_alias :arrival_iata, :'arrival iata'
|
275
|
+
column_alias :arrival_icao, :'arrival icao'
|
276
|
+
column_alias :arrival_non_ap_site, :'arrival non-ap site'
|
277
|
+
column_alias :arrival_site_desc, :'arrival site desc'
|
278
|
+
column_alias :arrival_time_act_hom, :'arrival time act hom'
|
279
|
+
column_alias :arrival_time_est, :'arrival time est.'
|
280
|
+
column_alias :arrival_icao_iata_id, :'arrival-icao/iata/id'
|
281
|
+
column_alias :aug_crew_count, :'aug crew count'
|
282
|
+
column_alias :author_kid_comm, :'author kid - comm'
|
283
|
+
column_alias :author_kid_date, :'author kid - date'
|
284
|
+
column_alias :author_kid_mult, :'author kid - mult'
|
285
|
+
column_alias :author_kid_time, :'author kid - time'
|
286
|
+
column_alias :author_kid_user, :'author kid - user'
|
287
|
+
column_alias :authorization, :'authorization'
|
288
|
+
column_alias :auto_validate, :'auto validate'
|
289
|
+
column_alias :base, :'base'
|
290
|
+
column_alias :billable, :'billable'
|
291
|
+
column_alias :billable_expenses, :'billable expenses'
|
292
|
+
column_alias :block_time_actual, :'block time actual'
|
293
|
+
column_alias :breakfast_comment, :'breakfast comment'
|
294
|
+
column_alias :cg, :'cg'
|
295
|
+
column_alias :cg_limit_aft, :'cg limit aft'
|
296
|
+
column_alias :cg_limit_fwd, :'cg limit fwd'
|
297
|
+
column_alias :cancel_code, :'cancel code'
|
298
|
+
column_alias :cancelled, :'cancelled'
|
299
|
+
column_alias :cargo_pounds, :'cargo - pounds'
|
300
|
+
column_alias :cargo_actual, :'cargo actual'
|
301
|
+
column_alias :cargo_off_at_arrival, :'cargo off at arrival'
|
302
|
+
column_alias :cargo_on_at_depart, :'cargo on at depart'
|
303
|
+
column_alias :category_2_appr, :'category 2 appr'
|
304
|
+
column_alias :catering_comment, :'catering comment'
|
305
|
+
column_alias :catering_departure, :'catering departure'
|
306
|
+
column_alias :catering_flags, :'catering flags'
|
307
|
+
column_alias :catering_kid_comm, :'catering kid - comm'
|
308
|
+
column_alias :catering_kid_date, :'catering kid - date'
|
309
|
+
column_alias :catering_kid_mult, :'catering kid - mult'
|
310
|
+
column_alias :catering_kid_time, :'catering kid - time'
|
311
|
+
column_alias :catering_kid_user, :'catering kid - user'
|
312
|
+
column_alias :closed, :'closed'
|
313
|
+
column_alias :company, :'company'
|
314
|
+
column_alias :cost_center, :'cost center'
|
315
|
+
column_alias :crew_brief, :'crew brief'
|
316
|
+
column_alias :crew_change, :'crew change'
|
317
|
+
column_alias :crew_duty, :'crew duty'
|
318
|
+
column_alias :crew_flight, :'crew flight'
|
319
|
+
column_alias :crew_hotel_comment, :'crew hotel comment'
|
320
|
+
column_alias :crew_hotel_departure, :'crew hotel departure'
|
321
|
+
column_alias :crew_hotel_flags, :'crew hotel flags'
|
322
|
+
column_alias :crew_pic_chg, :'crew pic chg'
|
323
|
+
column_alias :crew_rest, :'crew rest'
|
324
|
+
column_alias :crew_training_count, :'crew training count'
|
325
|
+
column_alias :crewhotel_kid_comm, :'crewhotel kid - comm'
|
326
|
+
column_alias :crewhotel_kid_date, :'crewhotel kid - date'
|
327
|
+
column_alias :crewhotel_kid_mult, :'crewhotel kid - mult'
|
328
|
+
column_alias :crewhotel_kid_time, :'crewhotel kid - time'
|
329
|
+
column_alias :crewhotel_kid_user, :'crewhotel kid - user'
|
330
|
+
column_alias :crewlimo_comment, :'crewlimo comment'
|
331
|
+
column_alias :crewlimo_depart, :'crewlimo depart'
|
332
|
+
column_alias :crewlimo_flags, :'crewlimo flags'
|
333
|
+
column_alias :crewlimo_kid_comm, :'crewlimo kid - comm'
|
334
|
+
column_alias :crewlimo_kid_date, :'crewlimo kid - date'
|
335
|
+
column_alias :crewlimo_kid_mult, :'crewlimo kid - mult'
|
336
|
+
column_alias :crewlimo_kid_time, :'crewlimo kid - time'
|
337
|
+
column_alias :crewlimo_kid_user, :'crewlimo kid - user'
|
338
|
+
column_alias :dh_confirmed, :'dh confirmed'
|
339
|
+
column_alias :dh_cost, :'dh cost'
|
340
|
+
column_alias :dh_currency, :'dh currency'
|
341
|
+
column_alias :dh_date_begin, :'dh date begin'
|
342
|
+
column_alias :dh_date_end, :'dh date end'
|
343
|
+
column_alias :dh_flex_begin, :'dh flex begin'
|
344
|
+
column_alias :dh_flex_end, :'dh flex end'
|
345
|
+
column_alias :dh_flex_times, :'dh flex times'
|
346
|
+
column_alias :dh_pax_count, :'dh pax count'
|
347
|
+
column_alias :dh_pax_ent, :'dh pax ent'
|
348
|
+
column_alias :dh_pax_personal, :'dh pax personal'
|
349
|
+
column_alias :day1_reserve_leg, :'day1 reserve leg'
|
350
|
+
column_alias :deadhead, :'deadhead'
|
351
|
+
column_alias :deiced, :'deiced'
|
352
|
+
column_alias :delay_1_reason, :'delay 1 reason'
|
353
|
+
column_alias :delay_1_time, :'delay 1 time'
|
354
|
+
column_alias :delay_2_reason, :'delay 2 reason'
|
355
|
+
column_alias :delay_2_time, :'delay 2 time'
|
356
|
+
column_alias :delay_3_reason, :'delay 3 reason'
|
357
|
+
column_alias :delay_3_time, :'delay 3 time'
|
358
|
+
column_alias :delay_4_reason, :'delay 4 reason'
|
359
|
+
column_alias :delay_4_time, :'delay 4 time'
|
360
|
+
column_alias :delay_comment, :'delay comment'
|
361
|
+
column_alias :delivery_comment, :'delivery comment'
|
362
|
+
column_alias :dep_alt_id, :'dep alt id'
|
363
|
+
column_alias :dep_alt_prefix, :'dep alt prefix'
|
364
|
+
column_alias :dep_alt_sch, :'dep alt sch'
|
365
|
+
column_alias :dep_ap_chg, :'dep ap chg'
|
366
|
+
column_alias :dep_fuel_kid_comm, :'dep fuel kid - comm'
|
367
|
+
column_alias :dep_fuel_kid_date, :'dep fuel kid - date'
|
368
|
+
column_alias :dep_fuel_kid_mult, :'dep fuel kid - mult'
|
369
|
+
column_alias :dep_fuel_kid_time, :'dep fuel kid - time'
|
370
|
+
column_alias :dep_fuel_kid_user, :'dep fuel kid - user'
|
371
|
+
column_alias :dep_fuel_vendor, :'dep fuel vendor'
|
372
|
+
column_alias :dep_special_trn, :'dep special trn'
|
373
|
+
column_alias :depart_ap_prefix, :'depart a/p prefix'
|
374
|
+
column_alias :depart_airport_id, :'depart airport id'
|
375
|
+
column_alias :depart_date_local, :'depart date - local'
|
376
|
+
column_alias :depart_date_key, :'depart date key'
|
377
|
+
column_alias :depart_non_ap_site, :'depart non-ap site'
|
378
|
+
column_alias :depart_site_desc, :'depart site desc'
|
379
|
+
column_alias :depart_tz_gmt_offset, :'depart tz gmt offset'
|
380
|
+
column_alias :depart_time_act_home, :'depart time act home'
|
381
|
+
column_alias :depart_icao_iata_id, :'depart-icao/iata/id'
|
382
|
+
column_alias :department, :'department'
|
383
|
+
column_alias :departure_aro, :'departure aro'
|
384
|
+
column_alias :departure_iata, :'departure iata'
|
385
|
+
column_alias :departure_icao, :'departure icao'
|
386
|
+
column_alias :dept_date_act_gmt, :'dept date act gmt'
|
387
|
+
column_alias :dept_date_act_home, :'dept date act home'
|
388
|
+
column_alias :dept_date_act_local, :'dept date act local'
|
389
|
+
column_alias :dept_date_gmt, :'dept date gmt'
|
390
|
+
column_alias :dept_date_home, :'dept date home'
|
391
|
+
column_alias :dept_time_act_gmt, :'dept time act gmt'
|
392
|
+
column_alias :dept_time_act_local, :'dept time act local'
|
393
|
+
column_alias :dept_time_est, :'dept time est.'
|
394
|
+
column_alias :dinner_comment, :'dinner comment'
|
395
|
+
column_alias :division, :'division'
|
396
|
+
column_alias :duty_act, :'duty act'
|
397
|
+
column_alias :duty_post_flight, :'duty post flight'
|
398
|
+
column_alias :duty_pre_flight, :'duty pre flight'
|
399
|
+
column_alias :eft, :'eft'
|
400
|
+
column_alias :eft_fixed, :'eft fixed'
|
401
|
+
column_alias :egt, :'egt'
|
402
|
+
column_alias :egt_fixed, :'egt fixed'
|
403
|
+
column_alias :eta_gmt, :'eta - gmt'
|
404
|
+
column_alias :eta_home, :'eta - home'
|
405
|
+
column_alias :eta_local, :'eta - local'
|
406
|
+
column_alias :eta_fixed, :'eta fixed'
|
407
|
+
column_alias :eta_night, :'eta night'
|
408
|
+
column_alias :eta_requested, :'eta requested'
|
409
|
+
column_alias :eta_tentative, :'eta tentative'
|
410
|
+
column_alias :etd_gmt, :'etd - gmt'
|
411
|
+
column_alias :etd_home, :'etd - home'
|
412
|
+
column_alias :etd_local, :'etd - local'
|
413
|
+
column_alias :etd_fixed, :'etd fixed'
|
414
|
+
column_alias :etd_key, :'etd key'
|
415
|
+
column_alias :etd_night, :'etd night'
|
416
|
+
column_alias :etd_requested, :'etd requested'
|
417
|
+
column_alias :etd_tentative, :'etd tentative'
|
418
|
+
column_alias :ete, :'ete'
|
419
|
+
column_alias :email, :'email'
|
420
|
+
column_alias :exp_res_leg, :'exp res leg'
|
421
|
+
column_alias :ext_trip_num, :'ext trip num'
|
422
|
+
column_alias :fbo_comment, :'fbo comment'
|
423
|
+
column_alias :fbo_departure, :'fbo departure'
|
424
|
+
column_alias :fbo_flags, :'fbo flags'
|
425
|
+
column_alias :fbo_kid_comm, :'fbo kid - comm'
|
426
|
+
column_alias :fbo_kid_date, :'fbo kid - date'
|
427
|
+
column_alias :fbo_kid_mult, :'fbo kid - mult'
|
428
|
+
column_alias :fbo_kid_time, :'fbo kid - time'
|
429
|
+
column_alias :fbo_kid_user, :'fbo kid - user'
|
430
|
+
column_alias :fs_apis, :'fs apis'
|
431
|
+
column_alias :fs_aro_dom_slot, :'fs aro dom slot'
|
432
|
+
column_alias :fs_ac_parking, :'fs ac parking'
|
433
|
+
column_alias :fs_ac_security, :'fs ac security'
|
434
|
+
column_alias :fs_aircraft_charter, :'fs aircraft charter'
|
435
|
+
column_alias :fs_attachments, :'fs attachments'
|
436
|
+
column_alias :fs_bill_cc, :'fs bill cc'
|
437
|
+
column_alias :fs_bill_direct, :'fs bill direct'
|
438
|
+
column_alias :fs_catering, :'fs catering'
|
439
|
+
column_alias :fs_cost_est, :'fs cost est'
|
440
|
+
column_alias :fs_crew_hotel, :'fs crew hotel'
|
441
|
+
column_alias :fs_crew_limo, :'fs crew limo'
|
442
|
+
column_alias :fs_crew_visa, :'fs crew visa'
|
443
|
+
column_alias :fs_customs, :'fs customs'
|
444
|
+
column_alias :fs_flight_following, :'fs flight following'
|
445
|
+
column_alias :fs_flight_plan_cond, :'fs flight plan cond'
|
446
|
+
column_alias :fs_flight_planning, :'fs flight planning'
|
447
|
+
column_alias :fs_flt_plan_wind, :'fs flt plan wind'
|
448
|
+
column_alias :fs_fueler, :'fs fueler'
|
449
|
+
column_alias :fs_gnd_handling, :'fs gnd handling'
|
450
|
+
column_alias :fs_hangar, :'fs hangar'
|
451
|
+
column_alias :fs_hotel, :'fs hotel'
|
452
|
+
column_alias :fs_landing_permit, :'fs landing permit'
|
453
|
+
column_alias :fs_lavatory, :'fs lavatory'
|
454
|
+
column_alias :fs_meet_greet, :'fs meet greet'
|
455
|
+
column_alias :fs_misc, :'fs misc'
|
456
|
+
column_alias :fs_overflight_permit, :'fs overflight permit'
|
457
|
+
column_alias :fs_pax_dep_loc, :'fs pax dep loc'
|
458
|
+
column_alias :fs_prefile, :'fs prefile'
|
459
|
+
column_alias :fs_prelim_flt_plan, :'fs prelim flt plan'
|
460
|
+
column_alias :fs_quick_turn, :'fs quick turn'
|
461
|
+
column_alias :fs_security_guard, :'fs security guard'
|
462
|
+
column_alias :fs_slots, :'fs slots'
|
463
|
+
column_alias :fs_transportation, :'fs transportation'
|
464
|
+
column_alias :fs_update_req, :'fs update req'
|
465
|
+
column_alias :fs_uplink_afis, :'fs uplink afis'
|
466
|
+
column_alias :fs_uplink_uvdata, :'fs uplink uvdata'
|
467
|
+
column_alias :fs_visa, :'fs visa'
|
468
|
+
column_alias :fs_weather_brief, :'fs weather brief'
|
469
|
+
column_alias :fs_weather_outlook, :'fs weather outlook'
|
470
|
+
column_alias :fs_weather_update, :'fs weather update'
|
471
|
+
column_alias :fs_wx_brief_intl, :'fs wx brief intl'
|
472
|
+
column_alias :fs2, :'fs2'
|
473
|
+
column_alias :flight_id, :'flight id'
|
474
|
+
column_alias :flight_number, :'flight number'
|
475
|
+
column_alias :flight_time_actual, :'flight time actual'
|
476
|
+
column_alias :flight_time_inst_act, :'flight time inst act'
|
477
|
+
column_alias :flight_time_inst_sim, :'flight time inst sim'
|
478
|
+
column_alias :flight_time_night, :'flight time night'
|
479
|
+
column_alias :flight_time_training, :'flight time training'
|
480
|
+
column_alias :flog_regulation, :'flog regulation'
|
481
|
+
column_alias :flt_follow, :'flt follow'
|
482
|
+
column_alias :flt_time_tax, :'flt time tax'
|
483
|
+
column_alias :fuel_burn, :'fuel burn'
|
484
|
+
column_alias :fuel_burned, :'fuel burned'
|
485
|
+
column_alias :fuel_code, :'fuel code'
|
486
|
+
column_alias :fuel_cost, :'fuel cost'
|
487
|
+
column_alias :fuel_in, :'fuel in'
|
488
|
+
column_alias :fuel_out, :'fuel out'
|
489
|
+
column_alias :fuel_stop_time, :'fuel stop time'
|
490
|
+
column_alias :fueler_comment, :'fueler comment'
|
491
|
+
column_alias :fueler_depart, :'fueler depart'
|
492
|
+
column_alias :fueler_flags, :'fueler flags'
|
493
|
+
column_alias :fueler_kid_comm, :'fueler kid - comm'
|
494
|
+
column_alias :fueler_kid_date, :'fueler kid - date'
|
495
|
+
column_alias :fueler_kid_mult, :'fueler kid - mult'
|
496
|
+
column_alias :fueler_kid_time, :'fueler kid - time'
|
497
|
+
column_alias :fueler_kid_user, :'fueler kid - user'
|
498
|
+
column_alias :glndw, :'glndw'
|
499
|
+
column_alias :gtow, :'gtow'
|
500
|
+
column_alias :group, :'group'
|
501
|
+
column_alias :heading, :'heading'
|
502
|
+
column_alias :hobbs_begin_time, :'hobbs begin time'
|
503
|
+
column_alias :hobbs_end, :'hobbs end'
|
504
|
+
column_alias :holding, :'holding'
|
505
|
+
column_alias :home_tz_gmt_offset, :'home tz gmt offset'
|
506
|
+
column_alias :inside_eec_percent, :'inside eec percent'
|
507
|
+
column_alias :inst_appr_ap1_id, :'inst appr ap1 id'
|
508
|
+
column_alias :inst_appr_ap1_prefix, :'inst appr ap1 prefix'
|
509
|
+
column_alias :inst_appr_ap2_id, :'inst appr ap2 id'
|
510
|
+
column_alias :inst_appr_ap2_prefix, :'inst appr ap2 prefix'
|
511
|
+
column_alias :inst_appr_ap3_id, :'inst appr ap3 id'
|
512
|
+
column_alias :inst_appr_ap3_prefix, :'inst appr ap3 prefix'
|
513
|
+
column_alias :internal_12, :'internal 12'
|
514
|
+
column_alias :internal_13, :'internal 13'
|
515
|
+
column_alias :internal_calc_error, :'internal calc error'
|
516
|
+
column_alias :internal_trans_crew, :'internal trans crew'
|
517
|
+
column_alias :internal02, :'internal02'
|
518
|
+
column_alias :internal03, :'internal03'
|
519
|
+
column_alias :internal04, :'internal04'
|
520
|
+
column_alias :international_leg, :'international leg'
|
521
|
+
column_alias :kid_comm, :'kid - comm'
|
522
|
+
column_alias :kid_date, :'kid - date'
|
523
|
+
column_alias :kid_mult, :'kid - mult'
|
524
|
+
column_alias :kid_time, :'kid - time'
|
525
|
+
column_alias :kid_user, :'kid - user'
|
526
|
+
column_alias :land_time_act_gmt, :'land time act gmt'
|
527
|
+
column_alias :land_time_act_home, :'land time act home'
|
528
|
+
column_alias :landing_night, :'landing night'
|
529
|
+
column_alias :landing_qty, :'landing qty'
|
530
|
+
column_alias :landing_seo, :'landing seo'
|
531
|
+
column_alias :landing_time_est, :'landing time est.'
|
532
|
+
column_alias :leg_count, :'leg count'
|
533
|
+
column_alias :leg_error, :'leg error'
|
534
|
+
column_alias :leg_language, :'leg language'
|
535
|
+
column_alias :leg_no_tax, :'leg no tax'
|
536
|
+
column_alias :leg_number, :'leg number'
|
537
|
+
column_alias :leg_pairing_end, :'leg pairing end'
|
538
|
+
column_alias :leg_pax_comment, :'leg pax comment'
|
539
|
+
column_alias :leg_purpose_code, :'leg purpose code'
|
540
|
+
column_alias :leg_rate_ac_company, :'leg rate ac company'
|
541
|
+
column_alias :leg_rate_ac_id, :'leg rate ac id'
|
542
|
+
column_alias :leg_rate_code, :'leg rate code'
|
543
|
+
column_alias :leg_rate_date, :'leg rate date'
|
544
|
+
column_alias :leg_rate_kid_comm, :'leg rate kid - comm'
|
545
|
+
column_alias :leg_rate_kid_date, :'leg rate kid - date'
|
546
|
+
column_alias :leg_rate_kid_mult, :'leg rate kid - mult'
|
547
|
+
column_alias :leg_rate_kid_time, :'leg rate kid - time'
|
548
|
+
column_alias :leg_rate_kid_user, :'leg rate kid - user'
|
549
|
+
column_alias :leg_req_kid_comm, :'leg req kid - comm'
|
550
|
+
column_alias :leg_req_kid_date, :'leg req kid - date'
|
551
|
+
column_alias :leg_req_kid_mult, :'leg req kid - mult'
|
552
|
+
column_alias :leg_req_kid_time, :'leg req kid - time'
|
553
|
+
column_alias :leg_req_kid_user, :'leg req kid - user'
|
554
|
+
column_alias :leg_requester, :'leg requester'
|
555
|
+
column_alias :leg_state, :'leg state'
|
556
|
+
column_alias :leg_type_code, :'leg type code'
|
557
|
+
column_alias :legality_violation, :'legality violation'
|
558
|
+
column_alias :limo_comment, :'limo comment'
|
559
|
+
column_alias :limo_departure, :'limo departure'
|
560
|
+
column_alias :limo_flags, :'limo flags'
|
561
|
+
column_alias :limo_kid_comm, :'limo kid - comm'
|
562
|
+
column_alias :limo_kid_date, :'limo kid - date'
|
563
|
+
column_alias :limo_kid_mult, :'limo kid - mult'
|
564
|
+
column_alias :limo_kid_time, :'limo kid - time'
|
565
|
+
column_alias :limo_kid_user, :'limo kid - user'
|
566
|
+
column_alias :locked, :'locked'
|
567
|
+
column_alias :locked_by_user_id, :'locked by - user id'
|
568
|
+
column_alias :lunch_comment, :'lunch comment'
|
569
|
+
column_alias :mtow, :'mtow'
|
570
|
+
column_alias :mics_serv_2_comment, :'mics serv 2 comment'
|
571
|
+
column_alias :misc_1_kid_comm, :'misc 1 kid - comm'
|
572
|
+
column_alias :misc_1_kid_date, :'misc 1 kid - date'
|
573
|
+
column_alias :misc_1_kid_mult, :'misc 1 kid - mult'
|
574
|
+
column_alias :misc_1_kid_time, :'misc 1 kid - time'
|
575
|
+
column_alias :misc_1_kid_user, :'misc 1 kid - user'
|
576
|
+
column_alias :misc_2_kid_comm, :'misc 2 kid - comm'
|
577
|
+
column_alias :misc_2_kid_date, :'misc 2 kid - date'
|
578
|
+
column_alias :misc_2_kid_mult, :'misc 2 kid - mult'
|
579
|
+
column_alias :misc_2_kid_time, :'misc 2 kid - time'
|
580
|
+
column_alias :misc_2_kid_user, :'misc 2 kid - user'
|
581
|
+
column_alias :misc_3_kid_comm, :'misc 3 kid - comm'
|
582
|
+
column_alias :misc_3_kid_date, :'misc 3 kid - date'
|
583
|
+
column_alias :misc_3_kid_mult, :'misc 3 kid - mult'
|
584
|
+
column_alias :misc_3_kid_time, :'misc 3 kid - time'
|
585
|
+
column_alias :misc_3_kid_user, :'misc 3 kid - user'
|
586
|
+
column_alias :misc_serv_1_comment, :'misc serv 1 comment'
|
587
|
+
column_alias :misc_serv_1_depart, :'misc serv 1 depart'
|
588
|
+
column_alias :misc_serv_1_flags, :'misc serv 1 flags'
|
589
|
+
column_alias :misc_serv_2_depart, :'misc serv 2 depart'
|
590
|
+
column_alias :misc_serv_2_flags, :'misc serv 2 flags'
|
591
|
+
column_alias :misc_serv_3_comment, :'misc serv 3 comment'
|
592
|
+
column_alias :misc_serv_3_depart, :'misc serv 3 depart'
|
593
|
+
column_alias :misc_serv_3_flags, :'misc serv 3 flags'
|
594
|
+
column_alias :nautical_miles, :'nautical miles'
|
595
|
+
column_alias :never_scheduled, :'never scheduled'
|
596
|
+
column_alias :night_flight, :'night flight'
|
597
|
+
column_alias :non_fuel_expenses, :'non fuel expenses'
|
598
|
+
column_alias :note, :'note'
|
599
|
+
column_alias :number_of_fuel_stops, :'number of fuel stops'
|
600
|
+
column_alias :open_checklist, :'open checklist'
|
601
|
+
column_alias :overflight, :'overflight'
|
602
|
+
column_alias :pic_rcp, :'pic rcp'
|
603
|
+
column_alias :pager, :'pager'
|
604
|
+
column_alias :pallets, :'pallets'
|
605
|
+
column_alias :pass_actual_fixed, :'pass actual fixed'
|
606
|
+
column_alias :passengers_actual, :'passengers actual'
|
607
|
+
column_alias :pax_boarding, :'pax boarding'
|
608
|
+
column_alias :pax_count, :'pax count'
|
609
|
+
column_alias :pax_deplaning, :'pax deplaning'
|
610
|
+
column_alias :pax_ent, :'pax ent'
|
611
|
+
column_alias :pax_estimated, :'pax estimated'
|
612
|
+
column_alias :pax_hotel_comment, :'pax hotel comment'
|
613
|
+
column_alias :pax_hotel_departure, :'pax hotel departure'
|
614
|
+
column_alias :pax_hotel_flags, :'pax hotel flags'
|
615
|
+
column_alias :pax_hotel_kid_comm, :'pax hotel kid - comm'
|
616
|
+
column_alias :pax_hotel_kid_date, :'pax hotel kid - date'
|
617
|
+
column_alias :pax_hotel_kid_mult, :'pax hotel kid - mult'
|
618
|
+
column_alias :pax_hotel_kid_time, :'pax hotel kid - time'
|
619
|
+
column_alias :pax_hotel_kid_user, :'pax hotel kid - user'
|
620
|
+
column_alias :pax_personal, :'pax personal'
|
621
|
+
column_alias :pax_standby_count, :'pax standby count'
|
622
|
+
column_alias :pax_waitlist, :'pax waitlist'
|
623
|
+
column_alias :pilot_mon_appr, :'pilot mon appr'
|
624
|
+
column_alias :planner, :'planner'
|
625
|
+
column_alias :planner_fax, :'planner fax'
|
626
|
+
column_alias :planner_kid_comm, :'planner kid - comm'
|
627
|
+
column_alias :planner_kid_date, :'planner kid - date'
|
628
|
+
column_alias :planner_kid_mult, :'planner kid - mult'
|
629
|
+
column_alias :planner_kid_time, :'planner kid - time'
|
630
|
+
column_alias :planner_kid_user, :'planner kid - user'
|
631
|
+
column_alias :planner_phone, :'planner phone'
|
632
|
+
column_alias :priority, :'priority'
|
633
|
+
column_alias :quote_rate, :'quote rate'
|
634
|
+
column_alias :ron, :'ron'
|
635
|
+
column_alias :ron_fixed, :'ron fixed'
|
636
|
+
column_alias :radiation, :'radiation'
|
637
|
+
column_alias :regulation, :'regulation'
|
638
|
+
column_alias :release_date, :'release date'
|
639
|
+
column_alias :release_time, :'release time'
|
640
|
+
column_alias :release_user, :'release user'
|
641
|
+
column_alias :released, :'released'
|
642
|
+
column_alias :requester, :'requester'
|
643
|
+
column_alias :requester_kid_comm, :'requester kid - comm'
|
644
|
+
column_alias :requester_kid_date, :'requester kid - date'
|
645
|
+
column_alias :requester_kid_mult, :'requester kid - mult'
|
646
|
+
column_alias :requester_kid_time, :'requester kid - time'
|
647
|
+
column_alias :requester_kid_user, :'requester kid - user'
|
648
|
+
column_alias :requester_name_key, :'requester name key'
|
649
|
+
column_alias :requester_purpose, :'requester purpose'
|
650
|
+
column_alias :restricted, :'restricted'
|
651
|
+
column_alias :route_comment, :'route comment'
|
652
|
+
column_alias :ss_start_lat, :'ss start lat'
|
653
|
+
column_alias :ss_start_long, :'ss start long'
|
654
|
+
column_alias :ss_start_time, :'ss start time'
|
655
|
+
column_alias :ss_stop_lat, :'ss stop lat'
|
656
|
+
column_alias :ss_stop_long, :'ss stop long'
|
657
|
+
column_alias :ss_stop_time, :'ss stop time'
|
658
|
+
column_alias :scheduled_quote, :'scheduled quote'
|
659
|
+
column_alias :security_code, :'security code'
|
660
|
+
column_alias :shuttle_flight, :'shuttle flight'
|
661
|
+
column_alias :simulator, :'simulator'
|
662
|
+
column_alias :sortie, :'sortie'
|
663
|
+
column_alias :special_comment, :'special comment'
|
664
|
+
column_alias :specialqualification, :'specialqualification'
|
665
|
+
column_alias :status, :'status'
|
666
|
+
column_alias :statute_miles, :'statute miles'
|
667
|
+
column_alias :sup_res_leg, :'sup res leg'
|
668
|
+
column_alias :t_o_time_act_gmt, :'t/o time act gmt'
|
669
|
+
column_alias :tas, :'tas'
|
670
|
+
column_alias :tas_fixed, :'tas fixed'
|
671
|
+
column_alias :tach_begin_time, :'tach begin time'
|
672
|
+
column_alias :tach_end_time, :'tach end time'
|
673
|
+
column_alias :takeof_time_act_home, :'takeof time act home'
|
674
|
+
column_alias :takeoff_night, :'takeoff night'
|
675
|
+
column_alias :takeoff_qty, :'takeoff qty'
|
676
|
+
column_alias :takeoff_seo, :'takeoff seo'
|
677
|
+
column_alias :taxi_fixed, :'taxi fixed'
|
678
|
+
column_alias :taxi_time, :'taxi time'
|
679
|
+
column_alias :tech_stop, :'tech stop'
|
680
|
+
column_alias :time_zone_change, :'time zone change'
|
681
|
+
column_alias :total_expenses, :'total expenses'
|
682
|
+
column_alias :total_weight, :'total weight'
|
683
|
+
column_alias :touch_go, :'touch go'
|
684
|
+
column_alias :tracking, :'tracking'
|
685
|
+
column_alias :trans_crew_fa, :'trans crew fa'
|
686
|
+
column_alias :trans_crew_fe, :'trans crew fe'
|
687
|
+
column_alias :trans_crew_other, :'trans crew other'
|
688
|
+
column_alias :trans_crew_pic, :'trans crew pic'
|
689
|
+
column_alias :trans_crew_sic, :'trans crew sic'
|
690
|
+
column_alias :trip_number, :'trip number'
|
691
|
+
column_alias :trip_request, :'trip request'
|
692
|
+
column_alias :trips_kid_comm, :'trips kid - comm'
|
693
|
+
column_alias :trips_kid_date, :'trips kid - date'
|
694
|
+
column_alias :trips_kid_mult, :'trips kid - mult'
|
695
|
+
column_alias :trips_kid_time, :'trips kid - time'
|
696
|
+
column_alias :trips_kid_user, :'trips kid - user'
|
697
|
+
column_alias :vor_check, :'vor check'
|
698
|
+
column_alias :valid_rest, :'valid rest'
|
699
|
+
column_alias :verified_by, :'verified by'
|
700
|
+
column_alias :verify_date, :'verify date'
|
701
|
+
column_alias :verify_number, :'verify number'
|
702
|
+
column_alias :verify_time, :'verify time'
|
703
|
+
column_alias :wind, :'wind'
|
704
|
+
column_alias :winds_fixed, :'winds fixed'
|
705
|
+
column_alias :key0, :'key0'
|
706
|
+
column_alias :key1, :'key1'
|
707
|
+
column_alias :key2, :'key2'
|
708
|
+
column_alias :key3, :'key3'
|
709
|
+
column_alias :key4, :'key4'
|
710
|
+
column_alias :key5, :'key5'
|
711
|
+
column_alias :key6, :'key6'
|
712
|
+
column_alias :key7, :'key7'
|
713
|
+
column_alias :key8, :'key8'
|
714
|
+
#### END GENERATED SECTION ####
|
715
|
+
|
716
|
+
|
717
|
+
def client_name
|
718
|
+
theStatus = trip_status
|
719
|
+
!(theStatus=='MAINT' || theStatus=='RESVD') ? requester : ''
|
720
|
+
end
|
721
|
+
|
722
|
+
def ebt_time
|
723
|
+
theStatus = trip_status
|
724
|
+
if theStatus='SCHED' || theStatus='VERI' || (arrival_ap_prefix != departure_ap_prefix)
|
725
|
+
minutes_between = (planned_arrival_date_time_gmt - planned_departure_date_time_gmt)/60;
|
726
|
+
return Time.from_fos_time(minutes_between)
|
727
|
+
end
|
728
|
+
Time.from_fos_time(0)
|
729
|
+
end
|
730
|
+
|
731
|
+
# get pic or sic or purser for this trip leg. type should be :pic or :sic or :pur
|
732
|
+
def pilot_code(type)
|
733
|
+
return '' unless type
|
734
|
+
cl = crew_legs.find{|cl| cl.position_code_code == type.to_s.upcase }
|
735
|
+
return cl ? cl.crew : ''
|
736
|
+
end
|
737
|
+
def pic; pilot_code(:pic); end
|
738
|
+
def sic; pilot_code(:sic); end
|
739
|
+
|
740
|
+
|
741
|
+
##### for the web service TripLegsByDate #######
|
742
|
+
column_view :closed, :boolean
|
743
|
+
column_view :cancelled, :boolean
|
744
|
+
column_view :never_scheduled, :boolean
|
745
|
+
column_view :trip_request, :boolean
|
746
|
+
column_view :is_deadhead?, :boolean
|
747
|
+
|
748
|
+
def status_code
|
749
|
+
return "Cancelled" if cancel_code != 0
|
750
|
+
case status
|
751
|
+
when 0 then "Scheduled"
|
752
|
+
when 1 then "Leg Verified"
|
753
|
+
when 10 then "Cancelled"
|
754
|
+
when 23 then "All Legs Cancelled"
|
755
|
+
when 21 then "Maintenance"
|
756
|
+
when 20 then "Reserved"
|
757
|
+
else "[#{status}]"
|
758
|
+
end
|
759
|
+
end
|
760
|
+
|
761
|
+
TRIP_LEGS_FIELD_MAP =
|
762
|
+
{
|
763
|
+
'status_code' => 'TripLegStatus',
|
764
|
+
'leg_number' => 'leg',
|
765
|
+
'trip_requester_name' => 'Requester',
|
766
|
+
'requester_name_key' => 'reqnamekey',
|
767
|
+
'aircraft_id' => 'AircraftID',
|
768
|
+
'leg_count' => 'LegCount',
|
769
|
+
'departure_icao' => 'DepartICAO',
|
770
|
+
'arrival_icao' => 'ArrivalICAO',
|
771
|
+
'planned_departure_date_gmt_view_mdy_ipc' => 'DepartDateZulu',
|
772
|
+
'planned_arrival_date_gmt_view_mdy_ipc' => 'ArriveDateZulu',
|
773
|
+
'planned_departure_date_local_view_mdy_ipc' => 'DepartDateLocal',
|
774
|
+
'planned_arrival_date_local_view_mdy_ipc' => 'ArriveDateLocal',
|
775
|
+
'planned_departure_time_gmt_view' => 'DepartTimeZulu',
|
776
|
+
'planned_arrival_time_gmt_view' => 'ArriveTimeZulu',
|
777
|
+
'planned_departure_time_local_view' => 'DepartTimeLocal',
|
778
|
+
'planned_arrival_time_local_view' => 'ArriveTimeLocal',
|
779
|
+
'pax_count' => 'PaxCount',
|
780
|
+
'is_deadhead?_boolean_view' => 'Deadhead',
|
781
|
+
'status' => 'Status',
|
782
|
+
'closed_boolean_view' => 'Closed',
|
783
|
+
'cancelled_boolean_view' => 'Cancelled',
|
784
|
+
'cancel_code' => 'CancelCode',
|
785
|
+
'never_scheduled_boolean_view' => 'NeverScheduled',
|
786
|
+
'trip_request_boolean_view' => 'TripRequest',
|
787
|
+
'trip_number' => 'TripNumber',
|
788
|
+
'tail_number' => 'TailNumber',
|
789
|
+
'aircraft_type_id' => 'AircraftType',
|
790
|
+
'fueler_name' => 'DEPFBOName',
|
791
|
+
'airport_fbo_name' => 'ARRFBOName',
|
792
|
+
'pic' => 'CrewPIC',
|
793
|
+
'sic' => 'CrewSIC',
|
794
|
+
'lead_pax_name' => 'LeadPax'
|
795
|
+
}
|
796
|
+
|
797
|
+
|
798
|
+
TRIP_LEGS_FIELD_MAP.each{|k,v| alias_method v, k }
|
799
|
+
##### END for web service TripLegsByDate #######
|
800
|
+
|
801
|
+
subset(:live_departures, :'trip legs__status'=>[0,1], :'trip legs__cancel_code'=>0, ~:leg_type_code=>[7, 103, 113])
|
802
|
+
subset(:maintenance_legs, :status=>21, :leg_type_code=>7 )
|
803
|
+
|
804
|
+
def self.trip_legs_by_date_range(from_date, to_date)
|
805
|
+
unless @trip_legs_by_date_ps
|
806
|
+
ds = TripLeg.
|
807
|
+
filter( :depart_date_key >= :$from_date).filter( :depart_date_key <= :$to_date ).
|
808
|
+
filter( ~:'trip legs__status'=> 31 ). # exclude comments which have status 31
|
809
|
+
eager_graph(:crew_legs => :position_code).eager_graph(:aircraft, :fueler, :airport_fbo, :trip_requester, :trip).
|
810
|
+
select_fields(
|
811
|
+
:self => [:trip_number, :leg_number, :arrival_icao, :departure_icao, :depart_ap_prefix,
|
812
|
+
:arrival_icao_iata_id, :arrival_icao, :arrival_iata, :arrival_ap_prefix, :arrival_airport_id,
|
813
|
+
:time_zone_change, :dept_date_gmt, :arrival_date_gmt, :depart_date_local,
|
814
|
+
:arrival_date_local, :ete, :etd_local, :eta_local, :etd_gmt, :eta_gmt,
|
815
|
+
:passengers_actual, :pax_count, :leg_count, :requester, :requester_name_key,
|
816
|
+
:aircraft_type_id, :leg_type_code, :trip_request, :fuel_burned, :deadhead,
|
817
|
+
:status, :closed, :cancelled, :cancel_code, :never_scheduled],
|
818
|
+
:crew_legs => [:crew, :position],
|
819
|
+
:crew_legs__position_code => [:code],
|
820
|
+
:aircraft => [:max_pax, :tail_number, :aircraft_id],
|
821
|
+
:fueler => [:name],
|
822
|
+
:airport_fbo => [:name],
|
823
|
+
:trip_requester => [:name],
|
824
|
+
:trip => [:approval_code]).
|
825
|
+
order(:'trip legs__trip_number',:'trip legs__leg_number')
|
826
|
+
@trip_legs_by_date_ps = ds.prepare(:select, :trip_legs_by_date_ps)
|
827
|
+
end
|
828
|
+
@trip_legs_by_date_ps.call(:from_date=> from_date.to_fos_days, :to_date => to_date.to_fos_days)
|
829
|
+
end
|
830
|
+
|
831
|
+
def pic_val; pic.blank? ? "N/A" : pic; end
|
832
|
+
def sic_val; sic.blank? ? "N/A" : sic; end
|
833
|
+
|
834
|
+
CRES_LIVE_DEPARTURES_FIELDS = [
|
835
|
+
:trip_number, :leg_number, :arrival_icao, :departure_icao, :time_zone_change,
|
836
|
+
:pax_count, :passengers_actual, :tail_number, :max_pax,
|
837
|
+
:pic_val, :sic_val, :requester, :ete_time_view,
|
838
|
+
:actual_departure_date_gmt, :planned_arrival_date_gmt,
|
839
|
+
:planned_departure_time_local_view, :planned_arrival_time_local_view
|
840
|
+
]
|
841
|
+
|
842
|
+
IROPS_LIVE_DEPARTURES_FIELDS = CRES_LIVE_DEPARTURES_FIELDS.dup << :lead_pax_name
|
843
|
+
|
844
|
+
def self.live_departures_by_date_range(from_date, to_date)
|
845
|
+
unless @live_departures_by_date_ps
|
846
|
+
ds = TripLeg.live_departures.
|
847
|
+
filter( :depart_date_key >= :$from_date).filter( :depart_date_key <= :$to_date ).
|
848
|
+
eager_graph(:crew_legs => :position_code).eager_graph(:aircraft,:trip).
|
849
|
+
select_fields(
|
850
|
+
:self => [:trip_number, :leg_number, :arrival_icao, :departure_icao, :requester,
|
851
|
+
:time_zone_change, :dept_date_gmt, :arrival_date_gmt, :depart_date_local,
|
852
|
+
:arrival_date_local, :ete, :etd_local, :eta_local, :etd_gmt, :eta_gmt, :dept_date_act_gmt,
|
853
|
+
:status, :closed, :cancelled, :cancel_code, :passengers_actual, :pax_count],
|
854
|
+
:crew_legs => [:crew, :position],
|
855
|
+
:crew_legs__position_code => [:code],
|
856
|
+
:trip => [:approval_code], # picked just any field so i can get the primary key fields also
|
857
|
+
:aircraft => [:max_pax, :tail_number]).
|
858
|
+
order(:'trip legs__trip_number',:'trip legs__leg_number')
|
859
|
+
@live_departures_by_date_ps = ds.prepare(:select, :live_departures_by_date_ps)
|
860
|
+
end
|
861
|
+
@live_departures_by_date_ps.call(:from_date=> from_date.to_fos_days, :to_date => to_date.to_fos_days)
|
862
|
+
end
|
863
|
+
|
864
|
+
def self.live_departures_by_date(date)
|
865
|
+
live_departures_by_date_range(date, date)
|
866
|
+
end
|
867
|
+
|
868
|
+
def self.daily_report_by_date_range(from_date, to_date)
|
869
|
+
unless @daily_report_by_date_ps
|
870
|
+
ds = TripLeg.live_departures.
|
871
|
+
filter( :depart_date_key >= :$from_date).filter( :depart_date_key <= :$to_date ).
|
872
|
+
filter( :cancel_code => 0).
|
873
|
+
eager_graph(:crew_legs => :position_code).eager_graph(:aircraft).
|
874
|
+
select_fields(
|
875
|
+
:self => [:trip_number, :leg_number, :arrival_icao, :departure_icao, :requester,
|
876
|
+
:time_zone_change, :dept_date_gmt, :arrival_date_gmt, :depart_date_local,
|
877
|
+
:arrival_date_local, :ete, :etd_local, :eta_local, :etd_gmt, :eta_gmt,
|
878
|
+
:status, :closed, :cancelled, :cancel_code, :passengers_actual, :pax_count],
|
879
|
+
:crew_legs => [:crew, :position],
|
880
|
+
:crew_legs__position_code => [:code],
|
881
|
+
:aircraft => [:max_pax, :tail_number]).
|
882
|
+
order(:'trip legs__trip_number',:'trip legs__leg_number')
|
883
|
+
@daily_report_by_date_ps = ds.prepare(:select, :daily_report_by_date_ps)
|
884
|
+
end
|
885
|
+
@daily_report_by_date_ps.call(:from_date=> from_date.to_fos_days, :to_date => to_date.to_fos_days)
|
886
|
+
end
|
887
|
+
|
888
|
+
def self.daily_report_by_date(date)
|
889
|
+
daily_report_by_date_range(date, date)
|
890
|
+
end
|
891
|
+
|
892
|
+
def self.scheduled_maintenance_in_date_range(from_date, to_date)
|
893
|
+
maintenance_leg.filter(:depart_date_key => from_date.to_fos_days..to_date.to_fos_days)
|
894
|
+
end
|
895
|
+
|
896
|
+
##### for the trip_report query/service on crewres #######
|
897
|
+
# fields to return
|
898
|
+
TRIP_REPORT_FIELDS = [:trip_number, :leg_number,
|
899
|
+
:departure_icao_val, :arrival_icao_val, :aircraft_type_id, :tail_number,
|
900
|
+
:statute_miles, :trip_total_statute_miles, :miles, :fuel_burned,
|
901
|
+
:passengers_actual, :pax_count, :trip_status,
|
902
|
+
:planned_departure_date_local, :planned_departure_time_local_view,
|
903
|
+
:actual_arrival_date_local, :planned_arrival_time_local_view,
|
904
|
+
:actual_departure_time_gmt_view, :actual_arrival_time_gmt_view,
|
905
|
+
:actual_takeoff_time_gmt_view, :actual_land_time_gmt_view,
|
906
|
+
:eft_time, :ebt_time, :aft_time, :abt_time ]
|
907
|
+
|
908
|
+
def self.trip_report(from_date, to_date, hash)
|
909
|
+
extra_fields = hash['extra_fields'] ? hash['extra_fields'] : []
|
910
|
+
filters = []
|
911
|
+
filters << [const_get(hash['status_filter'])] if hash['status_filter']
|
912
|
+
filters << [LIMIT_AIRCRAFT_IDS, hash['aircraft_id_filter']] if hash['aircraft_id_filter']
|
913
|
+
filters << [LIMIT_REPORT_REQUESTER, hash['requester_filter']] if hash['requester_filter']
|
914
|
+
filters << [const_get(hash['regional_filter'])] if hash['regional_filter']
|
915
|
+
filters << [const_get(hash['icao_filter'][0]), hash['icao_filter'][1].split(',')] if hash['icao_filter']
|
916
|
+
# perform query and use filters ( if any ) to select trips that match
|
917
|
+
trip_legs = trip_report_query(from_date, to_date, extra_fields).select do |tl|
|
918
|
+
# all filters applied must be true, so finding one being false will deselect this trip leg
|
919
|
+
!filters.find{|filter, args| filter.call(tl,args) == false}
|
920
|
+
end
|
921
|
+
return trip_legs, {:methods=>(TRIP_REPORT_FIELDS + extra_fields)}
|
922
|
+
end
|
923
|
+
|
924
|
+
TRIP_REPORT_SELECT_FIELDS = { # fields to select in the query
|
925
|
+
:self => [:status, :cancel_code, :trip_number, :leg_number,
|
926
|
+
:requester_kid_date, :requester_kid_time, :requester_kid_mult, :requester_kid_comm,
|
927
|
+
:arrival_icao, :departure_icao, :depart_ap_prefix, :depart_airport_id, :aircraft_type_id,
|
928
|
+
:arrival_ap_prefix, :arrival_airport_id, :arrival_iata, :departure_iata,
|
929
|
+
:statute_miles, :fuel_burned, :regulation, :leg_type_code, :passengers_actual, :pax_count,
|
930
|
+
:dept_date_gmt, :dept_time_act_gmt, :arrival_date_gmt, :depart_date_local, :arriv_time_act_gmt,
|
931
|
+
:arrival_date_gmt, :arrival_date_local, :ete, :etd_local, :eta_local, :etd_gmt, :eta_gmt,
|
932
|
+
:t_o_time_act_gmt, :land_time_act_gmt, :eft, :flight_time_actual, :block_time_actual],
|
933
|
+
:aircraft => [:type_id, :tail_number, :aircraft_id],
|
934
|
+
:trip => [:total_statute_miles] }
|
935
|
+
|
936
|
+
EAGER_GRAPH_OPTIONS = [:aircraft, :trip]
|
937
|
+
|
938
|
+
def self.trip_report_query(from_date, to_date, extra_fields)
|
939
|
+
filter_args = {~:'trip legs__status'=> 31, :depart_date_key => from_date.to_fos_days..to_date.to_fos_days}
|
940
|
+
selecting_fields = TRIP_REPORT_SELECT_FIELDS.dup
|
941
|
+
eager_graph_options = EAGER_GRAPH_OPTIONS.dup
|
942
|
+
if extra_fields.include?('pic')
|
943
|
+
selecting_fields.merge!(:crew_legs => [:crew, :position],:crew_legs__position_code => [:code])
|
944
|
+
eager_graph_options += [{:crew_legs => :position_code}]
|
945
|
+
elsif extra_fields.include?('trip_requester_name')
|
946
|
+
selecting_fields.merge!(:trip_requester => [:name])
|
947
|
+
eager_graph_options += [:trip_requester]
|
948
|
+
end
|
949
|
+
TripLeg.filter(filter_args).eager_graph(eager_graph_options).select_fields(selecting_fields).all
|
950
|
+
end
|
951
|
+
|
952
|
+
#### aliases and special methods #####
|
953
|
+
# This method guarantees an icao for a view that needs one. If there is an icao, use it, otherwise make
|
954
|
+
# it from the prefix and airport_id .. which works as an icao, but beware, because these put together
|
955
|
+
# icao's that you make are valid icao codes, but you can't search the airport based it, since these
|
956
|
+
# airport rows don't have an icao code at all, they only have the prefix and airport_id. whacky.
|
957
|
+
def departure_icao_val
|
958
|
+
departure_icao || depart_ap_prefix + depart_airport_id
|
959
|
+
end
|
960
|
+
|
961
|
+
# same comment as above
|
962
|
+
def arrival_icao_val
|
963
|
+
arrival_icao || arrival_ap_prefix + arrival_airport_id
|
964
|
+
end
|
965
|
+
|
966
|
+
def departure_icao_expanded
|
967
|
+
"#{departure_icao_val} #{departure_airport.name} #{departure_airport.city} ,#{departure_airport.state_abbreviation}"
|
968
|
+
end
|
969
|
+
|
970
|
+
def arrival_icao_expanded
|
971
|
+
"#{arrival_icao_val} #{arrival_airport.name} #{arrival_airport.city} ,#{arrival_airport.state_abbreviation}"
|
972
|
+
end
|
973
|
+
|
974
|
+
def trip_status
|
975
|
+
return "CANC" if cancel_code != 0
|
976
|
+
case status
|
977
|
+
when 0 then "SCHED"
|
978
|
+
when 1 then "VERI"
|
979
|
+
when 10 then "CANC"
|
980
|
+
when 23 then "CANC"
|
981
|
+
when 21 then "MAINT"
|
982
|
+
when 20 then "SCHED" #was "RESVD"
|
983
|
+
else "[#{status}]"
|
984
|
+
end
|
985
|
+
end
|
986
|
+
|
987
|
+
def trip_total_statute_miles
|
988
|
+
trip ? trip.total_statute_miles.to_f/10.0 : 0
|
989
|
+
end
|
990
|
+
|
991
|
+
alias miles statute_miles
|
992
|
+
|
993
|
+
# special id which mushes 4 of the requester kids together.
|
994
|
+
# don't need 5th one( kid_user ) to get unique value, so not using it
|
995
|
+
def requester_id
|
996
|
+
[requester_kid_date,requester_kid_time,requester_kid_mult,requester_kid_comm].join('|')
|
997
|
+
end
|
998
|
+
|
999
|
+
#### status filters ##### ["CANC","SCHED", "VERI"]
|
1000
|
+
LIMIT_REPORT_STATUS_ONLY_UNVERIFIED = lambda {|v,args| ["CANC","SCHED"].include?(v.trip_status) }
|
1001
|
+
LIMIT_REPORT_STATUS_ONLY_VERIFIED = lambda {|v,args| ["VERI"].include?(v.trip_status) }
|
1002
|
+
LIMIT_REPORT_STATUS_ONLY_SCHEDULED = lambda {|v,args| ["SCHED"].include?(v.trip_status) }
|
1003
|
+
LIMIT_REPORT_STATUS_ONLY_UNVERIFIED_SHOW_CANCELLED_LEGS = lambda {|v,args| ["CANC","SCHED"].include?(v.trip_status) }
|
1004
|
+
LIMIT_REPORT_STATUS_ONLY_VERIFIED_SHOW_CANCELLED_LEGS = lambda {|v,args| ["CANC","VERI"].include?(v.trip_status) }
|
1005
|
+
LIMIT_REPORT_STATUS_ONLY_SCHEDULED_SHOW_CANCELLED_LEGS = lambda {|v,args| ["CANC","SCHED"].include?(v.trip_status) }
|
1006
|
+
SHOW_CANCELLED_LEGS = lambda {|v,args| ["CANC"].include?(v.trip_status) }
|
1007
|
+
#### region filters #####
|
1008
|
+
US_PREFIXES = ["K","PA","PF","PO","PP","PH"]
|
1009
|
+
LIMIT_REPORT_REGION_ONLY_INTERNATIONAL = lambda {|v,args| !US_PREFIXES.include?(v.depart_ap_prefix) }
|
1010
|
+
LIMIT_REPORT_REGION_ONLY_USA = lambda {|v,args| US_PREFIXES.include?(v.depart_ap_prefix) }
|
1011
|
+
#### request filter #####
|
1012
|
+
LIMIT_REPORT_REQUESTER = lambda {|v,requester_id| v.requester_id == requester_id }
|
1013
|
+
#### aircraft id filter #####
|
1014
|
+
LIMIT_AIRCRAFT_IDS = lambda {|v,aircraft_ids| aircraft_ids.include?(v.aircraft_id) }
|
1015
|
+
#### city pair filters #####
|
1016
|
+
LIMIT_CITY_PAIR_FROM_ICAO = lambda {|trip_leg,icao_arr| icao_arr.include?(trip_leg.departure_icao_val) }
|
1017
|
+
LIMIT_CITY_PAIR_TO_ICAO = lambda {|trip_leg,icao_arr| icao_arr.include?(trip_leg.arrival_icao_val) }
|
1018
|
+
LIMIT_CITY_PAIR_FROM_ICAO_COUNTRY_CODE = lambda {|trip_leg,country_codes| country_codes.include?(trip_leg.depart_ap_prefix) }
|
1019
|
+
LIMIT_CITY_PAIR_TO_ICAO_COUNTRY_CODE = lambda {|trip_leg,country_codes| country_codes.include?(trip_leg.arrival_ap_prefix) }
|
1020
|
+
CITY_PAIR_SPECIFIC_FIELDS = [:depart_ap_prefix, :departure_iata, :arrival_ap_prefix, :arrival_iata]
|
1021
|
+
# The vars param is an array of filters for the 4 fields that correspond to CITY_PAIR_SPECIFIC_FIELDS.
|
1022
|
+
# If the vars array is ['K','SFO'] then this filter should check that the depart_ap_prefix matches 'K'
|
1023
|
+
# and the depart_iata matches 'SFO'.
|
1024
|
+
LIMIT_CITY_PAIR_SPECIFIC = lambda {|trip_leg,vars|
|
1025
|
+
CITY_PAIR_SPECIFIC_FIELDS.enum_with_index.find{|field,idx|
|
1026
|
+
# check to see if the field value is not equal to the filter but only check if there is a filter for that field
|
1027
|
+
trip_leg.send(field) != vars[idx] unless vars[idx].blank?
|
1028
|
+
}.blank?
|
1029
|
+
# if all matched ok, then returns nil, and if one of the filters did not match then will have
|
1030
|
+
# the value of that non matching field. So, if result is blank?, this trip leg is valid
|
1031
|
+
}
|
1032
|
+
##### END the trip_report query/service on crewres #######
|
1033
|
+
|
1034
|
+
|
1035
|
+
############ kbi report ###############
|
1036
|
+
def is_deadhead?
|
1037
|
+
status==1 and (deadhead==1 or pax_count==0) and [107, 115, 108, 104].include? leg_type_code
|
1038
|
+
end
|
1039
|
+
|
1040
|
+
def is_owner_occupied?
|
1041
|
+
status==1 and deadhead==0 and pax_count>0 and [107, 115, 108, 104].include? leg_type_code
|
1042
|
+
end
|
1043
|
+
|
1044
|
+
def self.kbi_stats(date)
|
1045
|
+
start_date_month, end_date_month = date.beginning_of_month, date.end_of_month
|
1046
|
+
start_date_week, end_date_week = date.beginning_of_week.to_fos_days, date.end_of_week.to_fos_days
|
1047
|
+
|
1048
|
+
hash = Hash.new {|k,v| k[v]=0}
|
1049
|
+
|
1050
|
+
trips = TripLeg.filter(:arrival_date_home=>start_date_month.to_fos_days..end_date_month.to_fos_days).
|
1051
|
+
select(:arrival_date_home, :aircraft_type_id, :flight_time_actual, :eft, :status, :pax_count, :deadhead, :leg_type_code)
|
1052
|
+
|
1053
|
+
occupied_hours = 0
|
1054
|
+
|
1055
|
+
trips.each do |trip|
|
1056
|
+
# hours scheduled/flown per aircraft type
|
1057
|
+
if ["C750","CL30"].include? trip.aircraft_type_id
|
1058
|
+
# month totals
|
1059
|
+
hash["hours_scheduled_month_#{trip.aircraft_type_id}"] += trip.eft / 60.0
|
1060
|
+
hash["hours_flown_month_#{trip.aircraft_type_id}"] += (trip.flight_time_actual / 60.0) if trip.status == 1
|
1061
|
+
# week totals
|
1062
|
+
if trip.arrival_date_home.between? start_date_week,end_date_week
|
1063
|
+
hash["hours_scheduled_week_#{trip.aircraft_type_id}"] += trip.eft / 60.0
|
1064
|
+
end
|
1065
|
+
end
|
1066
|
+
# month charter hours scheduled/flown
|
1067
|
+
if [100,11].include? trip.leg_type_code
|
1068
|
+
hash["hours_scheduled_month_charter"] += trip.eft / 60.0
|
1069
|
+
hash["hours_flown_month_charter"] += (trip.flight_time_actual / 60.0) if trip.status == 1
|
1070
|
+
end
|
1071
|
+
|
1072
|
+
# owner deadhead month hours flown
|
1073
|
+
hash[:hours_flown_month_deadhead] += trip.flight_time_actual / 60.0 if trip.is_deadhead?
|
1074
|
+
# owner deadhead month hours flown
|
1075
|
+
hash[:hours_flown_month_owner] += trip.flight_time_actual / 60.0 if trip.is_owner_occupied?
|
1076
|
+
|
1077
|
+
# other hours flown month
|
1078
|
+
hash[:hours_flown_month_other] += trip.flight_time_actual / 60.0 if !([100,11,107,115,108,104].include? trip.leg_type_code)
|
1079
|
+
|
1080
|
+
# monthly passenger occupied hours
|
1081
|
+
if trip.pax_count > 0 && trip.deadhead == 0 and trip.status == 1
|
1082
|
+
occupied_hours += trip.flight_time_actual / 60.0
|
1083
|
+
end
|
1084
|
+
end
|
1085
|
+
|
1086
|
+
# calculate passenger utilization
|
1087
|
+
hours_flown = hash["hours_flown_month_C750"] + hash["hours_flown_month_CL30"]
|
1088
|
+
hash[:passenger_utilization] = (occupied_hours / hours_flown)*100 rescue 0
|
1089
|
+
# owner guaranteed deadhead percentage month
|
1090
|
+
hash[:owner_guarantee_deadhead] = (hash[:hours_flown_month_deadhead] / (hash[:hours_flown_month_deadhead] + hash[:hours_flown_month_owner])) * 100 rescue 0
|
1091
|
+
hash
|
1092
|
+
end
|
1093
|
+
|
1094
|
+
CUST_SATISFACTION_FIELDS =
|
1095
|
+
[:status_code, :actual_departure_date_gmt, :actual_departure_trip]
|
1096
|
+
|
1097
|
+
# filtering on these leg_type codes ["FXL", 107], ["FXM", 115], ["FXO", 108], ["TPGC", 121], ["TPGP", 122], ["XOLP", 104]
|
1098
|
+
#
|
1099
|
+
def customer_satisfaction_trip_report(date)
|
1100
|
+
trips = Trip.filter(:status=>1, ~:cancel_code=>1, :leg_type_code=> [104,107,108,115,121,122], :arrival_date_gmt=>date.to_fos_days).all
|
1101
|
+
|
1102
|
+
# :status, :dept_date_act_local, :dept_time_act_local, :requester
|
1103
|
+
# :leg_requestor => [:name, :authorizer_string ]
|
1104
|
+
|
1105
|
+
|
1106
|
+
# :status_code
|
1107
|
+
# :actual_departure_date_local, :actual_departure_time_local,
|
1108
|
+
# leg_requestor_name, :lead_pax_name
|
1109
|
+
# lead pax info: lead_pax.passenger.pax_office_phone, pax_email
|
1110
|
+
# planner info: lead_pax.passenger.travel_planner, pl_office_phone , pl_email
|
1111
|
+
# :depture_icao, :arrival_icao,
|
1112
|
+
# :leg_number
|
1113
|
+
# leg_requestor.authorizer_string, leg_requestor.name
|
1114
|
+
#
|
1115
|
+
# delay_1_time, :delay_1_reson
|
1116
|
+
# :statute_miles
|
1117
|
+
end
|
1118
|
+
|
1119
|
+
#pp ts.collect{|t| t.trip_legs.collect{|tl| [tl.trip_number,tl.leg_number,tl.arrival_date_gmt,tl.arriv_time_act_gmt,tl.leg_type_code,tl.leg_type_value_code,tl.is_deadhead?]}}
|
1120
|
+
|
1121
|
+
# [[[68302, 1, 39928, 996, 11, "WHSL", false],
|
1122
|
+
# [68302, 2, 39928, 1332, 11, "WHSL", false]],
|
1123
|
+
# [[68085, 1, 39924, 684, 11, "WHSL", false],
|
1124
|
+
# [68085, 2, 39924, 930, 11, "WHSL", false],
|
1125
|
+
# [68085, 3, 39928, 1224, 11, "WHSL", false]],
|
1126
|
+
# [[68206, 1, 39927, 1050, 107, "FXL", true],
|
1127
|
+
# [68206, 2, 39928, 1218, 107, "FXL", false],
|
1128
|
+
# [68206, 3, 39928, 1242, 107, "FXL", true]],
|
1129
|
+
# [[68376, 1, 39928, 216, 107, "FXL", false],
|
1130
|
+
# [68376, 2, 39928, 222, 107, "FXL", true]],
|
1131
|
+
# [[68437, 1, 39928, 1068, 107, "FXL", true],
|
1132
|
+
# [68437, 2, 39928, 1308, 107, "FXL", false]],
|
1133
|
+
# [[68550, 1, 39928, 1164, 107, "FXL", true],
|
1134
|
+
# [68550, 2, 39928, 1398, 107, "FXL", false]],
|
1135
|
+
# [[68552, 1, 39928, 1332, 107, "FXL", false]],
|
1136
|
+
# [[68576, 1, 39928, 1404, 107, "FXL", false]],
|
1137
|
+
# [[68604, 1, 39928, 876, 107, "FXL", true],
|
1138
|
+
# [68604, 2, 39928, 1218, 107, "FXL", false]],
|
1139
|
+
# [[68607, 1, 39927, 1104, 107, "FXL", true],
|
1140
|
+
# [68607, 2, 39928, 738, 107, "FXL", false],
|
1141
|
+
# [68607, 3, 39928, 1026, 107, "FXL", false],
|
1142
|
+
# [68607, 4, 39928, 1074, 107, "FXL", true]],
|
1143
|
+
# [[68610, 1, 39928, 1122, 11, "WHSL", false],
|
1144
|
+
# [68610, 2, 39928, 1356, 11, "WHSL", false],
|
1145
|
+
# [68610, 3, 39928, 1374, 11, "WHSL", false]]]
|
1146
|
+
end
|
1147
|
+
|
1148
|
+
|
1149
|
+
|