Files
airport-chengdu-web/src/app/utils/alert-message-handle.ts
T
2019-01-12 13:56:57 +08:00

166 lines
7.4 KiB
TypeScript

import dateFormatter from './date-formatter';
export class AlertMessageHandle {
// public alertMessage = {
// 'FLOP-CNCL':'',
// 'FLOP-FRET':'',
// 'FLOP-FDIV':'',
// 'FLOP-FDEL':'',
// 'FLOP-DELY':'',
// 'FLOP-ACTT':'',
// 'FLOP-GTDT':'',
// 'FLOP-PSDT':'',
// 'FLOP-ESTT':'',
// 'FLOP-PADT':'',
// 'FLOP-CKDT':'',
// 'FLOP-BOTM':'',
// 'FLOP-CLDT':'',
// 'FLOP-ROUT':'',
// 'FLOP-VIPP':'',
// 'FLOP-HNAG':'',
// 'FLOP-FLBG':'',
// 'FLOP-RENO':'',
// 'FLOP-ABTM':'',
// 'FLOP-CHOT':'',
// 'FLOP-TRML':'',
// }
public flopCncl(message, airports) {
if(message.FLOP.CNCL){
return message.FLOP.FFID + '航班取消';
}else{
return message.FLOP.FFID + '航班恢复';
}
}
public flopFret(message, airports) {
if (message.FLOP.FRET.REID === 'G') {
return message.FLOP.FFID + '航班从地面返回,返回原因:' + message.FLOP.FRET.content || message.FLOP.FRET.VALUE;
} else if (message.FLOP.FRET.REID === 'A') {
return message.FLOP.FFID + '航班从空中返回,返回原因:' + message.FLOP.FRET.content || message.FLOP.FRET.VALUE;
} else {
return message.FLOP.FFID + '航班从空中或地面返回,返回原因:' + message.FLOP.FRET.content || message.FLOP.FRET.VALUE;
}
}
public flopFdiv(message, airports) {
let airportName = '';
let index = airports.findIndex(airport => airport.airportCodeIata === message.FLOP.FDIV.DDES);
if (index > -1) {
airportName = airports[index].airportNameChn;
}
if (message.FLOP.FDIV.DDIR === 'FROM') {
return message.FLOP.FFID + '航班备降自' + airportName + ',备降原因:' + message.FLOP.FDIV.content || message.FLOP.FDIV.VALUE;
} else if (message.FLOP.FDIV.DDIR === 'TO') {
return message.FLOP.FFID + '航班备降到' + airportName + ',备降原因:' + message.FLOP.FDIV.content || message.FLOP.FDIV.VALUE;
} else {
return message.FLOP.FFID + '航班备降,备降原因:' + message.FLOP.FDIV.content || message.FLOP.FDIV.VALUE;
}
}
public flopFdel(message, airports) {
return message.FLOP.FFID + '航班被删除了'
}
public flopDely(message, airports) {
return message.FLOP.FFID + '航班延误' + message.FLOP.DELY.DURA + '分钟;延误码:' + message.FLOP.DELY.CODE + ';延误信息:' + message.FLOP.DELY.content || message.FLOP.DELY.VALUE
}
public flopActt(message, airports) {
return message.FLOP.FFID + '航班实际时间:' + dateFormatter(message.FLOP.ACTT);
}
public flopGtdt(message, airports) {
return message.FLOP.FFID + '登机门分配为:' + message.FLOP.GTDT.GATE
}
public flopPsdt(message, airports) {
if (Array.isArray(message.FLOP['PSDT']) && message.FLOP['PSDT'].length > 0) {
let psst = [];
for (let i = 0; i < message.FLOP['PSDT'].length; i++) {
psst.push(message.FLOP['PSDT'][i]['PSST']);
}
let set = new Set(psst);
return message.FLOP.FFID + '计划机位变更为:' + Array.from(set).join(',');
} else if (Object.prototype.toString.call(message.FLOP['PSDT']) === '[object Object]') {
return message.FLOP.FFID + '计划机位变更为:' + message.FLOP['PSDT']['PSST'];
} else {
return message.FLOP.FFID + '计划机位变更为:';
}
}
public flopEstt(message, airports) {
return message.FLOP.FFID + '预计时间变更为' + dateFormatter(message.FLOP.ESTT);
}
public flopPadt(message, airports) {
return message.FLOP.FFID + '航班前站实际起飞时间:' + dateFormatter(message.FLOP.PADT);
}
public flopCkdt(message, airports) {
if (Array.isArray(message.FLOP['CKDT']) && message.FLOP['CKDT'].length > 0) {
let chkc = [];
for (let i = 0; i < message.FLOP['CKDT'].length; i++) {
chkc.push(message.FLOP['CKDT'][i]['CHKC']);
}
let set = new Set(chkc);
return message.FLOP.FFID + '航班值机柜台分配为:' + Array.from(set).join(',');
} else if (Object.prototype.toString.call(message.FLOP['CKDT']) === '[object Object]') {
return message.FLOP.FFID + '航班值机柜台分配为:' + message.FLOP['CKDT']['CHKC'];
} else {
return message.FLOP.FFID + '航班值机柜台分配为:';
}
}
public flopBotm(message, airports) {
return message.FLOP.FFID + '登机开始时间:' + dateFormatter(message.FLOP.BOTM);
}
public flopCldt(message, airports) {
if (Array.isArray(message.FLOP['CLDT']) && message.FLOP['CLDT'].length > 0) {
let belt = [];
for (let i = 0; i < message.FLOP['CLDT'].length; i++) {
belt.push(message.FLOP['CLDT'][i]['BELT']);
}
let set = new Set(belt);
return message.FLOP.FFID + '行李转盘分配为:' + Array.from(set).join(',');
} else if (Object.prototype.toString.call(message.FLOP['CLDT']) === '[object Object]') {
return message.FLOP.FFID + '行李转盘分配为:' + message.FLOP['CLDT']['BELT'];
} else {
return message.FLOP.FFID + '行李转盘分配为:';
}
}
public flopRout(message, airports, citys) {
let mvin = message.FLOP.FFID.split('-')[2];
let rout = [];
if (Array.isArray(message.FLOP['ROUT']) && message.FLOP['ROUT'] > 0) {
for (let i = 0; i < message.FLOP['ROUT'].length; i++) {
let airportIndex = airports.findIndex(val => val.airportCodeIata === message.FLOP['ROUT'][i]['APCD']);
let cityIndex = citys.findIndex(val => airports[airportIndex].cityId === val.cityId);
rout.push(citys[cityIndex].cityNameChn);
}
} else if (Object.prototype.toString.call(message.FLOP['ROUT']) === '[object Object]') {
let airportIndex = airports.findIndex(val => val.airportCodeIata === message.FLOP['ROUT']['APCD']);
let cityIndex = citys.findIndex(val => airports[airportIndex].cityId === val.cityId);
rout.push(citys[cityIndex].cityNameChn);
}
if (mvin === 'A') {
rout.push('成都');
} else if (mvin === 'D') {
rout.unshift('成都');
}
return message.FLOP.FFID + '航线更改为:' + rout.join(' - ');
}
public flopVipp(message, airports, citys) {
return message.FLOP.FFID + 'VIP旅客:' + message.FLOP.VIPP + '人';
}
public flopHnag() {
return '航班代理事件';
}
public flopFlbg(message,airports,citys) {
return message.FLOP.FFID + '首末件行李到达时间消息';
}
public flopReno(message,airports,citys) {
return message.FLOP.FFID + '更换飞机号:' + message.FLOP.RENO;
}
public flopAbtm(message,airports,citys) {
return message.FLOP.FFID + '靠桥撤桥消息';
}
public flopChot(message,airports,citys) {
return message.FLOP.FFID + '上下轮档消息';
}
public flopTrml(message,airports,citys) {
return message.FLOP.FFID + '航站楼:' + message.FLOP.TRML;
}
public schdDnld(message,airports,citys){
return '收到日航班计划';
}
}