航班备降撤销备降消息处理修改

This commit is contained in:
zhouyuejun
2019-01-25 14:36:11 +08:00
parent df2cfb40a8
commit 85b2f676c9
3 changed files with 101 additions and 80 deletions
+7 -3
View File
@@ -970,19 +970,23 @@ export class MainComponent implements OnInit {
getAlternateNotes(flight) { getAlternateNotes(flight) {
if (this.orderHandle.isArriFlight(flight)) { if (this.orderHandle.isArriFlight(flight)) {
if (flight['preFlight']['FDIV']) { let preFdiv = flight['preFlight']['FDIV'];
if (preFdiv && preFdiv.DDES) {
return true; return true;
} else { } else {
return false; return false;
} }
} else if (this.orderHandle.isDeptFlight(flight)) { } else if (this.orderHandle.isDeptFlight(flight)) {
if (flight['reaFlight']['FDIV']) { let reaFdiv = flight['reaFlight']['FDIV'];
if (reaFdiv && reaFdiv.DDES) {
return true; return true;
} else { } else {
return false; return false;
} }
} else { } else {
if ((flight['preFlight']['FDIV']) || (flight['reaFlight']['FDIV'])) { let preFdiv = flight['preFlight']['FDIV'];
let reaFdiv = flight['reaFlight']['FDIV'];
if ((preFdiv && preFdiv.DDES) || (reaFdiv && reaFdiv.DDES)) {
return true; return true;
} else { } else {
return false; return false;
@@ -70,10 +70,13 @@ export class RelatedTabComponent implements OnInit {
this.precancle = new Date(dateFormatter(this.precancle)).getTime(); this.precancle = new Date(dateFormatter(this.precancle)).getTime();
} }
if (fdivIndex > -1) { if (fdivIndex > -1) {
this.prefdiv = this.lines.preFlight['ABN'][fdivIndex].BODY; let fdiv = this.lines.preFlight['ABN'][fdivIndex].BODY;
let airportIndex = this.allAirports.findIndex(val => val.airportCodeIata === this.prefdiv.DDES); if (fdiv.DDES) {
if (airportIndex > -1) { this.prefdiv = fdiv;
this.prefdiv.DDES = this.allAirports[airportIndex].briefNameChn let airportIndex = this.allAirports.findIndex(val => val.airportCodeIata === this.prefdiv.DDES);
if (airportIndex > -1) {
this.prefdiv.DDES = this.allAirports[airportIndex].briefNameChn
}
} }
} }
if (fretIndex > -1) { if (fretIndex > -1) {
@@ -100,11 +103,15 @@ export class RelatedTabComponent implements OnInit {
this.reacancle = new Date(dateFormatter(this.reacancle)).getTime(); this.reacancle = new Date(dateFormatter(this.reacancle)).getTime();
} }
if (fdivIndex > -1) { if (fdivIndex > -1) {
this.reafdiv = this.lines.reaFlight['ABN'][fdivIndex].BODY; let fdiv = this.lines.reaFlight['ABN'][fdivIndex].BODY;
let airportIndex = this.allAirports.findIndex(val => val.airportCodeIata === this.reafdiv.DDES); if (fdiv.DDES) {
if (airportIndex > -1) { this.reafdiv = fdiv;
this.reafdiv.DDES = this.allAirports[airportIndex].briefNameChn let airportIndex = this.allAirports.findIndex(val => val.airportCodeIata === this.reafdiv.DDES);
if (airportIndex > -1) {
this.reafdiv.DDES = this.allAirports[airportIndex].briefNameChn
}
} }
} }
if (fretIndex > -1) { if (fretIndex > -1) {
let fret = this.lines.reaFlight['ABN'][fretIndex].BODY; let fret = this.lines.reaFlight['ABN'][fretIndex].BODY;
+79 -69
View File
@@ -1,117 +1,127 @@
import dateFormatter from './date-formatter'; import dateFormatter from "./date-formatter";
export class AlertMessageHandle { export class AlertMessageHandle {
public flopCncl(message, airports) { public flopCncl(message, airports) {
if (message.FLOP.CNCL) { if (message.FLOP.CNCL) {
return message.FLOP.FFID + '航班取消'; return message.FLOP.FFID + " 航班取消";
} else { } else {
return message.FLOP.FFID + '航班恢复'; return message.FLOP.FFID + " 航班恢复";
} }
} }
public flopFret(message, airports) { public flopFret(message, airports) {
let returnData = message.FLOP.FRET let returnData = message.FLOP.FRET
if (returnData && returnData.REID && returnData.VALUE) { if (returnData && returnData.REID && returnData.VALUE) {
return message.FLOP.FFID + "航班从" + ((returnData.REID === "A") ? "空中返回" : "地面返回") + " \n\n返回原因:" + returnData.VALUE; return message.FLOP.FFID + " 航班从" + ((returnData.REID === "A") ? "空中返回" : "地面返回") + "\n\n返回原因:" + returnData.VALUE;
} else { } else {
return message.FLOP.FFID + "航班返航撤销"; return message.FLOP.FFID + " 航班返航撤销";
} }
} }
public flopFdiv(message, airports) { public flopFdiv(message, airports) {
let airportName = ''; let optdiversiondata = message.FLOP.FDIV;
let index = airports.findIndex(airport => airport.airportCodeIata === message.FLOP.FDIV.DDES); if (optdiversiondata && optdiversiondata.DDES) {
if (index > -1) { let reason = optdiversiondata.VALUE,
airportName = airports[index].airportNameChn; desc = optdiversiondata.DDES,
} fdivType = optdiversiondata.DDIR,
if (message.FLOP.FDIV.DDIR === 'FROM') { airportName = "";
return message.FLOP.FFID + '航班备降自' + airportName + ',备降原因:' + (message.FLOP.FDIV.content || message.FLOP.FDIV.VALUE); let index = airports.findIndex(airport => airport.airportCodeIata === desc.toUpperCase());
} else if (message.FLOP.FDIV.DDIR === 'TO') { if (index > -1) {
return message.FLOP.FFID + '航班备降到' + airportName + ',备降原因:' + (message.FLOP.FDIV.content || message.FLOP.FDIV.VALUE); airportName = airports[index].airportNameChn;
} else { }
return message.FLOP.FFID + '航班备降,备降原因:' + (message.FLOP.FDIV.content || message.FLOP.FDIV.VALUE); return message.FLOP.FFID + ((fdivType === "TO") ? " 备降到:" : " 备降自:") + airportName + "\n\n备降原因:" + reason;
}else{
return message.FLOP.FFID + " 航班备降撤销"
} }
// 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) { public flopFdel(message, airports) {
return message.FLOP.FFID + '航班被删除了' return message.FLOP.FFID + "航班被删除了"
} }
public flopDely(message, airports) { public flopDely(message, airports) {
let delyArray = message.FLOP.DELY; let delyArray = message.FLOP.DELY;
let delyMessage = delyArray[delyArray.length - 1]; let delyMessage = delyArray[delyArray.length - 1];
return message.FLOP.FFID + '航班延误' + (parseInt(delyMessage.DURA.substr(0, 2)) * 60 + parseInt(delyMessage.DURA.substr(2, 3))) + '分钟;延误码:' + delyMessage.CODE + '; 延误信息:' + (delyMessage.content || delyMessage.VALUE) return message.FLOP.FFID + "航班延误" + (parseInt(delyMessage.DURA.substr(0, 2)) * 60 + parseInt(delyMessage.DURA.substr(2, 3))) + "分钟;延误码:" + delyMessage.CODE + "; 延误信息:" + (delyMessage.content || delyMessage.VALUE)
} }
public flopActt(message, airports) { public flopActt(message, airports) {
return message.FLOP.FFID + '航班实际时间:' + dateFormatter(message.FLOP.ACTT); return message.FLOP.FFID + "航班实际时间:" + dateFormatter(message.FLOP.ACTT);
} }
public flopGtdt(message, airports) { public flopGtdt(message, airports) {
if (Array.isArray(message.FLOP['GTDT']) && message.FLOP['GTDT'].length > 0) { if (Array.isArray(message.FLOP["GTDT"]) && message.FLOP["GTDT"].length > 0) {
let gate = []; let gate = [];
for (let i = 0; i < message.FLOP['GTDT'].length; i++) { for (let i = 0; i < message.FLOP["GTDT"].length; i++) {
gate.push(message.FLOP['GTDT'][i]['GATE']); gate.push(message.FLOP["GTDT"][i]["GATE"]);
} }
let set = new Set(gate); let set = new Set(gate);
return message.FLOP.FFID + '登机门分配为:' + Array.from(set).join(','); return message.FLOP.FFID + "登机门分配为:" + Array.from(set).join(",");
} else if (Object.prototype.toString.call(message.FLOP['GTDT']) === '[object Object]') { } else if (Object.prototype.toString.call(message.FLOP["GTDT"]) === "[object Object]") {
return message.FLOP.FFID + '登机门分配为:' + message.FLOP['GTDT']['GATE']; return message.FLOP.FFID + "登机门分配为:" + message.FLOP["GTDT"]["GATE"];
} else { } else {
return message.FLOP.FFID + '登机门分配为:'; return message.FLOP.FFID + "登机门分配为:";
} }
} }
public flopPsdt(message, airports) { public flopPsdt(message, airports) {
if (Array.isArray(message.FLOP['PSDT']) && message.FLOP['PSDT'].length > 0) { if (Array.isArray(message.FLOP["PSDT"]) && message.FLOP["PSDT"].length > 0) {
let psst = []; let psst = [];
for (let i = 0; i < message.FLOP['PSDT'].length; i++) { for (let i = 0; i < message.FLOP["PSDT"].length; i++) {
psst.push(message.FLOP['PSDT'][i]['PSST']); psst.push(message.FLOP["PSDT"][i]["PSST"]);
} }
let set = new Set(psst); let set = new Set(psst);
return message.FLOP.FFID + '计划机位变更为:' + Array.from(set).join(','); return message.FLOP.FFID + "计划机位变更为:" + Array.from(set).join(",");
} else if (Object.prototype.toString.call(message.FLOP['PSDT']) === '[object Object]') { } else if (Object.prototype.toString.call(message.FLOP["PSDT"]) === "[object Object]") {
return message.FLOP.FFID + '计划机位变更为:' + message.FLOP['PSDT']['PSST']; return message.FLOP.FFID + "计划机位变更为:" + message.FLOP["PSDT"]["PSST"];
} else { } else {
return message.FLOP.FFID + '计划机位变更为:'; return message.FLOP.FFID + "计划机位变更为:";
} }
} }
public flopEstt(message, airports) { public flopEstt(message, airports) {
return message.FLOP.FFID + '预计时间变更为' + dateFormatter(message.FLOP.ESTT); return message.FLOP.FFID + "预计时间变更为" + dateFormatter(message.FLOP.ESTT);
} }
public flopPadt(message, airports) { public flopPadt(message, airports) {
return message.FLOP.FFID + '航班前站实际起飞时间:' + dateFormatter(message.FLOP.PADT); return message.FLOP.FFID + "航班前站实际起飞时间:" + dateFormatter(message.FLOP.PADT);
} }
public flopCkdt(message, airports) { public flopCkdt(message, airports) {
if (Array.isArray(message.FLOP['CKDT']) && message.FLOP['CKDT'].length > 0) { if (Array.isArray(message.FLOP["CKDT"]) && message.FLOP["CKDT"].length > 0) {
let chkc = []; let chkc = [];
for (let i = 0; i < message.FLOP['CKDT'].length; i++) { for (let i = 0; i < message.FLOP["CKDT"].length; i++) {
chkc.push(message.FLOP['CKDT'][i]['CHKC']); chkc.push(message.FLOP["CKDT"][i]["CHKC"]);
} }
let set = new Set(chkc); let set = new Set(chkc);
return message.FLOP.FFID + '航班值机柜台分配为:' + Array.from(set).join(','); return message.FLOP.FFID + "航班值机柜台分配为:" + Array.from(set).join(",");
} else if (Object.prototype.toString.call(message.FLOP['CKDT']) === '[object Object]') { } else if (Object.prototype.toString.call(message.FLOP["CKDT"]) === "[object Object]") {
return message.FLOP.FFID + '航班值机柜台分配为:' + message.FLOP['CKDT']['CHKC']; return message.FLOP.FFID + "航班值机柜台分配为:" + message.FLOP["CKDT"]["CHKC"];
} else { } else {
return message.FLOP.FFID + '航班值机柜台分配为:'; return message.FLOP.FFID + "航班值机柜台分配为:";
} }
} }
public flopBotm(message, airports) { public flopBotm(message, airports) {
return message.FLOP.FFID + '登机开始时间:' + dateFormatter(message.FLOP.BOTM); return message.FLOP.FFID + "登机开始时间:" + dateFormatter(message.FLOP.BOTM);
} }
public flopCldt(message, airports) { public flopCldt(message, airports) {
if (Array.isArray(message.FLOP['CLDT']) && message.FLOP['CLDT'].length > 0) { if (Array.isArray(message.FLOP["CLDT"]) && message.FLOP["CLDT"].length > 0) {
let belt = []; let belt = [];
for (let i = 0; i < message.FLOP['CLDT'].length; i++) { for (let i = 0; i < message.FLOP["CLDT"].length; i++) {
belt.push(message.FLOP['CLDT'][i]['BELT']); belt.push(message.FLOP["CLDT"][i]["BELT"]);
} }
let set = new Set(belt); let set = new Set(belt);
return message.FLOP.FFID + '行李转盘分配为:' + Array.from(set).join(','); return message.FLOP.FFID + "行李转盘分配为:" + Array.from(set).join(",");
} else if (Object.prototype.toString.call(message.FLOP['CLDT']) === '[object Object]') { } else if (Object.prototype.toString.call(message.FLOP["CLDT"]) === "[object Object]") {
return message.FLOP.FFID + '行李转盘分配为:' + message.FLOP['CLDT']['BELT']; return message.FLOP.FFID + "行李转盘分配为:" + message.FLOP["CLDT"]["BELT"];
} else { } else {
return message.FLOP.FFID + '行李转盘分配为:'; return message.FLOP.FFID + "行李转盘分配为:";
} }
} }
public flopRout(message, airports, citys) { public flopRout(message, airports, citys) {
let mvin = message.FLOP.FFID.split('-')[2]; let mvin = message.FLOP.FFID.split("-")[2];
let rout = []; let rout = [];
if (Array.isArray(message.FLOP['ROUT']) && message.FLOP['ROUT'].length > 0) { if (Array.isArray(message.FLOP["ROUT"]) && message.FLOP["ROUT"].length > 0) {
for (let i = 0; i < message.FLOP['ROUT'].length; i++) { for (let i = 0; i < message.FLOP["ROUT"].length; i++) {
let airportIndex = airports.findIndex(val => val.airportCodeIata === message.FLOP['ROUT'][i]['APCD']); let airportIndex = airports.findIndex(val => val.airportCodeIata === message.FLOP["ROUT"][i]["APCD"]);
if (airportIndex > -1) { if (airportIndex > -1) {
if (airports[airportIndex].briefNameChn) { if (airports[airportIndex].briefNameChn) {
rout.push(airports[airportIndex].briefNameChn); rout.push(airports[airportIndex].briefNameChn);
@@ -120,8 +130,8 @@ export class AlertMessageHandle {
} }
} }
} }
} else if (Object.prototype.toString.call(message.FLOP['ROUT']) === '[object Object]') { } else if (Object.prototype.toString.call(message.FLOP["ROUT"]) === "[object Object]") {
let airportIndex = airports.findIndex(val => val.airportCodeIata === message.FLOP['ROUT']['APCD']); let airportIndex = airports.findIndex(val => val.airportCodeIata === message.FLOP["ROUT"]["APCD"]);
if (airportIndex > -1) { if (airportIndex > -1) {
if (airports[airportIndex].briefNameChn) { if (airports[airportIndex].briefNameChn) {
rout.push(airports[airportIndex].briefNameChn); rout.push(airports[airportIndex].briefNameChn);
@@ -130,35 +140,35 @@ export class AlertMessageHandle {
} }
} }
} }
if (mvin === 'A') { if (mvin === "A") {
rout.push('蓉'); rout.push("蓉");
} else if (mvin === 'D') { } else if (mvin === "D") {
rout.unshift('蓉'); rout.unshift("蓉");
} }
return message.FLOP.FFID + '航线更改为:' + rout.join(' - '); return message.FLOP.FFID + "航线更改为:" + rout.join(" - ");
} }
public flopVipp(message, airports, citys) { public flopVipp(message, airports, citys) {
return message.FLOP.FFID + 'VIP旅客:' + (message.FLOP.VIPP || ''); return message.FLOP.FFID + "VIP旅客:" + (message.FLOP.VIPP || "");
} }
public flopHnag() { public flopHnag() {
return '航班代理事件'; return "航班代理事件";
} }
public flopFlbg(message, airports, citys) { public flopFlbg(message, airports, citys) {
return message.FLOP.FFID + '首末件行李到达时间消息'; return message.FLOP.FFID + "首末件行李到达时间消息";
} }
public flopReno(message, airports, citys) { public flopReno(message, airports, citys) {
return message.FLOP.FFID + '更换飞机号:' + message.FLOP.RENO; return message.FLOP.FFID + "更换飞机号:" + message.FLOP.RENO;
} }
public flopAbtm(message, airports, citys) { public flopAbtm(message, airports, citys) {
return message.FLOP.FFID + '靠桥撤桥消息'; return message.FLOP.FFID + "靠桥撤桥消息";
} }
public flopChot(message, airports, citys) { public flopChot(message, airports, citys) {
return message.FLOP.FFID + '上下轮档消息'; return message.FLOP.FFID + "上下轮档消息";
} }
public flopTrml(message, airports, citys) { public flopTrml(message, airports, citys) {
return message.FLOP.FFID + '航站楼:' + message.FLOP.TRML; return message.FLOP.FFID + "航站楼:" + message.FLOP.TRML;
} }
public schdDnld(message, airports, citys) { public schdDnld(message, airports, citys) {
return '收到日航班计划'; return "收到日航班计划";
} }
} }