作者 shenhailong

快邮舱单主分单报文生成

  1 +package com.sunyo.wlpt.message.builder.exparessController;
  2 +import com.sunyo.wlpt.message.builder.exparessModel.ExpAwba311;
  3 +import com.sunyo.wlpt.message.builder.expressSerivce.ExpressService;
  4 +import org.springframework.beans.factory.annotation.Autowired;
  5 +import org.springframework.web.bind.annotation.*;
  6 +import java.util.HashMap;
  7 +import java.util.Map;
  8 +
  9 +/**
  10 + * @author shenhailong
  11 + * <p>
  12 + * 2020/12/11/16:32
  13 + */
  14 +@RequestMapping(value = "/awbaMsg")
  15 +@RestController
  16 +public class ExparessAwbaController {
  17 +
  18 +
  19 + @Autowired
  20 + ExpressService expressService;
  21 +
  22 + /**
  23 + * 快邮舱单主单报文生成
  24 + * @param expAwba311
  25 + * @return
  26 + */
  27 + @PostMapping("/creatAwba")
  28 + @ResponseBody
  29 + public Map<String, Object> creatAwba(@RequestBody ExpAwba311 expAwba311){
  30 +
  31 + try {
  32 + expressService.creatAwba(expAwba311);
  33 + return null;
  34 + }catch (Exception e){
  35 + e.printStackTrace();
  36 + return null;
  37 + }
  38 + }
  39 +
  40 +}
  1 +package com.sunyo.wlpt.message.builder.exparessModel;
  2 +
  3 +import java.math.BigDecimal;
  4 +import java.util.Date;
  5 +
  6 +public class CustomResponse {
  7 + private String id;
  8 +
  9 + private Date flightdate;
  10 +
  11 + private String flightno;
  12 +
  13 + private String awbano;
  14 +
  15 + private String awbhno;
  16 +
  17 + private String bustype;
  18 +
  19 + private Date busdate;
  20 +
  21 + private BigDecimal busweight;
  22 +
  23 + private Long buspiece;
  24 +
  25 + private String opertype;
  26 +
  27 + private String cusmsgid;
  28 +
  29 + private String cussenderid;
  30 +
  31 + private String cusreciverid;
  32 +
  33 + private String cusversion;
  34 +
  35 + private String cusfunctioncode;
  36 +
  37 + private Date cusresrcvtime;
  38 +
  39 + private Date cusressendtime;
  40 +
  41 + private String cusrescode;
  42 +
  43 + private String cusresstatus;
  44 +
  45 + private String operusername;
  46 +
  47 + private String opersystemname;
  48 +
  49 + private String operreason;
  50 +
  51 + private String operperson;
  52 +
  53 + private String opertel;
  54 +
  55 + private String ext1;
  56 +
  57 + private String ext2;
  58 +
  59 + private String ext3;
  60 +
  61 + private String cusrestext;
  62 +
  63 + public String getId() {
  64 + return id;
  65 + }
  66 +
  67 + public void setId(String id) {
  68 + this.id = id == null ? null : id.trim();
  69 + }
  70 +
  71 + public Date getFlightdate() {
  72 + return flightdate;
  73 + }
  74 +
  75 + public void setFlightdate(Date flightdate) {
  76 + this.flightdate = flightdate;
  77 + }
  78 +
  79 + public String getFlightno() {
  80 + return flightno;
  81 + }
  82 +
  83 + public void setFlightno(String flightno) {
  84 + this.flightno = flightno == null ? null : flightno.trim();
  85 + }
  86 +
  87 + public String getAwbano() {
  88 + return awbano;
  89 + }
  90 +
  91 + public void setAwbano(String awbano) {
  92 + this.awbano = awbano == null ? null : awbano.trim();
  93 + }
  94 +
  95 + public String getAwbhno() {
  96 + return awbhno;
  97 + }
  98 +
  99 + public void setAwbhno(String awbhno) {
  100 + this.awbhno = awbhno == null ? null : awbhno.trim();
  101 + }
  102 +
  103 + public String getBustype() {
  104 + return bustype;
  105 + }
  106 +
  107 + public void setBustype(String bustype) {
  108 + this.bustype = bustype == null ? null : bustype.trim();
  109 + }
  110 +
  111 + public Date getBusdate() {
  112 + return busdate;
  113 + }
  114 +
  115 + public void setBusdate(Date busdate) {
  116 + this.busdate = busdate;
  117 + }
  118 +
  119 + public BigDecimal getBusweight() {
  120 + return busweight;
  121 + }
  122 +
  123 + public void setBusweight(BigDecimal busweight) {
  124 + this.busweight = busweight;
  125 + }
  126 +
  127 + public Long getBuspiece() {
  128 + return buspiece;
  129 + }
  130 +
  131 + public void setBuspiece(Long buspiece) {
  132 + this.buspiece = buspiece;
  133 + }
  134 +
  135 + public String getOpertype() {
  136 + return opertype;
  137 + }
  138 +
  139 + public void setOpertype(String opertype) {
  140 + this.opertype = opertype == null ? null : opertype.trim();
  141 + }
  142 +
  143 + public String getCusmsgid() {
  144 + return cusmsgid;
  145 + }
  146 +
  147 + public void setCusmsgid(String cusmsgid) {
  148 + this.cusmsgid = cusmsgid == null ? null : cusmsgid.trim();
  149 + }
  150 +
  151 + public String getCussenderid() {
  152 + return cussenderid;
  153 + }
  154 +
  155 + public void setCussenderid(String cussenderid) {
  156 + this.cussenderid = cussenderid == null ? null : cussenderid.trim();
  157 + }
  158 +
  159 + public String getCusreciverid() {
  160 + return cusreciverid;
  161 + }
  162 +
  163 + public void setCusreciverid(String cusreciverid) {
  164 + this.cusreciverid = cusreciverid == null ? null : cusreciverid.trim();
  165 + }
  166 +
  167 + public String getCusversion() {
  168 + return cusversion;
  169 + }
  170 +
  171 + public void setCusversion(String cusversion) {
  172 + this.cusversion = cusversion == null ? null : cusversion.trim();
  173 + }
  174 +
  175 + public String getCusfunctioncode() {
  176 + return cusfunctioncode;
  177 + }
  178 +
  179 + public void setCusfunctioncode(String cusfunctioncode) {
  180 + this.cusfunctioncode = cusfunctioncode == null ? null : cusfunctioncode.trim();
  181 + }
  182 +
  183 + public Date getCusresrcvtime() {
  184 + return cusresrcvtime;
  185 + }
  186 +
  187 + public void setCusresrcvtime(Date cusresrcvtime) {
  188 + this.cusresrcvtime = cusresrcvtime;
  189 + }
  190 +
  191 + public Date getCusressendtime() {
  192 + return cusressendtime;
  193 + }
  194 +
  195 + public void setCusressendtime(Date cusressendtime) {
  196 + this.cusressendtime = cusressendtime;
  197 + }
  198 +
  199 + public String getCusrescode() {
  200 + return cusrescode;
  201 + }
  202 +
  203 + public void setCusrescode(String cusrescode) {
  204 + this.cusrescode = cusrescode == null ? null : cusrescode.trim();
  205 + }
  206 +
  207 + public String getCusresstatus() {
  208 + return cusresstatus;
  209 + }
  210 +
  211 + public void setCusresstatus(String cusresstatus) {
  212 + this.cusresstatus = cusresstatus == null ? null : cusresstatus.trim();
  213 + }
  214 +
  215 + public String getOperusername() {
  216 + return operusername;
  217 + }
  218 +
  219 + public void setOperusername(String operusername) {
  220 + this.operusername = operusername == null ? null : operusername.trim();
  221 + }
  222 +
  223 + public String getOpersystemname() {
  224 + return opersystemname;
  225 + }
  226 +
  227 + public void setOpersystemname(String opersystemname) {
  228 + this.opersystemname = opersystemname == null ? null : opersystemname.trim();
  229 + }
  230 +
  231 + public String getOperreason() {
  232 + return operreason;
  233 + }
  234 +
  235 + public void setOperreason(String operreason) {
  236 + this.operreason = operreason == null ? null : operreason.trim();
  237 + }
  238 +
  239 + public String getOperperson() {
  240 + return operperson;
  241 + }
  242 +
  243 + public void setOperperson(String operperson) {
  244 + this.operperson = operperson == null ? null : operperson.trim();
  245 + }
  246 +
  247 + public String getOpertel() {
  248 + return opertel;
  249 + }
  250 +
  251 + public void setOpertel(String opertel) {
  252 + this.opertel = opertel == null ? null : opertel.trim();
  253 + }
  254 +
  255 + public String getExt1() {
  256 + return ext1;
  257 + }
  258 +
  259 + public void setExt1(String ext1) {
  260 + this.ext1 = ext1 == null ? null : ext1.trim();
  261 + }
  262 +
  263 + public String getExt2() {
  264 + return ext2;
  265 + }
  266 +
  267 + public void setExt2(String ext2) {
  268 + this.ext2 = ext2 == null ? null : ext2.trim();
  269 + }
  270 +
  271 + public String getExt3() {
  272 + return ext3;
  273 + }
  274 +
  275 + public void setExt3(String ext3) {
  276 + this.ext3 = ext3 == null ? null : ext3.trim();
  277 + }
  278 +
  279 + public String getCusrestext() {
  280 + return cusrestext;
  281 + }
  282 +
  283 + public void setCusrestext(String cusrestext) {
  284 + this.cusrestext = cusrestext == null ? null : cusrestext.trim();
  285 + }
  286 +}
  1 +package com.sunyo.wlpt.message.builder.exparessModel;
  2 +
  3 +import com.fasterxml.jackson.annotation.JsonFormat;
  4 +import lombok.Data;
  5 +
  6 +import java.math.BigDecimal;
  7 +import java.util.Date;
  8 +import java.util.List;
  9 +
  10 +@Data
  11 +public class ExpAwba311 {
  12 + private String id;
  13 +
  14 + private String billno;
  15 +
  16 + private String flightNo;
  17 +
  18 + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
  19 + private Date flightDate;
  20 +
  21 + private String voyageno;
  22 +
  23 + private String ieflag;
  24 +
  25 + private String optype;
  26 +
  27 + private String trafcnname;
  28 +
  29 + private String trafenname;
  30 +
  31 + private BigDecimal grosswt;
  32 +
  33 + private Long packno;
  34 +
  35 + private Long billnum;
  36 +
  37 + private String trafmode;
  38 +
  39 + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
  40 + private Date iedate;
  41 +
  42 + private String destinationport;
  43 +
  44 + private String ieport;
  45 +
  46 + private String tradeco;
  47 +
  48 + private String tradename;
  49 +
  50 + private String inputno;
  51 +
  52 + private String inputopname;
  53 +
  54 + private String inputcompanycode;
  55 +
  56 + private String inputcompanyname;
  57 +
  58 + private Integer userid;
  59 +
  60 + private String userName;
  61 +
  62 + private Date createDate;
  63 +
  64 + private Date updateDate;
  65 +
  66 + private String delFlag;
  67 +
  68 + private String ext1;
  69 +
  70 + private String ext2;
  71 +
  72 + private String ext3;
  73 +
  74 + private List<ExpAwbh311> children;
  75 +
  76 + public String getBillno() {
  77 + return billno;
  78 + }
  79 +
  80 + public void setBillno(String billno) {
  81 + this.billno = billno == null ? null : billno.trim();
  82 + }
  83 +
  84 + public String getFlightNo() {
  85 + return flightNo;
  86 + }
  87 +
  88 + public void setFlightNo(String flightNo) {
  89 + this.flightNo = flightNo == null ? null : flightNo.trim();
  90 + }
  91 +
  92 + public Date getFlightDate() {
  93 + return flightDate;
  94 + }
  95 +
  96 + public void setFlightDate(Date flightDate) {
  97 + this.flightDate = flightDate;
  98 + }
  99 +
  100 + public String getVoyageno() {
  101 + return voyageno;
  102 + }
  103 +
  104 + public void setVoyageno(String voyageno) {
  105 + this.voyageno = voyageno == null ? null : voyageno.trim();
  106 + }
  107 +
  108 + public String getIeflag() {
  109 + return ieflag;
  110 + }
  111 +
  112 + public void setIeflag(String ieflag) {
  113 + this.ieflag = ieflag == null ? null : ieflag.trim();
  114 + }
  115 +
  116 + public String getOptype() {
  117 + return optype;
  118 + }
  119 +
  120 + public void setOptype(String optype) {
  121 + this.optype = optype == null ? null : optype.trim();
  122 + }
  123 +
  124 + public String getTrafcnname() {
  125 + return trafcnname;
  126 + }
  127 +
  128 + public void setTrafcnname(String trafcnname) {
  129 + this.trafcnname = trafcnname == null ? null : trafcnname.trim();
  130 + }
  131 +
  132 + public String getTrafenname() {
  133 + return trafenname;
  134 + }
  135 +
  136 + public void setTrafenname(String trafenname) {
  137 + this.trafenname = trafenname == null ? null : trafenname.trim();
  138 + }
  139 +
  140 + public BigDecimal getGrosswt() {
  141 + return grosswt;
  142 + }
  143 +
  144 + public void setGrosswt(BigDecimal grosswt) {
  145 + this.grosswt = grosswt;
  146 + }
  147 +
  148 + public Long getPackno() {
  149 + return packno;
  150 + }
  151 +
  152 + public void setPackno(Long packno) {
  153 + this.packno = packno;
  154 + }
  155 +
  156 + public Long getBillnum() {
  157 + return billnum;
  158 + }
  159 +
  160 + public void setBillnum(Long billnum) {
  161 + this.billnum = billnum;
  162 + }
  163 +
  164 + public String getTrafmode() {
  165 + return trafmode;
  166 + }
  167 +
  168 + public void setTrafmode(String trafmode) {
  169 + this.trafmode = trafmode == null ? null : trafmode.trim();
  170 + }
  171 +
  172 + public Date getIedate() {
  173 + return iedate;
  174 + }
  175 +
  176 + public void setIedate(Date iedate) {
  177 + this.iedate = iedate;
  178 + }
  179 +
  180 + public String getDestinationport() {
  181 + return destinationport;
  182 + }
  183 +
  184 + public void setDestinationport(String destinationport) {
  185 + this.destinationport = destinationport == null ? null : destinationport.trim();
  186 + }
  187 +
  188 + public String getIeport() {
  189 + return ieport;
  190 + }
  191 +
  192 + public void setIeport(String ieport) {
  193 + this.ieport = ieport == null ? null : ieport.trim();
  194 + }
  195 +
  196 + public String getTradeco() {
  197 + return tradeco;
  198 + }
  199 +
  200 + public void setTradeco(String tradeco) {
  201 + this.tradeco = tradeco == null ? null : tradeco.trim();
  202 + }
  203 +
  204 + public String getTradename() {
  205 + return tradename;
  206 + }
  207 +
  208 + public void setTradename(String tradename) {
  209 + this.tradename = tradename == null ? null : tradename.trim();
  210 + }
  211 +
  212 + public String getInputno() {
  213 + return inputno;
  214 + }
  215 +
  216 + public void setInputno(String inputno) {
  217 + this.inputno = inputno == null ? null : inputno.trim();
  218 + }
  219 +
  220 + public String getInputopname() {
  221 + return inputopname;
  222 + }
  223 +
  224 + public void setInputopname(String inputopname) {
  225 + this.inputopname = inputopname == null ? null : inputopname.trim();
  226 + }
  227 +
  228 + public String getInputcompanycode() {
  229 + return inputcompanycode;
  230 + }
  231 +
  232 + public void setInputcompanycode(String inputcompanycode) {
  233 + this.inputcompanycode = inputcompanycode == null ? null : inputcompanycode.trim();
  234 + }
  235 +
  236 + public String getInputcompanyname() {
  237 + return inputcompanyname;
  238 + }
  239 +
  240 + public void setInputcompanyname(String inputcompanyname) {
  241 + this.inputcompanyname = inputcompanyname == null ? null : inputcompanyname.trim();
  242 + }
  243 +
  244 + public Integer getUserid() {
  245 + return userid;
  246 + }
  247 +
  248 + public void setUserid(Integer userid) {
  249 + this.userid = userid;
  250 + }
  251 +
  252 + public String getUserName() {
  253 + return userName;
  254 + }
  255 +
  256 + public void setUserName(String userName) {
  257 + this.userName = userName == null ? null : userName.trim();
  258 + }
  259 +
  260 + public Date getCreateDate() {
  261 + return createDate;
  262 + }
  263 +
  264 + public void setCreateDate(Date createDate) {
  265 + this.createDate = createDate;
  266 + }
  267 +
  268 + public Date getUpdateDate() {
  269 + return updateDate;
  270 + }
  271 +
  272 + public void setUpdateDate(Date updateDate) {
  273 + this.updateDate = updateDate;
  274 + }
  275 +
  276 + public String getDelFlag() {
  277 + return delFlag;
  278 + }
  279 +
  280 + public void setDelFlag(String delFlag) {
  281 + this.delFlag = delFlag == null ? null : delFlag.trim();
  282 + }
  283 +
  284 + public String getExt1() {
  285 + return ext1;
  286 + }
  287 +
  288 + public void setExt1(String ext1) {
  289 + this.ext1 = ext1 == null ? null : ext1.trim();
  290 + }
  291 +
  292 + public String getExt2() {
  293 + return ext2;
  294 + }
  295 +
  296 + public void setExt2(String ext2) {
  297 + this.ext2 = ext2 == null ? null : ext2.trim();
  298 + }
  299 +
  300 + public String getExt3() {
  301 + return ext3;
  302 + }
  303 +
  304 + public void setExt3(String ext3) {
  305 + this.ext3 = ext3 == null ? null : ext3.trim();
  306 + }
  307 +}
  1 +package com.sunyo.wlpt.message.builder.exparessModel;
  2 +
  3 +import com.fasterxml.jackson.annotation.JsonFormat;
  4 +import lombok.Data;
  5 +
  6 +import java.math.BigDecimal;
  7 +import java.util.Date;
  8 +
  9 +@Data
  10 +public class ExpAwbh311 {
  11 + private String id;
  12 +
  13 + private String flightNo;
  14 +
  15 + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
  16 + private Date flightDate;
  17 +
  18 + private String voyageno;
  19 +
  20 + private String billno;
  21 +
  22 + private String assbillno;
  23 +
  24 + private String maingname;
  25 +
  26 + private Long packno;
  27 +
  28 + private BigDecimal grosswt;
  29 +
  30 + private BigDecimal tradetotal;
  31 +
  32 + private String tradecurr;
  33 +
  34 + private Integer userid;
  35 +
  36 + private String userName;
  37 +
  38 + private Date createDate;
  39 +
  40 + private Date updateDate;
  41 +
  42 + private String delFlag;
  43 +
  44 + private String ext2;
  45 +
  46 + private String ext3;
  47 +
  48 + public String getFlightNo() {
  49 + return flightNo;
  50 + }
  51 +
  52 + public void setFlightNo(String flightNo) {
  53 + this.flightNo = flightNo == null ? null : flightNo.trim();
  54 + }
  55 +
  56 + public Date getFlightDate() {
  57 + return flightDate;
  58 + }
  59 +
  60 + public void setFlightDate(Date flightDate) {
  61 + this.flightDate = flightDate;
  62 + }
  63 +
  64 + public String getVoyageno() {
  65 + return voyageno;
  66 + }
  67 +
  68 + public void setVoyageno(String voyageno) {
  69 + this.voyageno = voyageno == null ? null : voyageno.trim();
  70 + }
  71 +
  72 + public String getBillno() {
  73 + return billno;
  74 + }
  75 +
  76 + public void setBillno(String billno) {
  77 + this.billno = billno == null ? null : billno.trim();
  78 + }
  79 +
  80 + public String getAssbillno() {
  81 + return assbillno;
  82 + }
  83 +
  84 + public void setAssbillno(String assbillno) {
  85 + this.assbillno = assbillno == null ? null : assbillno.trim();
  86 + }
  87 +
  88 + public String getMaingname() {
  89 + return maingname;
  90 + }
  91 +
  92 + public void setMaingname(String maingname) {
  93 + this.maingname = maingname == null ? null : maingname.trim();
  94 + }
  95 +
  96 + public Long getPackno() {
  97 + return packno;
  98 + }
  99 +
  100 + public void setPackno(Long packno) {
  101 + this.packno = packno;
  102 + }
  103 +
  104 + public BigDecimal getGrosswt() {
  105 + return grosswt;
  106 + }
  107 +
  108 + public void setGrosswt(BigDecimal grosswt) {
  109 + this.grosswt = grosswt;
  110 + }
  111 +
  112 + public BigDecimal getTradetotal() {
  113 + return tradetotal;
  114 + }
  115 +
  116 + public void setTradetotal(BigDecimal tradetotal) {
  117 + this.tradetotal = tradetotal;
  118 + }
  119 +
  120 + public String getTradecurr() {
  121 + return tradecurr;
  122 + }
  123 +
  124 + public void setTradecurr(String tradecurr) {
  125 + this.tradecurr = tradecurr == null ? null : tradecurr.trim();
  126 + }
  127 +
  128 + public Integer getUserid() {
  129 + return userid;
  130 + }
  131 +
  132 + public void setUserid(Integer userid) {
  133 + this.userid = userid;
  134 + }
  135 +
  136 + public String getUserName() {
  137 + return userName;
  138 + }
  139 +
  140 + public void setUserName(String userName) {
  141 + this.userName = userName == null ? null : userName.trim();
  142 + }
  143 +
  144 + public Date getCreateDate() {
  145 + return createDate;
  146 + }
  147 +
  148 + public void setCreateDate(Date createDate) {
  149 + this.createDate = createDate;
  150 + }
  151 +
  152 + public Date getUpdateDate() {
  153 + return updateDate;
  154 + }
  155 +
  156 + public void setUpdateDate(Date updateDate) {
  157 + this.updateDate = updateDate;
  158 + }
  159 +
  160 + public String getDelFlag() {
  161 + return delFlag;
  162 + }
  163 +
  164 + public void setDelFlag(String delFlag) {
  165 + this.delFlag = delFlag == null ? null : delFlag.trim();
  166 + }
  167 +
  168 + public String getExt2() {
  169 + return ext2;
  170 + }
  171 +
  172 + public void setExt2(String ext2) {
  173 + this.ext2 = ext2 == null ? null : ext2.trim();
  174 + }
  175 +
  176 + public String getExt3() {
  177 + return ext3;
  178 + }
  179 +
  180 + public void setExt3(String ext3) {
  181 + this.ext3 = ext3 == null ? null : ext3.trim();
  182 + }
  183 +}
  1 +package com.sunyo.wlpt.message.builder.expressSerivce;
  2 +
  3 +import com.sunyo.wlpt.message.builder.exparessModel.ExpAwba311;
  4 +
  5 +import java.io.IOException;
  6 +import java.util.Map;
  7 +
  8 +/**
  9 + * @author shenhailong
  10 + * <p>
  11 + * 2020/12/13/16:26
  12 + */
  13 +public interface ExpressService {
  14 +
  15 + Map<String, Object> creatAwba(ExpAwba311 expAwba311) throws IOException;
  16 +
  17 +}
  1 +package com.sunyo.wlpt.message.builder.expressSerivce.imp;
  2 +
  3 +import com.sunyo.wlpt.message.builder.exparessModel.ExpAwba311;
  4 +import com.sunyo.wlpt.message.builder.exparessModel.ExpAwbh311;
  5 +import com.sunyo.wlpt.message.builder.expressSerivce.ExpressService;
  6 +import com.sunyo.wlpt.message.builder.util.CustomXmlMaker;
  7 +import com.tianbo.util.Date.DateUtil;
  8 +import org.springframework.stereotype.Service;
  9 +
  10 +import java.io.IOException;
  11 +import java.util.HashMap;
  12 +import java.util.List;
  13 +import java.util.Map;
  14 +
  15 +/**
  16 + * @author shenhailong
  17 + * <p>
  18 + * 2020/12/13/16:26
  19 + */
  20 +@Service
  21 +public class ExpressServiceImp extends CustomXmlMaker implements ExpressService {
  22 +
  23 + @Override
  24 + public Map<String, Object> creatAwba(ExpAwba311 expAwba311) throws IOException {
  25 +
  26 + List<ExpAwbh311> children = expAwba311.getChildren();
  27 + Map hashMap = new HashMap();
  28 + hashMap.put("awba", expAwba311);
  29 + hashMap.put("awbh", children);
  30 + makeXmlToFile("/express/add/EXP311.ftlx", expAwba311.getBillno()+ DateUtil.getDDTM() +".xml", hashMap, "");
  31 +
  32 + return null;
  33 + }
  34 +}
  1 +<Package>
  2 + <EnvelopInfo>
  3 + <version>1.0</version>
  4 + <message_id>0000000000101E0100002013031812303000000000001</message_id>
  5 + <file_name>0000000000101E0100002013031812303000000000001.EXP</file_name>
  6 + <message_type>EXP311</message_type>
  7 + <sender_id>000000000000002006</sender_id>
  8 + <receiver_id>E010000</receiver_id>
  9 + <send_time>20180829103112</send_time>
  10 + </EnvelopInfo>
  11 + <DataInfo>
  12 + <SignedData>
  13 + <Data>
  14 + <EXP311>
  15 + <ExpMftHead>
  16 + <OpType>${awba.optype}</OpType>
  17 + <BillNo>${awba.billno}</BillNo>
  18 + <VoyageNo>${awba.voyageno}</VoyageNo>
  19 + <IEFlag>${awba.ieflag}</IEFlag>
  20 + <TrafCnName>${awba.trafcnname}</TrafCnName>
  21 + <TrafEnName>${awba.trafenname}</TrafEnName>
  22 + <GrossWt>${awba.grosswt}</GrossWt>
  23 + <PackNo>${awba.packno}</PackNo>
  24 + <BillNum>${awba.billnum}</BillNum>
  25 + <TrafMode>${awba.trafmode}</TrafMode>
  26 + <IEDate>${awba.iedate?string('yyyyMMdd')}</IEDate>
  27 + <DestinationPort>${awba.destinationport}</DestinationPort>
  28 + <IEPort>${awba.ieport}</IEPort>
  29 + <TradeCo>${awba.tradeco}</TradeCo>
  30 + <TradeName>${awba.tradename}</TradeName>
  31 + <InputNo>${awba.inputno}</InputNo>
  32 + <InputOpName>${awba.inputopname}</InputOpName>
  33 + <InputCompanyCode>${awba.inputcompanycode}</InputCompanyCode>
  34 + <InputCompanyName>${awba.inputcompanyname}</InputCompanyName>
  35 + </ExpMftHead>
  36 + <#list awbh as awbh>
  37 + <ExpMftList>
  38 + <BillNo>${awbh.billno}</BillNo>
  39 + <AssBillNo>${awbh.assbillno}</AssBillNo>
  40 + <VoyageNo>${awbh.voyageno}</VoyageNo>
  41 + <MainGName>${awbh.maingname}</MainGName>
  42 + <PackNo>${awbh.packno}</PackNo>
  43 + <GrossWt>${awbh.grosswt}</GrossWt>
  44 + <TradeTotal>${awbh.tradetotal}</TradeTotal>
  45 + <TradeCurr>${awbh.tradecurr}</TradeCurr>
  46 + </ExpMftList>
  47 + </#list>
  48 + </EXP311>
  49 + </Data>
  50 + <HashSign>String</HashSign>
  51 + <SignerInfo>String</SignerInfo>
  52 + </SignedData>
  53 + </DataInfo>
  54 +</Package>
  1 +<Manifest xmlns="urn:Declaration:datamodel:standard:CN:MT5202:1" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  2 + <Head>
  3 + <MessageID>${t.awba}</MessageID>
  4 + <FunctionCode>${t.customeCode}</FunctionCode>
  5 + <MessageType>MT5202</MessageType>
  6 + <SenderID>460470678920X_DXPENT0000460002</SenderID>
  7 + <ReceiverID>4620</ReceiverID>
  8 + <SendTime>20190523103927763</SendTime>
  9 + <Version>1.0</Version>
  10 + </Head>
  11 + <!--<Declaration>-->
  12 + <!--<DeclarationOfficeID>4620</DeclarationOfficeID>-->
  13 + <!--<BorderTransportMeans>-->
  14 + <!--<JourneyID>CX051/20190523</JourneyID>-->
  15 + <!--<TypeCode>4</TypeCode>-->
  16 + <!--<ID>CX051</ID>-->
  17 + <!--<Name>CX051</Name>-->
  18 + <!--<ActualDateTime>201905230820086</ActualDateTime>-->
  19 + <!--<CompletedDateTime>201905230835086</CompletedDateTime>-->
  20 + <!--<LoadingLocation>-->
  21 + <!--<ID>CGO/4620</ID>-->
  22 + <!--</LoadingLocation>-->
  23 + <!--</BorderTransportMeans>-->
  24 + <!--<TallyParty>-->
  25 + <!--<ID>70678920X</ID>-->
  26 + <!--</TallyParty>-->
  27 + <!--<Consignment>-->
  28 + <!--<TransportContractDocument>-->
  29 + <!--<ID>16006939951</ID>-->
  30 + <!--</TransportContractDocument>-->
  31 + <!--<AssociatedTransportDocument>-->
  32 + <!--<ID>16006939951_TYN00072745</ID>-->
  33 + <!--</AssociatedTransportDocument>-->
  34 + <!--<ConsignmentPackaging>-->
  35 + <!--<QuantityQuantity>1</QuantityQuantity>-->
  36 + <!--</ConsignmentPackaging>-->
  37 + <!--<TotalGrossMassMeasure>26</TotalGrossMassMeasure>-->
  38 + <!--</Consignment>-->
  39 + <!--</Declaration>-->
  40 +</Manifest>