修正收到的相同的psdt 仍然更新了LPSDT
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
package com.gzzn.omms.msgexchangeapi.msghandler.flop;
|
package com.gzzn.omms.msgexchangeapi.msghandler.flop;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
@@ -24,6 +26,12 @@ public class PSDTHandler extends FlopBaseHandler {
|
|||||||
@Override
|
@Override
|
||||||
protected SCHD.FLTR updateFltr(FLOP flop,SCHD.FLTR fltr)
|
protected SCHD.FLTR updateFltr(FLOP flop,SCHD.FLTR fltr)
|
||||||
{
|
{
|
||||||
|
//相同直接返回
|
||||||
|
if(isTheSamePSDT(fltr.getPSDT(),flop.getPSDT()))
|
||||||
|
{
|
||||||
|
return fltr;
|
||||||
|
}
|
||||||
|
|
||||||
//先保存当前航班机位数据
|
//先保存当前航班机位数据
|
||||||
String lpsdt="";
|
String lpsdt="";
|
||||||
for(STANDDATA node : fltr.getPSDT())
|
for(STANDDATA node : fltr.getPSDT())
|
||||||
@@ -65,4 +73,26 @@ public class PSDTHandler extends FlopBaseHandler {
|
|||||||
|
|
||||||
return fltr;
|
return fltr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private Boolean isTheSamePSDT(List<STANDDATA> psdt ,List<OPTSTANDDATA> 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());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ public class PSDTHandlerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void testRun()
|
public void testRun()
|
||||||
{
|
{
|
||||||
Cminmsg cminmsg = cminmsgDao.findOne(33L);
|
Cminmsg cminmsg = cminmsgDao.findOne(80586L);
|
||||||
CminmsgWapper cminmsgWapper = new CminmsgWapper(cminmsg);
|
CminmsgWapper cminmsgWapper = new CminmsgWapper(cminmsg);
|
||||||
cminmsgWapper.setMsg(exchangeService.xmlToMsg(cminmsg.getCminmsgsClobMsg()));
|
cminmsgWapper.setMsg(exchangeService.xmlToMsg(cminmsg.getCminmsgsClobMsg()));
|
||||||
|
|
||||||
@@ -36,4 +36,7 @@ public class PSDTHandlerTest {
|
|||||||
|
|
||||||
System.out.println(JsonUtil.getString(result));
|
System.out.println(JsonUtil.getString(result));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user