消息提示处理依照OMMS修改
This commit is contained in:
@@ -1,21 +1,24 @@
|
||||
import dateFormatter from "./date-formatter";
|
||||
export class AlertMessageHandle {
|
||||
public flopCncl(message, airports) {
|
||||
//ok
|
||||
public flopCncl(message) {
|
||||
if (message.FLOP.CNCL) {
|
||||
return message.FLOP.FFID + " 航班取消";
|
||||
} else {
|
||||
return message.FLOP.FFID + " 航班恢复";
|
||||
}
|
||||
}
|
||||
public flopFret(message, airports) {
|
||||
//ok
|
||||
public flopFret(message) {
|
||||
let returnData = message.FLOP.FRET
|
||||
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返回原因:" + returnData.VALUE;
|
||||
} else {
|
||||
return message.FLOP.FFID + " 航班返航撤销";
|
||||
}
|
||||
}
|
||||
public flopFdiv(message, airports) {
|
||||
//ok
|
||||
public flopFdiv(message, airports, flightStatusDefinitions, flightAgents) {
|
||||
let optdiversiondata = message.FLOP.FDIV;
|
||||
if (optdiversiondata && optdiversiondata.DDES) {
|
||||
let reason = optdiversiondata.VALUE,
|
||||
@@ -26,96 +29,163 @@ export class AlertMessageHandle {
|
||||
if (index > -1) {
|
||||
airportName = airports[index].airportNameChn;
|
||||
}
|
||||
return message.FLOP.FFID + ((fdivType === "TO") ? " 备降到:" : " 备降自:") + airportName + ",\n\n备降原因:" + reason;
|
||||
}else{
|
||||
return message.FLOP.FFID + ((fdivType === "TO") ? " 备降到:" : " 备降自:") + airportName + " \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) {
|
||||
return message.FLOP.FFID + "航班被删除了"
|
||||
//ok
|
||||
public flopFdel(message) {
|
||||
return message.FLOP.FFID + " 航班被删除了"
|
||||
}
|
||||
public flopDely(message, airports) {
|
||||
//ok
|
||||
public flopDely(message, airports, flightStatusDefinitions, flightAgents) {
|
||||
let delyArray = message.FLOP.DELY;
|
||||
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)
|
||||
}
|
||||
public flopActt(message, airports) {
|
||||
return message.FLOP.FFID + "航班实际时间:" + dateFormatter(message.FLOP.ACTT);
|
||||
}
|
||||
public flopGtdt(message, airports) {
|
||||
if (Array.isArray(message.FLOP["GTDT"]) && message.FLOP["GTDT"].length > 0) {
|
||||
let gate = [];
|
||||
for (let i = 0; i < message.FLOP["GTDT"].length; i++) {
|
||||
gate.push(message.FLOP["GTDT"][i]["GATE"]);
|
||||
let alertText = "";
|
||||
if (delyArray && delyArray.length > 0) {
|
||||
let delyMessage = delyArray[delyArray.length - 1];
|
||||
if (delyMessage && delyMessage.CODE && delyMessage.VALUE) {
|
||||
let code = delyMessage.CODE;
|
||||
let reason = delyMessage.VALUE;
|
||||
let dura = delyMessage.DURA;
|
||||
let duratime = null;
|
||||
if (dura) {
|
||||
let hh = parseInt(dura.substr(0, 2));
|
||||
let mm = parseInt(dura.substr(2, 3));
|
||||
duratime = hh * 60 + mm;
|
||||
}
|
||||
|
||||
if (code) {
|
||||
alertText = message.FLOP.FFID + " 航班延误"
|
||||
let temp1 = "";
|
||||
let temp2 = "";
|
||||
if (duratime) {
|
||||
temp1 = duratime + "";
|
||||
}
|
||||
alertText += "\n延误时间:" + (temp1 ? temp1 + "分钟" : "待定");
|
||||
if (reason != null) {
|
||||
temp2 = reason;
|
||||
}
|
||||
|
||||
|
||||
alertText += "\n延误码:" + code;
|
||||
|
||||
let fimsFlightstatusDefinition = null;
|
||||
|
||||
if (flightStatusDefinitions && flightStatusDefinitions.length > 0) {
|
||||
for (let i = 0; i < flightStatusDefinitions.length; i++) {
|
||||
let temp = flightStatusDefinitions[i];
|
||||
if (temp.flightStatus && temp.flightStatus === code && temp.flightStatusType && temp.flightStatusType === "DLY") {
|
||||
fimsFlightstatusDefinition = temp;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (fimsFlightstatusDefinition) {
|
||||
alertText += "\n延误类别:" + fimsFlightstatusDefinition.ddsc;
|
||||
}
|
||||
alertText += "\n延误信息:" + temp2;
|
||||
}
|
||||
else {
|
||||
alertText = message.FLOP.FFID + " 航班延误撤销";
|
||||
}
|
||||
}
|
||||
else {
|
||||
alertText = message.FLOP.FFID + " 航班延误撤销";
|
||||
}
|
||||
let set = new Set(gate);
|
||||
return message.FLOP.FFID + "登机门分配为:" + Array.from(set).join(",");
|
||||
} else if (Object.prototype.toString.call(message.FLOP["GTDT"]) === "[object Object]") {
|
||||
return message.FLOP.FFID + "登机门分配为:" + message.FLOP["GTDT"]["GATE"];
|
||||
} else {
|
||||
return message.FLOP.FFID + "登机门分配为:";
|
||||
alertText = message.FLOP.FFID + " 航班延误撤销";
|
||||
}
|
||||
return alertText;
|
||||
}
|
||||
public flopPsdt(message, airports) {
|
||||
//ok
|
||||
public flopActt(message) {
|
||||
return message.FLOP.FFID + " 航班实际时间:" + dateFormatter(message.FLOP.ACTT);
|
||||
}
|
||||
//ok
|
||||
public flopGtdt(message) {
|
||||
let gateCode = "";
|
||||
if (Array.isArray(message.FLOP["GTDT"]) && message.FLOP["GTDT"].length > 0) {
|
||||
let gtdts = message.FLOP["GTDT"];
|
||||
for (let i = 0; i < gtdts.length; i++) {
|
||||
let gate = gtdts[i]["GATE"],
|
||||
gotm = gtdts[i]["GOTM"],
|
||||
gctm = gtdts[i]["GCTM"];
|
||||
if (gate) {
|
||||
gateCode += gate + ":【登机门打开:" + (!gotm ? "待定" : dateFormatter(gotm)) + ";登机门关闭:" + (!gctm ? "待定" : dateFormatter(gctm)) + "】\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
return message.FLOP.FFID + " 登机门分配为:\n" + gateCode;
|
||||
}
|
||||
//ok
|
||||
public flopPsdt(message) {
|
||||
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(",");
|
||||
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"];
|
||||
return message.FLOP.FFID + " 计划机位变更为:" + message.FLOP["PSDT"]["PSST"];
|
||||
} else {
|
||||
return message.FLOP.FFID + "计划机位变更为:";
|
||||
return message.FLOP.FFID + " 计划机位变更为:";
|
||||
}
|
||||
}
|
||||
public flopEstt(message, airports) {
|
||||
return message.FLOP.FFID + "预计时间变更为" + dateFormatter(message.FLOP.ESTT);
|
||||
//ok
|
||||
public flopEstt(message) {
|
||||
return message.FLOP.FFID + " 预计时间变更为" + dateFormatter(message.FLOP.ESTT);
|
||||
}
|
||||
public flopPadt(message, airports) {
|
||||
return message.FLOP.FFID + "航班前站实际起飞时间:" + dateFormatter(message.FLOP.PADT);
|
||||
//ok
|
||||
public flopPadt(message) {
|
||||
if (message.FLOP.PADT) {
|
||||
return message.FLOP.FFID + " 前站实际起飞时间:" + dateFormatter(message.FLOP.PADT);
|
||||
} else {
|
||||
return message.FLOP.FFID + " 前站实际起飞时间撤销";
|
||||
}
|
||||
}
|
||||
public flopCkdt(message, airports) {
|
||||
//ok
|
||||
public flopCkdt(message) {
|
||||
let ckdtCode = "";
|
||||
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 ckdts = message.FLOP["CKDT"];
|
||||
for (let i = 0; i < ckdts.length; i++) {
|
||||
let chkc = ckdts[i]["CHKC"],
|
||||
cotm = ckdts[i]["GOTM"],
|
||||
cctm = ckdts[i]["GCTM"];
|
||||
if (chkc) {
|
||||
ckdtCode += chkc + ":【值机打开:" + (!cotm ? "待定" : dateFormatter(cotm)) + ";值机关闭:" + (!cctm ? "待定" : dateFormatter(cctm)) + "】\n";
|
||||
}
|
||||
}
|
||||
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"];
|
||||
}
|
||||
return message.FLOP.FFID + " 值机柜台分配为:\n" + ckdtCode;
|
||||
}
|
||||
//ok
|
||||
public flopBotm(message) {
|
||||
if (message.FLOP.BOTM) {
|
||||
return message.FLOP.FFID + " 登机开始时间:" + dateFormatter(message.FLOP.BOTM);
|
||||
} else {
|
||||
return message.FLOP.FFID + "航班值机柜台分配为:";
|
||||
return message.FLOP.FFID + " 撤销登机开始时间";
|
||||
}
|
||||
}
|
||||
public flopBotm(message, airports) {
|
||||
return message.FLOP.FFID + "登机开始时间:" + dateFormatter(message.FLOP.BOTM);
|
||||
}
|
||||
public flopCldt(message, airports) {
|
||||
//ok
|
||||
public flopCldt(message) {
|
||||
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(",");
|
||||
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"];
|
||||
return message.FLOP.FFID + " 行李转盘分配为:" + message.FLOP["CLDT"]["BELT"];
|
||||
} else {
|
||||
return message.FLOP.FFID + "行李转盘分配为:";
|
||||
return message.FLOP.FFID + " 行李转盘分配为:";
|
||||
}
|
||||
}
|
||||
public flopRout(message, airports, citys) {
|
||||
//ok
|
||||
public flopRout(message, airports, flightStatusDefinitions, flightAgents) {
|
||||
let mvin = message.FLOP.FFID.split("-")[2];
|
||||
let rout = [];
|
||||
|
||||
@@ -145,30 +215,136 @@ export class AlertMessageHandle {
|
||||
} else if (mvin === "D") {
|
||||
rout.unshift("蓉");
|
||||
}
|
||||
return message.FLOP.FFID + "航线更改为:" + rout.join(" - ");
|
||||
return message.FLOP.FFID + " 航线更改为:" + rout.join(" - ");
|
||||
}
|
||||
public flopVipp(message, airports, citys) {
|
||||
return message.FLOP.FFID + "VIP旅客:" + (message.FLOP.VIPP || "");
|
||||
//ok
|
||||
public flopVipp(message) {
|
||||
let vipp = "";
|
||||
if (message.FLOP.VIPP) {
|
||||
vipp = message.FLOP.VIPP;
|
||||
}
|
||||
return message.FLOP.FFID + " VIP旅客:" + vipp;
|
||||
}
|
||||
public flopHnag() {
|
||||
return "航班代理事件";
|
||||
//ok
|
||||
public flopHnag(message, airports, flightStatusDefinitions, flightAgents) {
|
||||
let fhag = message.FLOP.FHAG;
|
||||
let phag = message.FLOP.PHAG;
|
||||
let mhag = message.FLOP.MHAG;
|
||||
let alertText = message.FLOP.FFID + " ";
|
||||
if (fhag) {
|
||||
let agentName = ""
|
||||
for (let i = 0; i < flightAgents.length; i++) {
|
||||
if (flightAgents[i].oGid == fhag) {
|
||||
agentName = flightAgents[i].flightAgentName;
|
||||
break;
|
||||
}
|
||||
}
|
||||
alertText += "\n 机坪服务代理为:" + agentName;
|
||||
}
|
||||
if (phag) {
|
||||
let agentName = ""
|
||||
for (let i = 0; i < flightAgents.length; i++) {
|
||||
if (flightAgents[i].oGid == phag) {
|
||||
agentName = flightAgents[i].flightAgentName;
|
||||
break;
|
||||
}
|
||||
}
|
||||
alertText += "\n 旅客服务代理为:" + agentName;
|
||||
}
|
||||
if (mhag) {
|
||||
let agentName = ""
|
||||
for (let i = 0; i < flightAgents.length; i++) {
|
||||
if (flightAgents[i].oGid == mhag) {
|
||||
agentName = flightAgents[i].flightAgentName;
|
||||
break;
|
||||
}
|
||||
}
|
||||
alertText += "\n 维护服务代理为:" + agentName;
|
||||
}
|
||||
return alertText;
|
||||
}
|
||||
public flopFlbg(message, airports, citys) {
|
||||
return message.FLOP.FFID + "首末件行李到达时间消息";
|
||||
//ok
|
||||
public flopFlbg(message) {
|
||||
let optbridgedatas = message.FLOP.FLBG;
|
||||
let bridgestr = "";
|
||||
if (optbridgedatas && optbridgedatas.length > 0) {
|
||||
for (let i = 0; i < optbridgedatas.length; i++) {
|
||||
let optbridgedata = optbridgedatas[i];
|
||||
let blst = optbridgedata.BLST;
|
||||
let bcls = optbridgedata.BCLS;
|
||||
let flbt = optbridgedata.FLBT.VALUE;
|
||||
let flbttype = optbridgedata.FLBT.TYPE;
|
||||
if (bcls === 'F') {
|
||||
bcls = "头等";
|
||||
} else if (bcls === 'C') {
|
||||
bcls = "商务";
|
||||
} else if (bcls === 'Y') {
|
||||
bcls = "经济";
|
||||
} else if (bcls === 'X') {
|
||||
bcls = "全部";
|
||||
}
|
||||
if (flbttype === 'F') {
|
||||
flbttype = "首件行李到达时间:";
|
||||
} else {
|
||||
flbttype = "末件行李到达时间:";
|
||||
}
|
||||
bridgestr += "\n转盘号:" + blst + "转盘等级:" + bcls + " " + flbttype + dateFormatter(flbt);
|
||||
}
|
||||
}
|
||||
return message.FLOP.FFID + " " + bridgestr;
|
||||
}
|
||||
public flopReno(message, airports, citys) {
|
||||
return message.FLOP.FFID + "更换飞机号:" + message.FLOP.RENO;
|
||||
//ok
|
||||
public flopReno(message) {
|
||||
let reno = "";
|
||||
if (message.FLOP.RENO) {
|
||||
reno = message.FLOP.RENO;
|
||||
}
|
||||
return message.FLOP.FFID + " 飞机号变更为:" + reno;
|
||||
}
|
||||
public flopAbtm(message, airports, citys) {
|
||||
return message.FLOP.FFID + "靠桥撤桥消息";
|
||||
//ok
|
||||
public flopAbtm(message) {
|
||||
let optbridgedatas = message.FLOP.ABTM;
|
||||
let bridgestr = "";
|
||||
if (optbridgedatas && optbridgedatas.length > 0) {
|
||||
for (let i = 0; i < optbridgedatas.length; i++) {
|
||||
let optbridgedata = optbridgedatas[i];
|
||||
let abdg = optbridgedata.ABDG;
|
||||
let abop = optbridgedata.ABOP;
|
||||
let aotm = optbridgedata.AOTM;
|
||||
bridgestr += "【登机桥 " + abdg + " " + ((abop === "A") ? "靠桥" : "撤桥") + " " + dateFormatter(aotm) + "】\n";
|
||||
}
|
||||
return message.FLOP.FFID + "\n" + bridgestr;
|
||||
} else {
|
||||
return message.FLOP.FFID + " 靠桥撤桥消息"
|
||||
}
|
||||
}
|
||||
public flopChot(message, airports, citys) {
|
||||
return message.FLOP.FFID + "上下轮档消息";
|
||||
//ok
|
||||
public flopChot(message) {
|
||||
let optchocksdatas = message.FLOP.CHOT;
|
||||
let bridgestr = "";
|
||||
if (optchocksdatas && optchocksdatas.length > 0) {
|
||||
for (let i = 0; i < optchocksdatas.length; i++) {
|
||||
let optchocksdata = optchocksdatas[i];
|
||||
let chid = optchocksdata.CHID;
|
||||
let chst = optchocksdata.CHST;
|
||||
let chtm = optchocksdata.CHTM;
|
||||
bridgestr += "【机位:" + chst + ((chid === "ON") ? " 上轮挡:" : " 下轮挡:") + dateFormatter(chtm) + "】\n";
|
||||
}
|
||||
return message.FLOP.FFID + "\n" + bridgestr;
|
||||
} else {
|
||||
return message.FLOP.FFID + " 上下轮档消息";
|
||||
}
|
||||
}
|
||||
public flopTrml(message, airports, citys) {
|
||||
return message.FLOP.FFID + "航站楼:" + message.FLOP.TRML;
|
||||
//ok
|
||||
public flopTrml(message) {
|
||||
let trml = "";
|
||||
if (message.FLOP.TRML) {
|
||||
trml = message.FLOP.TRML;
|
||||
}
|
||||
return message.FLOP.FFID + " 航站楼:" + trml;
|
||||
}
|
||||
public schdDnld(message, airports, citys) {
|
||||
//ok
|
||||
public schdDnld(message) {
|
||||
return "收到日航班计划";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user