diff --git a/src/app/components/toast/toast-box.component.scss b/src/app/components/toast/toast-box.component.scss
index 0517a95..223650d 100644
--- a/src/app/components/toast/toast-box.component.scss
+++ b/src/app/components/toast/toast-box.component.scss
@@ -35,7 +35,7 @@
bottom:0;
}
.toast-list{
- height: 100px;
+ height: 135px;
width: 100%;
position: absolute;
top: 0;
diff --git a/src/app/components/toast/toast.component.html b/src/app/components/toast/toast.component.html
index 24eba94..fa53364 100644
--- a/src/app/components/toast/toast.component.html
+++ b/src/app/components/toast/toast.component.html
@@ -2,7 +2,7 @@
-
- {{config.textStrong}}{{config.text}}
+
+ {{config.textStrong}}
{{config.text}}
\ No newline at end of file
diff --git a/src/app/components/toast/toast.component.scss b/src/app/components/toast/toast.component.scss
index 0a540f9..4e64fea 100644
--- a/src/app/components/toast/toast.component.scss
+++ b/src/app/components/toast/toast.component.scss
@@ -14,5 +14,11 @@
top: 10px;
right: 10px;
}
+ pre{
+ display: inline;
+ vertical-align: top;
+ overflow: hidden;
+ white-space: pre-wrap;
+ }
diff --git a/src/app/pages/historical-data/historical-data.component.ts b/src/app/pages/historical-data/historical-data.component.ts
index 947fa69..e809bfe 100644
--- a/src/app/pages/historical-data/historical-data.component.ts
+++ b/src/app/pages/historical-data/historical-data.component.ts
@@ -84,6 +84,7 @@ export class HistoricalDataComponent implements OnInit {
this.httpCilent.post('/adminapi/hitFlightData/list', { hstFLightTime: value }).subscribe(
data => {
this.raw_data = data.body;
+ this.combined_data = [];
//查找链接航班并将其组合成一条数据
let combined_linked_data = this.dataHandle.findLinkFlights(this.raw_data);
combined_linked_data.forEach(element => {
diff --git a/src/app/pages/main/detail-tab/detail-tab.component.html b/src/app/pages/main/detail-tab/detail-tab.component.html
index d08a28d..0bb581b 100644
--- a/src/app/pages/main/detail-tab/detail-tab.component.html
+++ b/src/app/pages/main/detail-tab/detail-tab.component.html
@@ -40,7 +40,7 @@
标志类 -----------------------------------------
-
{{vipNumber>0?'是':'否'}}
+
{{isVip>0?'是':'否'}}
数量类 -----------------------------------------
diff --git a/src/app/pages/main/detail-tab/detail-tab.component.ts b/src/app/pages/main/detail-tab/detail-tab.component.ts
index adb4f0f..c69764e 100644
--- a/src/app/pages/main/detail-tab/detail-tab.component.ts
+++ b/src/app/pages/main/detail-tab/detail-tab.component.ts
@@ -12,7 +12,8 @@ export class DetailTabComponent implements OnInit {
public showPsst: string;
public showRemc:string;
- public vipNumber:boolean;
+ public vipNumber:any;
+ public isVip:any
@Input() set flight(flight) {
this.lines = Object.assign({}, flight);
@@ -20,6 +21,7 @@ export class DetailTabComponent implements OnInit {
this.singleFlight = this.lines.renderFlight;
this.showRemc = this.lines.preFlight.REMC;
this.vipNumber = this.lines.preFlight.VIPP;
+ this.isVip = this.lines.preFlight.VIPR;
let psst = this.psstFormatter(this.lines.preFlight);
if (psst) {
this.showPsst = (this.singleFlight.STND || '') + '(' + psst + ')';
@@ -31,6 +33,7 @@ export class DetailTabComponent implements OnInit {
this.singleFlight = this.lines.renderFlight;
this.showRemc = this.lines.reaFlight.REMC;
this.vipNumber = this.lines.reaFlight.VIPP;
+ this.isVip = this.lines.reaFlight.VIPR;
let psst = this.psstFormatter(this.lines.reaFlight);
if (psst) {
this.showPsst = (this.singleFlight.STND || '') + '(' + psst + ')';
@@ -42,6 +45,7 @@ export class DetailTabComponent implements OnInit {
this.singleFlight = this.lines.renderPreFlight;
this.showRemc = this.lines.preFlight.REMC;
this.vipNumber = this.lines.preFlight.VIPP;
+ this.isVip = this.lines.preFlight.VIPR;
let psst = this.psstFormatter(this.lines.preFlight);
if (psst) {
this.showPsst = (this.singleFlight.STND || '') + '(' + psst + ')';
@@ -61,6 +65,7 @@ export class DetailTabComponent implements OnInit {
this.singleFlight = this.lines.renderFlight;
this.showRemc = this.lines.preFlight.REMC;
this.vipNumber = this.lines.preFlight.VIPP;
+ this.isVip = this.lines.preFlight.VIPR;
let psst = this.psstFormatter(this.lines.preFlight);
if (psst) {
this.showPsst = (this.singleFlight.STND || '') + '(' + psst + ')';
@@ -72,6 +77,7 @@ export class DetailTabComponent implements OnInit {
this.singleFlight = this.lines.renderPreFlight;
this.showRemc = this.lines.preFlight.REMC;
this.vipNumber = this.lines.preFlight.VIPP;
+ this.isVip = this.lines.preFlight.VIPR;
let psst = this.psstFormatter(this.lines.preFlight);
if (psst) {
this.showPsst = (this.singleFlight.STND || '') + '(' + psst + ')';
@@ -86,6 +92,7 @@ export class DetailTabComponent implements OnInit {
this.singleFlight = this.lines.renderFlight;
this.showRemc = this.lines.reaFlight.REMC;
this.vipNumber = this.lines.reaFlight.VIPP;
+ this.isVip = this.lines.reaFlight.VIPR;
let psst = this.psstFormatter(this.lines.reaFlight);
if (psst) {
this.showPsst = (this.singleFlight.STND || '') + '(' + psst + ')';
@@ -97,6 +104,7 @@ export class DetailTabComponent implements OnInit {
this.singleFlight = this.lines.renderReaFlight;
this.showRemc = this.lines.reaFlight.REMC;
this.vipNumber = this.lines.reaFlight.VIPP;
+ this.isVip = this.lines.reaFlight.VIPR;
let psst = this.psstFormatter(this.lines.reaFlight);
if (psst) {
this.showPsst = (this.singleFlight.STND || '') + '(' + psst + ')';
diff --git a/src/app/pages/main/main.component.ts b/src/app/pages/main/main.component.ts
index 04bfa34..f9c8d36 100644
--- a/src/app/pages/main/main.component.ts
+++ b/src/app/pages/main/main.component.ts
@@ -78,6 +78,7 @@ export class MainComponent implements OnInit {
public dynamicAlertArray: Array
= [];
//各项基础数据
+ public flightStatusDefinitions: Array;
public flightAgents: Array;
public flightTypes: Array;
public terminals: Array;
@@ -141,7 +142,7 @@ export class MainComponent implements OnInit {
let data = JSON.parse(event as string);
if (data.topic === 'schd') {
let message = JSON.parse(data.message);
- // console.log(message);
+ console.log(message);
//是否可以开始处理动态消息
if (this.canHandleDynamicMessage) {
this.dynamicMessageHandle(message);
@@ -150,7 +151,7 @@ export class MainComponent implements OnInit {
}
} else if (data.topic === 'msg') {
let message = JSON.parse(data.message);
- // console.log(message);
+ console.log(message);
if (this.canHandleDynamicAlert) {
this.dynamicAlertHandle(message);
} else {
@@ -191,6 +192,7 @@ export class MainComponent implements OnInit {
});
//从基础数据服务中拿出部分基础数据
+ this.flightStatusDefinitions = this.basicDataService.flightStatusDefinitions;
this.flightAgents = this.basicDataService.flightAgents;
this.flightTypes = this.basicDataService.flightTypes;
this.terminals = this.basicDataService.terminal;
@@ -207,6 +209,9 @@ export class MainComponent implements OnInit {
this.combined_data = combined_data;
this.doSequence(this.combined_data);
} else {
+ this.basicDataService.flightStatusDefinitions_subject.subscribe(
+ val => this.flightStatusDefinitions = val
+ )
this.basicDataService.flightAgents_subject.subscribe(
val => this.flightAgents = val
)
@@ -518,7 +523,7 @@ export class MainComponent implements OnInit {
})
})
}
- let alertText = this.alertMessage[alertType](message, this.airports);
+ let alertText = this.alertMessage[alertType](message, this.airports, this.flightStatusDefinitions, this.flightAgents);
const toastCfg = new ToastConfig(ToastType.SUCCESS, '', alertText, 600000);
this.toastService.toast(toastCfg);
}
@@ -926,19 +931,19 @@ export class MainComponent implements OnInit {
getVipNotes(flight) {
if (this.orderHandle.isArriFlight(flight)) {
- if (flight['preFlight']['VIPP'] && flight['preFlight']['VIPP'] > 0) {
+ if (flight['preFlight']['VIPP'] && flight['preFlight']['VIPP'] > 0 && flight['preFlight']['VIPR'] && flight['preFlight']['VIPR'] > 0) {
return true;
} else {
return false;
}
} else if (this.orderHandle.isDeptFlight(flight)) {
- if (flight['reaFlight']['VIPP'] && flight['reaFlight']['VIPP'] > 0) {
+ if (flight['reaFlight']['VIPP'] && flight['reaFlight']['VIPP'] > 0 && flight['reaFlight']['VIPR'] && flight['reaFlight']['VIPR'] > 0) {
return true;
} else {
return false;
}
} else {
- if ((flight['preFlight']['VIPP'] && flight['preFlight']['VIPP'] > 0) || (flight['reaFlight']['VIPP'] && flight['reaFlight']['VIPP'] > 0)) {
+ if ((flight['preFlight']['VIPP'] && flight['preFlight']['VIPP'] > 0 && flight['reaFlight']['VIPR'] && flight['reaFlight']['VIPR'] > 0) || (flight['reaFlight']['VIPP'] && flight['reaFlight']['VIPP'] > 0 && flight['reaFlight']['VIPR'] && flight['reaFlight']['VIPR'] > 0)) {
return true;
} else {
return false;
diff --git a/src/app/services/basic-data-service.ts b/src/app/services/basic-data-service.ts
index 81fcc46..074dc9d 100644
--- a/src/app/services/basic-data-service.ts
+++ b/src/app/services/basic-data-service.ts
@@ -4,6 +4,8 @@ import { Subject, forkJoin, zip } from 'rxjs'
@Injectable()
export class BasicDataService {
+ public flightStatusDefinitions:Array = [];
+ public flightStatusDefinitions_subject = new Subject();
public flightAgents:Array = [];
public flightAgents_subject = new Subject();
public flightTypes:Array = [];
@@ -52,6 +54,7 @@ export class BasicDataService {
) { }
loadBasicData() {
+ let flightStatusDefinitionHttp = this.httpClient.get('/adminapi/basicdata/flmsFlightStatusDefinition');
let flightAgentsHttp = this.httpClient.get('/adminapi/basicdata/sysFlightAgents');
let flightTypesHttp = this.httpClient.get('/adminapi/basicdata/sysFlightTypes');
let flightStatusHttp = this.httpClient.get('/adminapi/basicdata/sysFlightStatus');
@@ -74,6 +77,7 @@ export class BasicDataService {
let airportGroupsHttp = this.httpClient.get('/adminapi/basicdata/sysAirportGroups');
let airlineGroupHttp = this.httpClient.get('/adminapi/basicdata/sysAirlineGroup');
zip(
+ flightStatusDefinitionHttp,
flightAgentsHttp,
flightTypesHttp,
flightStatusHttp,
@@ -97,6 +101,7 @@ export class BasicDataService {
airlineGroupHttp
).subscribe(
([
+ flightStatusDefinitionRes,
flightAgentsRes,
flightTypesRes,
flightStatusRes,
@@ -119,6 +124,8 @@ export class BasicDataService {
airportGroupRes,
airlineGroupRes
]) => {
+ this.flightStatusDefinitions = flightStatusDefinitionRes.body;
+ this.flightStatusDefinitions_subject.next(flightStatusDefinitionRes.body);
this.flightAgents = flightAgentsRes.body;
this.flightAgents_subject.next(flightAgentsRes.body);
this.flightTypes = flightTypesRes.body;
diff --git a/src/app/utils/alert-message-handle.ts b/src/app/utils/alert-message-handle.ts
index 2aa4c21..4a1b356 100644
--- a/src/app/utils/alert-message-handle.ts
+++ b/src/app/utils/alert-message-handle.ts
@@ -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 "收到日航班计划";
}
}
\ No newline at end of file