485 lines
17 KiB
TypeScript
485 lines
17 KiB
TypeScript
import { Utils } from './utils'
|
|
export class TransferRenderHandle {
|
|
private utils = new Utils();
|
|
|
|
public arsfFormatter(flight) {
|
|
if (flight['MVIN'] === 'A') {
|
|
if (Array.isArray(flight['MAFL']) && flight['MAFL'].length > 0) {
|
|
let arsf = [];
|
|
for (let i = 0; i < flight['MAFL'].length; i++) {
|
|
arsf.push(flight['MAFL'][i]['FLNO']);
|
|
}
|
|
let set = new Set(arsf);
|
|
return Array.from(set).join(',');
|
|
} else if (Object.prototype.toString.call(flight['MAFL']) === '[object Object]') {
|
|
return flight['MAFL']['FLNO'];
|
|
} else {
|
|
return '';
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public desfFormatter(flight) {
|
|
if (flight['MVIN'] === 'D') {
|
|
if (Array.isArray(flight['MAFL']) && flight['MAFL'].length > 0) {
|
|
let desf = [];
|
|
for (let i = 0; i < flight['MAFL'].length; i++) {
|
|
desf.push(flight['MAFL'][i]['FLNO']);
|
|
}
|
|
let set = new Set(desf);
|
|
return Array.from(set).join(',');
|
|
} else if (Object.prototype.toString.call(flight['MAFL']) === '[object Object]') {
|
|
return flight['MAFL']['FLNO'];
|
|
} else {
|
|
return '';
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public renoFormatter(flight) {
|
|
if (flight['RENO']) {
|
|
if (flight['LRENO']) {
|
|
if (flight['RENO'] == flight['LRENO']) {
|
|
return flight['RENO'];
|
|
} else {
|
|
return flight['RENO'] + '(' + flight['LRENO'] + ')';
|
|
}
|
|
} else {
|
|
return flight['RENO'];
|
|
}
|
|
} else {
|
|
if (flight['LRENO']) {
|
|
return '(' + flight['LRENO'] + ')';
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
}
|
|
public gctmFormatter(flight) {
|
|
function add0(m) {
|
|
return m < 10 ? '0' + m : m
|
|
}
|
|
if (flight['GTDT']) {
|
|
if (Array.isArray(flight['GTDT']) && flight['GTDT'].length > 0) {
|
|
let gtdt = flight['GTDT'];
|
|
let gctmArray = [];
|
|
gtdt.forEach(element => {
|
|
if (element['GCTM']) {
|
|
let gctmTime = new Date(this.utils.dateFormatter(element['GCTM'])).getTime();
|
|
gctmArray.push(gctmTime)
|
|
}
|
|
});
|
|
|
|
if (gctmArray.length > 0) {
|
|
let laterTime = Math.max.apply(null, gctmArray);
|
|
return add0(new Date(laterTime).getHours()) + ':' + add0(new Date(laterTime).getMinutes())
|
|
} else {
|
|
return '';
|
|
}
|
|
|
|
// return this.utils.timeFormatter(flight['GTDT'][0]['GCTM']);
|
|
} else if (Object.prototype.toString.call(flight['GTDT']) === '[object Object]') {
|
|
return this.utils.timeFormatter(flight['GTDT']['GCTM']);
|
|
} else {
|
|
return '';
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public botmFormatter(flight) {
|
|
if (flight['BOTM']) {
|
|
return this.utils.timeFormatter(flight['BOTM']);
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public abdgFormatter(flight) {
|
|
if (flight['ABDG']) {
|
|
return flight['ABDG'];
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public aotm_aFormatter(flight) {
|
|
if (flight['ABTM']) {
|
|
if (Array.isArray(flight['ABTM']) && flight['ABTM'].length > 0) {
|
|
for (let i = 0; i < flight['ABTM'].length; i++) {
|
|
if (flight['ABTM'][i]['ABOP'] === 'A') {
|
|
return this.utils.timeFormatter(flight['ABTM'][i]['AOTM']);
|
|
}
|
|
}
|
|
} else if (Object.prototype.toString.call(flight['ABTM']) === '[object Object]') {
|
|
if (flight['ABTM']['ABOP'] === 'A') {
|
|
return this.utils.timeFormatter(flight['ABTM']['AOTM']);
|
|
} else {
|
|
return '';
|
|
}
|
|
|
|
} else {
|
|
return '';
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public aotm_dFormatter(flight) {
|
|
if (flight['ABTM']) {
|
|
if (Array.isArray(flight['ABTM']) && flight['ABTM'].length > 0) {
|
|
for (let i = 0; i < flight['ABTM'].length; i++) {
|
|
if (flight['ABTM'][i]['ABOP'] === 'D') {
|
|
return this.utils.timeFormatter(flight['ABTM'][i]['AOTM']);
|
|
}
|
|
}
|
|
} else if (Object.prototype.toString.call(flight['ABTM']) === '[object Object]') {
|
|
if (flight['ABTM']['ABOP'] === 'D') {
|
|
return this.utils.timeFormatter(flight['ABTM']['AOTM']);
|
|
} else {
|
|
return '';
|
|
}
|
|
|
|
} else {
|
|
return '';
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public beltFormatter(flight) {
|
|
if (flight['CLDT']) {
|
|
if (Array.isArray(flight['CLDT']) && flight['CLDT'].length > 0) {
|
|
let belt = [];
|
|
for (let i = 0; i < flight['CLDT'].length; i++) {
|
|
belt.push(flight['CLDT'][i]['BELT']);
|
|
}
|
|
let set = new Set(belt);
|
|
return Array.from(set).join(',');
|
|
} else if (Object.prototype.toString.call(flight['CLDT']) === '[object Object]') {
|
|
return flight['CLDT']['BELT'];
|
|
} else {
|
|
return '';
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public chkcFormatter(flight) {
|
|
if (flight['CKDT']) {
|
|
if (Array.isArray(flight['CKDT']) && flight['CKDT'].length > 0) {
|
|
let chkc = [];
|
|
for (let i = 0; i < flight['CKDT'].length; i++) {
|
|
chkc.push(flight['CKDT'][i]['CHKC']);
|
|
}
|
|
let set = new Set(chkc);
|
|
return Array.from(set).join(',');
|
|
} else if (Object.prototype.toString.call(flight['CKDT']) === '[object Object]') {
|
|
return flight['CKDT']['CHKC'];
|
|
} else {
|
|
return '';
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public cctmFormatter(flight) {
|
|
function add0(m) {
|
|
return m < 10 ? '0' + m : m
|
|
}
|
|
if (flight['CKDT']) {
|
|
if (Array.isArray(flight['CKDT']) && flight['CKDT'].length > 0) {
|
|
let ckdt = flight['CKDT'];
|
|
let cctmArray = [];
|
|
ckdt.forEach(element => {
|
|
if (element['CCTM']) {
|
|
let cctmTime = new Date(this.utils.dateFormatter(element['CCTM'])).getTime();
|
|
cctmArray.push(cctmTime)
|
|
}
|
|
});
|
|
|
|
if (cctmArray.length > 0) {
|
|
let laterTime = Math.max.apply(null, cctmArray);
|
|
return add0(new Date(laterTime).getHours()) + ':' + add0(new Date(laterTime).getMinutes())
|
|
} else {
|
|
return '';
|
|
}
|
|
} else if (Object.prototype.toString.call(flight['CKDT']) === '[object Object]') {
|
|
return this.utils.timeFormatter(flight['CKDT']['CCTM']);
|
|
} else {
|
|
return '';
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public cotmFormatter(flight) {
|
|
function add0(m) {
|
|
return m < 10 ? '0' + m : m
|
|
}
|
|
if (flight['CKDT']) {
|
|
if (Array.isArray(flight['CKDT']) && flight['CKDT'].length > 0) {
|
|
let ckdt = flight['CKDT'];
|
|
let cotmArray = [];
|
|
ckdt.forEach(element => {
|
|
if (element['COTM']) {
|
|
let cctmTime = new Date(this.utils.dateFormatter(element['COTM'])).getTime();
|
|
cotmArray.push(cctmTime)
|
|
}
|
|
});
|
|
|
|
if (cotmArray.length > 0) {
|
|
let laterTime = Math.min.apply(null, cotmArray);
|
|
return add0(new Date(laterTime).getHours()) + ':' + add0(new Date(laterTime).getMinutes())
|
|
} else {
|
|
return '';
|
|
}
|
|
} else if (Object.prototype.toString.call(flight['CKDT']) === '[object Object]') {
|
|
return this.utils.timeFormatter(flight['CKDT']['CCTM']);
|
|
} else {
|
|
return '';
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public chtmOnFormatter(flight) {
|
|
if (flight['CHOT']) {
|
|
if (Array.isArray(flight['CHOT']) && flight['CHOT'].length > 0) {
|
|
for (let i = 0; i < flight['CHOT'].length; i++) {
|
|
if (flight['CHOT'][i]['CHID'] === 'ON') {
|
|
return this.utils.timeFormatter(flight['CHOT'][i]['CHTM']);
|
|
}
|
|
}
|
|
} else if (Object.prototype.toString.call(flight['CHOT']) === '[object Object]') {
|
|
if (flight['CHOT']['CHID'] === 'ON') {
|
|
return this.utils.timeFormatter(flight['CHOT']['CHTM']);
|
|
} else {
|
|
return '';
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public chtmOffFormatter(flight) {
|
|
if (flight['CHOT']) {
|
|
if (Array.isArray(flight['CHOT']) && flight['CHOT'].length > 0) {
|
|
for (let i = 0; i < flight['CHOT'].length; i++) {
|
|
if (flight['CHOT'][i]['CHID'] === 'OFF') {
|
|
return this.utils.timeFormatter(flight['CHOT'][i]['CHTM']);
|
|
}
|
|
}
|
|
} else if (Object.prototype.toString.call(flight['CHOT']) === '[object Object]') {
|
|
if (flight['CHOT']['CHID'] === 'OFF') {
|
|
return this.utils.timeFormatter(flight['CHOT']['CHTM']);
|
|
} else {
|
|
return '';
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public laclFormatter(flight) {
|
|
if (flight['LACL']) {
|
|
return this.utils.timeFormatter(flight['LACL']);
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public chutFormatter(flight) {
|
|
if (flight['CHDT']) {
|
|
if (Array.isArray(flight['CHDT']) && flight['CHDT'].length > 0) {
|
|
let chut = [];
|
|
for (let i = 0; i < flight['CHDT'].length; i++) {
|
|
chut.push(flight['CHDT'][i]['CHUT']);
|
|
}
|
|
let set = new Set(chut);
|
|
return Array.from(set).join(',');
|
|
} else if (Object.prototype.toString.call(flight['CHDT']) === '[object Object]') {
|
|
return flight['CHDT']['CHUT'];
|
|
} else {
|
|
return '';
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public acttFormatter(flight) {
|
|
if (flight['ACTT']) {
|
|
return this.utils.timeFormatter(flight['ACTT']);
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public psstFormatter(flight) {
|
|
if (flight['PSDT']) {
|
|
if (Array.isArray(flight['PSDT']) && flight['PSDT'].length > 0) {
|
|
let psst = [];
|
|
for (let i = 0; i < flight['PSDT'].length; i++) {
|
|
psst.push(flight['PSDT'][i]['PSST']);
|
|
}
|
|
let set = new Set(psst);
|
|
let joinedPsst = Array.from(set).join(',')
|
|
if (flight['LPSDT']) {
|
|
if (joinedPsst == flight['LPSDT']) {
|
|
return joinedPsst;
|
|
} else {
|
|
return joinedPsst + '(' + flight['LPSDT'] + ')';
|
|
}
|
|
} else {
|
|
return joinedPsst;
|
|
}
|
|
} else if (Object.prototype.toString.call(flight['PSDT']) === '[object Object]') {
|
|
if (flight['LPSDT']) {
|
|
if (flight['PSDT']['PSST'] == flight['LPSDT']) {
|
|
return flight['PSDT']['PSST'];
|
|
} else {
|
|
return flight['PSDT']['PSST'] + '(' + flight['LPSDT'] + ')';
|
|
}
|
|
|
|
} else {
|
|
return flight['PSDT']['PSST'];
|
|
}
|
|
} else {
|
|
if (flight['LPSDT']) {
|
|
return '(' + flight['LPSDT'] + ')';
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
} else {
|
|
if (flight['LPSDT']) {
|
|
return '(' + flight['LPSDT'] + ')';
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
}
|
|
public esttFormatter(flight) {
|
|
if (flight['ESTT']) {
|
|
return this.utils.timeFormatter(flight['ESTT']);
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public mvinFormatter(flight) {
|
|
if (flight['MVIN']) {
|
|
if (flight['MVIN'] === 'A') {
|
|
return '到达';
|
|
} else if (flight['MVIN'] === 'D') {
|
|
return '出发';
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public erutFormatter(flight) {
|
|
if (flight['ERUT']) {
|
|
if (Array.isArray(flight['ERUT']) && flight['ERUT'].length > 0) {
|
|
let erut = [];
|
|
for (let i = 0; i < flight['ERUT'].length; i++) {
|
|
erut.push(flight['ERUT'][i]['APCD']);
|
|
}
|
|
return erut.join(' - ');
|
|
} else if (Object.prototype.toString.call(flight['ERUT']) === '[object Object]') {
|
|
return flight['ERUT']['APCD'];
|
|
} else {
|
|
return '';
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public flinFormatter(flight) {
|
|
const flinChn = {
|
|
'D': '国内',
|
|
'I': '国际',
|
|
'M': '混合',
|
|
'R': '地区'
|
|
}
|
|
if (flight['FLIN']) {
|
|
return flinChn[flight['FLIN']];
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public sodtFormatter(flight) {
|
|
if (flight['SODT']) {
|
|
return this.utils.timeFormatter(flight['SODT']);
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public gateFormatter(flight) {
|
|
if (flight['GTDT']) {
|
|
if (Array.isArray(flight['GTDT']) && flight['GTDT'].length > 0) {
|
|
let gate = [];
|
|
for (let i = 0; i < flight['GTDT'].length; i++) {
|
|
gate.push(flight['GTDT'][i]['GATE']);
|
|
}
|
|
let set = new Set(gate);
|
|
return Array.from(set).join(',');
|
|
} else if (Object.prototype.toString.call(flight['GTDT']) === '[object Object]') {
|
|
return flight['GTDT']['GATE'];
|
|
} else {
|
|
return '';
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public padtFormatter(flight) {
|
|
if (flight['MVIN'] === 'A') {
|
|
if (flight['PADT']) {
|
|
if (Array.isArray(flight['ROUT']) && flight['ROUT'].length > 0) {
|
|
let lastRout = flight['ROUT'][flight['ROUT'].length - 1];
|
|
if (lastRout['SCDT']) {
|
|
return this.utils.timeFormatter(flight['PADT']) + '(' + this.utils.timeFormatter(lastRout['SCDT']) + ')';
|
|
} else {
|
|
return this.utils.timeFormatter(flight['PADT']);
|
|
}
|
|
} else if (Object.prototype.toString.call(flight['ROUT']) === '[object Object]') {
|
|
if (flight['ROUT']['SCDT']) {
|
|
return this.utils.timeFormatter(flight['PADT']) + '(' + this.utils.timeFormatter(flight['ROUT']['SCDT']) + ')';
|
|
} else {
|
|
return this.utils.timeFormatter(flight['PADT']);
|
|
}
|
|
} else {
|
|
return this.utils.timeFormatter(flight['PADT']);
|
|
}
|
|
} else {
|
|
if (Array.isArray(flight['ROUT']) && flight['ROUT'].length > 0) {
|
|
let lastRout = flight['ROUT'][flight['ROUT'].length - 1];
|
|
if (lastRout['SCDT']) {
|
|
return '(' + this.utils.timeFormatter(lastRout['SCDT']) + ')';
|
|
} else {
|
|
return '';
|
|
}
|
|
} else if (Object.prototype.toString.call(flight['ROUT']) === '[object Object]') {
|
|
if (flight['ROUT']['SCDT']) {
|
|
return '(' + this.utils.timeFormatter(flight['ROUT']['SCDT']) + ')';
|
|
} else {
|
|
return '';
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
public fldtFormatter(flight) {
|
|
if (flight['SODT']) {
|
|
return this.utils.dateWithoutTime(flight['SODT']);
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
} |