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 ''; } } }