消息提示处理依照OMMS修改

This commit is contained in:
zhouyuejun
2019-01-28 17:12:03 +08:00
parent 85b2f676c9
commit 4b55643fdb
9 changed files with 288 additions and 85 deletions
+250 -74
View File
@@ -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 "收到日航班计划";
}
}