添加上下轮档及撤销上下轮档事件。子系统增加omms

This commit is contained in:
zhouxiunai
2019-01-09 15:24:31 +08:00
parent 9574c87c3d
commit 4d8f31200b
3 changed files with 81 additions and 19 deletions
@@ -65,6 +65,7 @@ public enum SUBSYSTEMS {
AODB,
OSH5,
OMMS,
OSH5RQFD,
BHS,
FIDS,
@@ -1,13 +1,13 @@
package com.gzzn.omms.msgexchangeapi.msghandler.flop;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
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;
@@ -17,28 +17,51 @@ import com.gzzn.omms.msgexchangeapi.msghandler.flop.base.FlopBaseHandler;
*
*/
public class CHOTHandler extends FlopBaseHandler {
private static Logger logger = LoggerFactory.getLogger(CHOTHandler.class);
@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() ) {
//靠桥,撤桥,取消靠桥,取消撤桥
if(flop.getCHOT().size() != 1)
{
logger.error("CHOT 的xml消息不符合只有一条的接口约定");
return fltr;
}
CHOCKSDATA chocksdata = new CHOCKSDATA();
BeanUtils.copyProperties(optchocksdata, chocksdata);
//
OPTCHOCKSDATA optchocksdata = flop.getCHOT().get(0);
//更新对应的撤桥或者靠桥数据,没有则新增
Boolean updated = false;
for(int i = 0; i < fltr.getCHOT().size(); i++)
{
CHOCKSDATA chocksdata = fltr.getCHOT().get(i);
if(chocksdata.getCHID().equals(optchocksdata.getCHID()))
{
if(StringUtils.isEmpty(optchocksdata.getCHTM()))
{
//撤销上下轮档
fltr.getCHOT().remove(i);
}
else {
BeanUtils.copyProperties(optchocksdata, chocksdata);//tofix 检查可能的错误
}
updated = true;
break;
}
}//end for
//
if(updated == false)
{
CHOCKSDATA chocksdata = new CHOCKSDATA();
BeanUtils.copyProperties(optchocksdata, chocksdata);
fltr.getCHOT().add(chocksdata);
}
fltr.getCHOT().add(chocksdata);
}
}
return fltr;
return fltr;
}
}
@@ -0,0 +1,38 @@
package com.gzzn.omms.msgexchangeapi.msghandler;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import com.gzzn.omms.msgexchangeapi.dao.CminmsgDao;
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.entity.CminmsgWapper;
import com.gzzn.omms.msgexchangeapi.msghandler.flop.CHOTHandler;
import com.gzzn.omms.msgexchangeapi.service.exchange.IExchangeService;
import com.gzzn.omms.msgexchangeapi.utils.JsonUtil;
@RunWith(SpringRunner.class)
@SpringBootTest
public class CHOTHandlerTest {
@Autowired
private CminmsgDao cminmsgDao;
@Autowired
private IExchangeService exchangeService;
@Test
public void testRun()
{
Cminmsg cminmsg = cminmsgDao.findOne(99381L);
CminmsgWapper cminmsgWapper = new CminmsgWapper(cminmsg);
cminmsgWapper.setMsg(exchangeService.xmlToMsg(cminmsg.getCminmsgsClobMsg()));
CHOTHandler chothandler = new CHOTHandler();
HandlerResult result = chothandler.run(cminmsgWapper);
System.out.println(JsonUtil.getString(result));
}
}