作者 shenhailong

快邮舱单主分单报文生成

package com.sunyo.wlpt.message.builder.exparessController;
import com.sunyo.wlpt.message.builder.exparessModel.ExpAwba311;
import com.sunyo.wlpt.message.builder.expressSerivce.ExpressService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.Map;
/**
* @author shenhailong
* <p>
* 2020/12/11/16:32
*/
@RequestMapping(value = "/awbaMsg")
@RestController
public class ExparessAwbaController {
@Autowired
ExpressService expressService;
/**
* 快邮舱单主单报文生成
* @param expAwba311
* @return
*/
@PostMapping("/creatAwba")
@ResponseBody
public Map<String, Object> creatAwba(@RequestBody ExpAwba311 expAwba311){
try {
expressService.creatAwba(expAwba311);
return null;
}catch (Exception e){
e.printStackTrace();
return null;
}
}
}
... ...
package com.sunyo.wlpt.message.builder.exparessModel;
import java.math.BigDecimal;
import java.util.Date;
public class CustomResponse {
private String id;
private Date flightdate;
private String flightno;
private String awbano;
private String awbhno;
private String bustype;
private Date busdate;
private BigDecimal busweight;
private Long buspiece;
private String opertype;
private String cusmsgid;
private String cussenderid;
private String cusreciverid;
private String cusversion;
private String cusfunctioncode;
private Date cusresrcvtime;
private Date cusressendtime;
private String cusrescode;
private String cusresstatus;
private String operusername;
private String opersystemname;
private String operreason;
private String operperson;
private String opertel;
private String ext1;
private String ext2;
private String ext3;
private String cusrestext;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id == null ? null : id.trim();
}
public Date getFlightdate() {
return flightdate;
}
public void setFlightdate(Date flightdate) {
this.flightdate = flightdate;
}
public String getFlightno() {
return flightno;
}
public void setFlightno(String flightno) {
this.flightno = flightno == null ? null : flightno.trim();
}
public String getAwbano() {
return awbano;
}
public void setAwbano(String awbano) {
this.awbano = awbano == null ? null : awbano.trim();
}
public String getAwbhno() {
return awbhno;
}
public void setAwbhno(String awbhno) {
this.awbhno = awbhno == null ? null : awbhno.trim();
}
public String getBustype() {
return bustype;
}
public void setBustype(String bustype) {
this.bustype = bustype == null ? null : bustype.trim();
}
public Date getBusdate() {
return busdate;
}
public void setBusdate(Date busdate) {
this.busdate = busdate;
}
public BigDecimal getBusweight() {
return busweight;
}
public void setBusweight(BigDecimal busweight) {
this.busweight = busweight;
}
public Long getBuspiece() {
return buspiece;
}
public void setBuspiece(Long buspiece) {
this.buspiece = buspiece;
}
public String getOpertype() {
return opertype;
}
public void setOpertype(String opertype) {
this.opertype = opertype == null ? null : opertype.trim();
}
public String getCusmsgid() {
return cusmsgid;
}
public void setCusmsgid(String cusmsgid) {
this.cusmsgid = cusmsgid == null ? null : cusmsgid.trim();
}
public String getCussenderid() {
return cussenderid;
}
public void setCussenderid(String cussenderid) {
this.cussenderid = cussenderid == null ? null : cussenderid.trim();
}
public String getCusreciverid() {
return cusreciverid;
}
public void setCusreciverid(String cusreciverid) {
this.cusreciverid = cusreciverid == null ? null : cusreciverid.trim();
}
public String getCusversion() {
return cusversion;
}
public void setCusversion(String cusversion) {
this.cusversion = cusversion == null ? null : cusversion.trim();
}
public String getCusfunctioncode() {
return cusfunctioncode;
}
public void setCusfunctioncode(String cusfunctioncode) {
this.cusfunctioncode = cusfunctioncode == null ? null : cusfunctioncode.trim();
}
public Date getCusresrcvtime() {
return cusresrcvtime;
}
public void setCusresrcvtime(Date cusresrcvtime) {
this.cusresrcvtime = cusresrcvtime;
}
public Date getCusressendtime() {
return cusressendtime;
}
public void setCusressendtime(Date cusressendtime) {
this.cusressendtime = cusressendtime;
}
public String getCusrescode() {
return cusrescode;
}
public void setCusrescode(String cusrescode) {
this.cusrescode = cusrescode == null ? null : cusrescode.trim();
}
public String getCusresstatus() {
return cusresstatus;
}
public void setCusresstatus(String cusresstatus) {
this.cusresstatus = cusresstatus == null ? null : cusresstatus.trim();
}
public String getOperusername() {
return operusername;
}
public void setOperusername(String operusername) {
this.operusername = operusername == null ? null : operusername.trim();
}
public String getOpersystemname() {
return opersystemname;
}
public void setOpersystemname(String opersystemname) {
this.opersystemname = opersystemname == null ? null : opersystemname.trim();
}
public String getOperreason() {
return operreason;
}
public void setOperreason(String operreason) {
this.operreason = operreason == null ? null : operreason.trim();
}
public String getOperperson() {
return operperson;
}
public void setOperperson(String operperson) {
this.operperson = operperson == null ? null : operperson.trim();
}
public String getOpertel() {
return opertel;
}
public void setOpertel(String opertel) {
this.opertel = opertel == null ? null : opertel.trim();
}
public String getExt1() {
return ext1;
}
public void setExt1(String ext1) {
this.ext1 = ext1 == null ? null : ext1.trim();
}
public String getExt2() {
return ext2;
}
public void setExt2(String ext2) {
this.ext2 = ext2 == null ? null : ext2.trim();
}
public String getExt3() {
return ext3;
}
public void setExt3(String ext3) {
this.ext3 = ext3 == null ? null : ext3.trim();
}
public String getCusrestext() {
return cusrestext;
}
public void setCusrestext(String cusrestext) {
this.cusrestext = cusrestext == null ? null : cusrestext.trim();
}
}
\ No newline at end of file
... ...
package com.sunyo.wlpt.message.builder.exparessModel;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
public class ExpAwba311 {
private String id;
private String billno;
private String flightNo;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date flightDate;
private String voyageno;
private String ieflag;
private String optype;
private String trafcnname;
private String trafenname;
private BigDecimal grosswt;
private Long packno;
private Long billnum;
private String trafmode;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date iedate;
private String destinationport;
private String ieport;
private String tradeco;
private String tradename;
private String inputno;
private String inputopname;
private String inputcompanycode;
private String inputcompanyname;
private Integer userid;
private String userName;
private Date createDate;
private Date updateDate;
private String delFlag;
private String ext1;
private String ext2;
private String ext3;
private List<ExpAwbh311> children;
public String getBillno() {
return billno;
}
public void setBillno(String billno) {
this.billno = billno == null ? null : billno.trim();
}
public String getFlightNo() {
return flightNo;
}
public void setFlightNo(String flightNo) {
this.flightNo = flightNo == null ? null : flightNo.trim();
}
public Date getFlightDate() {
return flightDate;
}
public void setFlightDate(Date flightDate) {
this.flightDate = flightDate;
}
public String getVoyageno() {
return voyageno;
}
public void setVoyageno(String voyageno) {
this.voyageno = voyageno == null ? null : voyageno.trim();
}
public String getIeflag() {
return ieflag;
}
public void setIeflag(String ieflag) {
this.ieflag = ieflag == null ? null : ieflag.trim();
}
public String getOptype() {
return optype;
}
public void setOptype(String optype) {
this.optype = optype == null ? null : optype.trim();
}
public String getTrafcnname() {
return trafcnname;
}
public void setTrafcnname(String trafcnname) {
this.trafcnname = trafcnname == null ? null : trafcnname.trim();
}
public String getTrafenname() {
return trafenname;
}
public void setTrafenname(String trafenname) {
this.trafenname = trafenname == null ? null : trafenname.trim();
}
public BigDecimal getGrosswt() {
return grosswt;
}
public void setGrosswt(BigDecimal grosswt) {
this.grosswt = grosswt;
}
public Long getPackno() {
return packno;
}
public void setPackno(Long packno) {
this.packno = packno;
}
public Long getBillnum() {
return billnum;
}
public void setBillnum(Long billnum) {
this.billnum = billnum;
}
public String getTrafmode() {
return trafmode;
}
public void setTrafmode(String trafmode) {
this.trafmode = trafmode == null ? null : trafmode.trim();
}
public Date getIedate() {
return iedate;
}
public void setIedate(Date iedate) {
this.iedate = iedate;
}
public String getDestinationport() {
return destinationport;
}
public void setDestinationport(String destinationport) {
this.destinationport = destinationport == null ? null : destinationport.trim();
}
public String getIeport() {
return ieport;
}
public void setIeport(String ieport) {
this.ieport = ieport == null ? null : ieport.trim();
}
public String getTradeco() {
return tradeco;
}
public void setTradeco(String tradeco) {
this.tradeco = tradeco == null ? null : tradeco.trim();
}
public String getTradename() {
return tradename;
}
public void setTradename(String tradename) {
this.tradename = tradename == null ? null : tradename.trim();
}
public String getInputno() {
return inputno;
}
public void setInputno(String inputno) {
this.inputno = inputno == null ? null : inputno.trim();
}
public String getInputopname() {
return inputopname;
}
public void setInputopname(String inputopname) {
this.inputopname = inputopname == null ? null : inputopname.trim();
}
public String getInputcompanycode() {
return inputcompanycode;
}
public void setInputcompanycode(String inputcompanycode) {
this.inputcompanycode = inputcompanycode == null ? null : inputcompanycode.trim();
}
public String getInputcompanyname() {
return inputcompanyname;
}
public void setInputcompanyname(String inputcompanyname) {
this.inputcompanyname = inputcompanyname == null ? null : inputcompanyname.trim();
}
public Integer getUserid() {
return userid;
}
public void setUserid(Integer userid) {
this.userid = userid;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName == null ? null : userName.trim();
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public Date getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
public String getDelFlag() {
return delFlag;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag == null ? null : delFlag.trim();
}
public String getExt1() {
return ext1;
}
public void setExt1(String ext1) {
this.ext1 = ext1 == null ? null : ext1.trim();
}
public String getExt2() {
return ext2;
}
public void setExt2(String ext2) {
this.ext2 = ext2 == null ? null : ext2.trim();
}
public String getExt3() {
return ext3;
}
public void setExt3(String ext3) {
this.ext3 = ext3 == null ? null : ext3.trim();
}
}
\ No newline at end of file
... ...
package com.sunyo.wlpt.message.builder.exparessModel;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class ExpAwbh311 {
private String id;
private String flightNo;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date flightDate;
private String voyageno;
private String billno;
private String assbillno;
private String maingname;
private Long packno;
private BigDecimal grosswt;
private BigDecimal tradetotal;
private String tradecurr;
private Integer userid;
private String userName;
private Date createDate;
private Date updateDate;
private String delFlag;
private String ext2;
private String ext3;
public String getFlightNo() {
return flightNo;
}
public void setFlightNo(String flightNo) {
this.flightNo = flightNo == null ? null : flightNo.trim();
}
public Date getFlightDate() {
return flightDate;
}
public void setFlightDate(Date flightDate) {
this.flightDate = flightDate;
}
public String getVoyageno() {
return voyageno;
}
public void setVoyageno(String voyageno) {
this.voyageno = voyageno == null ? null : voyageno.trim();
}
public String getBillno() {
return billno;
}
public void setBillno(String billno) {
this.billno = billno == null ? null : billno.trim();
}
public String getAssbillno() {
return assbillno;
}
public void setAssbillno(String assbillno) {
this.assbillno = assbillno == null ? null : assbillno.trim();
}
public String getMaingname() {
return maingname;
}
public void setMaingname(String maingname) {
this.maingname = maingname == null ? null : maingname.trim();
}
public Long getPackno() {
return packno;
}
public void setPackno(Long packno) {
this.packno = packno;
}
public BigDecimal getGrosswt() {
return grosswt;
}
public void setGrosswt(BigDecimal grosswt) {
this.grosswt = grosswt;
}
public BigDecimal getTradetotal() {
return tradetotal;
}
public void setTradetotal(BigDecimal tradetotal) {
this.tradetotal = tradetotal;
}
public String getTradecurr() {
return tradecurr;
}
public void setTradecurr(String tradecurr) {
this.tradecurr = tradecurr == null ? null : tradecurr.trim();
}
public Integer getUserid() {
return userid;
}
public void setUserid(Integer userid) {
this.userid = userid;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName == null ? null : userName.trim();
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public Date getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
public String getDelFlag() {
return delFlag;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag == null ? null : delFlag.trim();
}
public String getExt2() {
return ext2;
}
public void setExt2(String ext2) {
this.ext2 = ext2 == null ? null : ext2.trim();
}
public String getExt3() {
return ext3;
}
public void setExt3(String ext3) {
this.ext3 = ext3 == null ? null : ext3.trim();
}
}
\ No newline at end of file
... ...
package com.sunyo.wlpt.message.builder.expressSerivce;
import com.sunyo.wlpt.message.builder.exparessModel.ExpAwba311;
import java.io.IOException;
import java.util.Map;
/**
* @author shenhailong
* <p>
* 2020/12/13/16:26
*/
public interface ExpressService {
Map<String, Object> creatAwba(ExpAwba311 expAwba311) throws IOException;
}
... ...
package com.sunyo.wlpt.message.builder.expressSerivce.imp;
import com.sunyo.wlpt.message.builder.exparessModel.ExpAwba311;
import com.sunyo.wlpt.message.builder.exparessModel.ExpAwbh311;
import com.sunyo.wlpt.message.builder.expressSerivce.ExpressService;
import com.sunyo.wlpt.message.builder.util.CustomXmlMaker;
import com.tianbo.util.Date.DateUtil;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author shenhailong
* <p>
* 2020/12/13/16:26
*/
@Service
public class ExpressServiceImp extends CustomXmlMaker implements ExpressService {
@Override
public Map<String, Object> creatAwba(ExpAwba311 expAwba311) throws IOException {
List<ExpAwbh311> children = expAwba311.getChildren();
Map hashMap = new HashMap();
hashMap.put("awba", expAwba311);
hashMap.put("awbh", children);
makeXmlToFile("/express/add/EXP311.ftlx", expAwba311.getBillno()+ DateUtil.getDDTM() +".xml", hashMap, "");
return null;
}
}
... ...
<Package>
<EnvelopInfo>
<version>1.0</version>
<message_id>0000000000101E0100002013031812303000000000001</message_id>
<file_name>0000000000101E0100002013031812303000000000001.EXP</file_name>
<message_type>EXP311</message_type>
<sender_id>000000000000002006</sender_id>
<receiver_id>E010000</receiver_id>
<send_time>20180829103112</send_time>
</EnvelopInfo>
<DataInfo>
<SignedData>
<Data>
<EXP311>
<ExpMftHead>
<OpType>${awba.optype}</OpType>
<BillNo>${awba.billno}</BillNo>
<VoyageNo>${awba.voyageno}</VoyageNo>
<IEFlag>${awba.ieflag}</IEFlag>
<TrafCnName>${awba.trafcnname}</TrafCnName>
<TrafEnName>${awba.trafenname}</TrafEnName>
<GrossWt>${awba.grosswt}</GrossWt>
<PackNo>${awba.packno}</PackNo>
<BillNum>${awba.billnum}</BillNum>
<TrafMode>${awba.trafmode}</TrafMode>
<IEDate>${awba.iedate?string('yyyyMMdd')}</IEDate>
<DestinationPort>${awba.destinationport}</DestinationPort>
<IEPort>${awba.ieport}</IEPort>
<TradeCo>${awba.tradeco}</TradeCo>
<TradeName>${awba.tradename}</TradeName>
<InputNo>${awba.inputno}</InputNo>
<InputOpName>${awba.inputopname}</InputOpName>
<InputCompanyCode>${awba.inputcompanycode}</InputCompanyCode>
<InputCompanyName>${awba.inputcompanyname}</InputCompanyName>
</ExpMftHead>
<#list awbh as awbh>
<ExpMftList>
<BillNo>${awbh.billno}</BillNo>
<AssBillNo>${awbh.assbillno}</AssBillNo>
<VoyageNo>${awbh.voyageno}</VoyageNo>
<MainGName>${awbh.maingname}</MainGName>
<PackNo>${awbh.packno}</PackNo>
<GrossWt>${awbh.grosswt}</GrossWt>
<TradeTotal>${awbh.tradetotal}</TradeTotal>
<TradeCurr>${awbh.tradecurr}</TradeCurr>
</ExpMftList>
</#list>
</EXP311>
</Data>
<HashSign>String</HashSign>
<SignerInfo>String</SignerInfo>
</SignedData>
</DataInfo>
</Package>
\ No newline at end of file
... ...
<Manifest xmlns="urn:Declaration:datamodel:standard:CN:MT5202:1" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Head>
<MessageID>${t.awba}</MessageID>
<FunctionCode>${t.customeCode}</FunctionCode>
<MessageType>MT5202</MessageType>
<SenderID>460470678920X_DXPENT0000460002</SenderID>
<ReceiverID>4620</ReceiverID>
<SendTime>20190523103927763</SendTime>
<Version>1.0</Version>
</Head>
<!--<Declaration>-->
<!--<DeclarationOfficeID>4620</DeclarationOfficeID>-->
<!--<BorderTransportMeans>-->
<!--<JourneyID>CX051/20190523</JourneyID>-->
<!--<TypeCode>4</TypeCode>-->
<!--<ID>CX051</ID>-->
<!--<Name>CX051</Name>-->
<!--<ActualDateTime>201905230820086</ActualDateTime>-->
<!--<CompletedDateTime>201905230835086</CompletedDateTime>-->
<!--<LoadingLocation>-->
<!--<ID>CGO/4620</ID>-->
<!--</LoadingLocation>-->
<!--</BorderTransportMeans>-->
<!--<TallyParty>-->
<!--<ID>70678920X</ID>-->
<!--</TallyParty>-->
<!--<Consignment>-->
<!--<TransportContractDocument>-->
<!--<ID>16006939951</ID>-->
<!--</TransportContractDocument>-->
<!--<AssociatedTransportDocument>-->
<!--<ID>16006939951_TYN00072745</ID>-->
<!--</AssociatedTransportDocument>-->
<!--<ConsignmentPackaging>-->
<!--<QuantityQuantity>1</QuantityQuantity>-->
<!--</ConsignmentPackaging>-->
<!--<TotalGrossMassMeasure>26</TotalGrossMassMeasure>-->
<!--</Consignment>-->
<!--</Declaration>-->
</Manifest>
\ No newline at end of file
... ...