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 3c93aa7b..6e96aa71 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 @@ -561,6 +561,13 @@ public class SCHD @JsonProperty("ABTM") protected List abtm;//Air bridge time 登机桥时间数据 + + @ApiModelProperty(value="登机桥数据,逗号分隔") + @XmlElement(name = "ABDG") + @JsonProperty("ABDG") + protected String abdg;//登机桥数据,逗号分隔 + + @ApiModelProperty(value="flight’s landing has been aborted.航班着陆中止原因的描述") @XmlElement(name = "FLAB") @JsonProperty("FLAB") @@ -2151,6 +2158,14 @@ public class SCHD public void setMafl(List mafl) { this.mafl = mafl; } + + public String getAbdg() { + return abdg; + } + + public void setAbdg(String abdg) { + this.abdg = abdg; + } } } diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/ABTMHandler.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/ABTMHandler.java index fd11d626..f99ce502 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/ABTMHandler.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/flop/ABTMHandler.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; @@ -31,36 +33,108 @@ public class ABTMHandler extends FlopBaseHandler{ // OPTBRIDGEDATA optbridgedata = flop.getABTM().get(0); - - //更新对应的撤桥或者靠桥数据,没有则新增 - Boolean updated = false; - for(int i = 0; i < fltr.getABTM().size(); i++) - { - BRIDGEDATA bridgedata = fltr.getABTM().get(i); - - if(bridgedata.getABOP().equals(optbridgedata.getABOP())) - { - if(StringUtils.isEmpty(optbridgedata.getAOTM())) - { - //撤销靠桥或撤桥 - fltr.getABTM().remove(i); - } - else { - BeanUtils.copyProperties(optbridgedata, bridgedata); - } - updated = true; - break; - } - }//end for + BRIDGEDATA bridgedata = getElement(fltr.getABTM(),optbridgedata.getABOP()); // - if(updated == false) + if(null == bridgedata) { - BRIDGEDATA data = new BRIDGEDATA(); - BeanUtils.copyProperties(optbridgedata, data); - fltr.getABTM().add(data); + //新增 + bridgedata = new BRIDGEDATA(); + BeanUtils.copyProperties(optbridgedata, bridgedata); + fltr.getABTM().add(bridgedata); + } + else { + //更新 + bridgedata.setAOTM(optbridgedata.getAOTM()); } return fltr; } + + + /** + * + */ + private BRIDGEDATA getElement(List abtms,String action) + { + for(BRIDGEDATA bridgedata : abtms) + { + if(bridgedata.getABOP().equals(action)) + { + return bridgedata; + } + }//end for + + return null; + }//end function + + + + + /** + * 是否撤桥动作 + * @param optbridgedata 操作数据封装 + * @return + */ + private Boolean isDetach(OPTBRIDGEDATA optbridgedata) + { + if(optbridgedata.getABOP().equals("D") + && !StringUtils.isEmpty(optbridgedata.getAOTM())) + { + return true; + } + + return false; + } //end function + + + /** + * 是否靠桥动作 + * @param optbridgedata + * @return + */ + private Boolean isAttach(OPTBRIDGEDATA optbridgedata) + { + if(optbridgedata.getABOP().equals("A") + && !StringUtils.isEmpty(optbridgedata.getAOTM())) + { + return true; + } + + return false; + } //end function + + + /** + * 是否取消撤桥动作 + * @param optbridgedata 操作数据封装 + * @return + */ + private Boolean isCancelDetach(OPTBRIDGEDATA optbridgedata) + { + if(optbridgedata.getABOP().equals("D") + && StringUtils.isEmpty(optbridgedata.getAOTM())) + { + return true; + } + + return false; + } //end function + + + /** + * 是否取消靠桥动作 + * @param optbridgedata + * @return + */ + private Boolean isCancelAttach(OPTBRIDGEDATA optbridgedata) + { + if(optbridgedata.getABOP().equals("A") + && StringUtils.isEmpty(optbridgedata.getAOTM())) + { + return true; + } + + return false; + } //end function }