From a9a2032c16fa959d5a488a196fd3754a0b79af5c Mon Sep 17 00:00:00 2001 From: zhouxiunai <154707516@qq.com> Date: Wed, 9 Jan 2019 13:41:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E8=88=AA=E7=8F=AD=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../omms/msgexchangeapi/entity/msg/SCHD.java | 2 +- .../msghandler/flop/CHOTHandler.java | 44 +++++++++++++++++++ .../msghandler/flop/FDELHandler.java | 3 +- .../flightInfo/FlightInfoServiceImpl.java | 2 +- 4 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CHOTHandler.java diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/entity/msg/SCHD.java b/src/main/java/com/gzzn/omms/msgexchangeapi/entity/msg/SCHD.java index 176010e2..3585e412 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/entity/msg/SCHD.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/entity/msg/SCHD.java @@ -338,7 +338,7 @@ public class SCHD @XmlElement(name = "MVIN", required = true) @JsonProperty("MVIN") @XmlSchemaType(name = "string") - protected MOVEMENTINDICATOR mvin;//movement indicator 运行标识 + protected MOVEMENTINDICATOR mvin;//movement indicator 运行标识,A – Arrival/到达 D – Departure/离港 @XmlElement(name = "SODT", required = true) @JsonProperty("SODT") diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CHOTHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CHOTHandler.java new file mode 100644 index 00000000..eedea188 --- /dev/null +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/CHOTHandler.java @@ -0,0 +1,44 @@ +package com.gzzn.omms.msgexchangeapi.msghandler.flop; + +import org.springframework.beans.BeanUtils; +import org.springframework.util.CollectionUtils; + +import com.gzzn.omms.msgexchangeapi.entity.msg.CHOCKSDATA; +import com.gzzn.omms.msgexchangeapi.entity.msg.DELAYDATA; +import com.gzzn.omms.msgexchangeapi.entity.msg.FLOP; +import com.gzzn.omms.msgexchangeapi.entity.msg.OPTCHOCKSDATA; +import com.gzzn.omms.msgexchangeapi.entity.msg.OPTDELAYDATA; +import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD; +import com.gzzn.omms.msgexchangeapi.msghandler.flop.base.FlopBaseHandler; + +/** + * 航班轮挡时间事件 + * @author zhouxiunai + * + */ +public class CHOTHandler extends FlopBaseHandler { + + @Override + protected SCHD.FLTR updateFltr(FLOP flop,SCHD.FLTR fltr) + { + //update + if(CollectionUtils.isEmpty(flop.getCHOT()) ) + { + //清空轮档时间事件 + fltr.getCHOT().clear(); + } + else { + //新增 + for (OPTCHOCKSDATA optchocksdata : flop.getCHOT() ) { + + CHOCKSDATA chocksdata = new CHOCKSDATA(); + BeanUtils.copyProperties(optchocksdata, chocksdata); + + + fltr.getCHOT().add(chocksdata); + } + } + + return fltr; + } +} diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FDELHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FDELHandler.java index d78a0b2e..9af9bd08 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FDELHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/FDELHandler.java @@ -24,7 +24,7 @@ public class FDELHandler extends FlopBaseHandler { FLOP flop = msg.getFLOP(); - SCHD.FLTR fltr = flightInfoService.getByFlid(flop.getFLID().toString()); + SCHD.FLTR fltr = flightInfoService.getByFlid(flop.getFLID().toString()); if(null != fltr) { @@ -39,6 +39,7 @@ public class FDELHandler extends FlopBaseHandler { } else { //没有该动态航班信息 + this.updateCminmsgToProcessed(cminmsg); logger.warn("没有flid为:{}的消息",flop.getFLID()); return HandlerResult.failure(); } diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/service/flightInfo/FlightInfoServiceImpl.java b/src/main/java/com/gzzn/omms/msgexchangeapi/service/flightInfo/FlightInfoServiceImpl.java index 65bfc83c..4b99162c 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/service/flightInfo/FlightInfoServiceImpl.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/service/flightInfo/FlightInfoServiceImpl.java @@ -82,7 +82,7 @@ public class FlightInfoServiceImpl implements IFlightInfoService { @Override public boolean deleteFltr(FLTR fltr) { - redisService.hdel(redisKey, fltr.getFLID()); + redisService.hdel(redisKey, fltr.getFLID().toString()); return true; }