From fee7c7778a9abaf2efcfc78f8d94d8bb3d56f730 Mon Sep 17 00:00:00 2001 From: zhouxiunai <154707516@qq.com> Date: Mon, 18 Feb 2019 15:56:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=94=B6=E5=88=B0=E7=9A=84?= =?UTF-8?q?=E7=9B=B8=E5=90=8C=E7=9A=84psdt=20=E4=BB=8D=E7=84=B6=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E4=BA=86LPSDT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../msghandler/flop/PSDTHandler.java | 30 +++++++++++++++++++ .../msghandler/flop/PSDTHandlerTest.java | 5 +++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/PSDTHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/PSDTHandler.java index fe5b81e5..0973149c 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/PSDTHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/PSDTHandler.java @@ -1,5 +1,7 @@ package com.gzzn.omms.msgexchangeapi.msghandler.flop; +import java.util.List; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; @@ -24,6 +26,12 @@ public class PSDTHandler extends FlopBaseHandler { @Override protected SCHD.FLTR updateFltr(FLOP flop,SCHD.FLTR fltr) { + //相同直接返回 + if(isTheSamePSDT(fltr.getPSDT(),flop.getPSDT())) + { + return fltr; + } + //先保存当前航班机位数据 String lpsdt=""; for(STANDDATA node : fltr.getPSDT()) @@ -65,4 +73,26 @@ public class PSDTHandler extends FlopBaseHandler { return fltr; } + + + private Boolean isTheSamePSDT(List psdt ,List optPsdt) + { + psdt.sort((node1,node2)-> node1.getPSST().compareTo(node2.getPSST())); + optPsdt.sort((node1,node2)-> node1.getPSST().compareTo(node2.getPSST())); + + //生成序列比较是否相等 + StringBuffer strPsdt = new StringBuffer(); + psdt.forEach(node->{ + strPsdt.append(node.getPSST()); + strPsdt.append(","); + }); + + StringBuffer strOptPsdt = new StringBuffer(); + optPsdt.forEach(node->{ + strOptPsdt.append(node.getPSST()); + strOptPsdt.append(","); + }); + + return strPsdt.toString().equals(strOptPsdt.toString()); + } } diff --git a/src/test/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/PSDTHandlerTest.java b/src/test/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/PSDTHandlerTest.java index 924c5706..b4f89803 100644 --- a/src/test/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/PSDTHandlerTest.java +++ b/src/test/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/PSDTHandlerTest.java @@ -27,7 +27,7 @@ public class PSDTHandlerTest { @Test public void testRun() { - Cminmsg cminmsg = cminmsgDao.findOne(33L); + Cminmsg cminmsg = cminmsgDao.findOne(80586L); CminmsgWapper cminmsgWapper = new CminmsgWapper(cminmsg); cminmsgWapper.setMsg(exchangeService.xmlToMsg(cminmsg.getCminmsgsClobMsg())); @@ -36,4 +36,7 @@ public class PSDTHandlerTest { System.out.println(JsonUtil.getString(result)); } + + + }