From 4b55643fdbce1e53c9737124b04ef864f533b171 Mon Sep 17 00:00:00 2001 From: zhouyuejun <505127606@qq.com> Date: Mon, 28 Jan 2019 17:12:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=8F=90=E7=A4=BA=E5=A4=84?= =?UTF-8?q?=E7=90=86=E4=BE=9D=E7=85=A7OMMS=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/toast/toast-box.component.scss | 2 +- src/app/components/toast/toast.component.html | 4 +- src/app/components/toast/toast.component.scss | 6 + .../historical-data.component.ts | 1 + .../main/detail-tab/detail-tab.component.html | 2 +- .../main/detail-tab/detail-tab.component.ts | 10 +- src/app/pages/main/main.component.ts | 17 +- src/app/services/basic-data-service.ts | 7 + src/app/utils/alert-message-handle.ts | 324 ++++++++++++++---- 9 files changed, 288 insertions(+), 85 deletions(-) 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