作者 shenhailong

安检清单 报文生成

... ... @@ -73,4 +73,16 @@ public class MT2201Controller {
}
@PostMapping("/securityBuilder")
@ResponseBody
public int securityBuilder(@RequestBody Map<String, Object> map) {
try {
return mt2201Service.securityBuilder(map);
}catch (Exception e){
e.printStackTrace();
return 0;
}
}
}
... ...
... ... @@ -27,4 +27,6 @@ public interface MT2201Service {
Map<String, Object> removeMt2201(Map<String, Object> map) throws IOException, ParseException;
int securityBuilder(Map<String, Object> map) throws IOException, ParseException;
}
... ...
... ... @@ -2,10 +2,7 @@ package com.sunyo.wlpt.message.builder.service.imp;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.sunyo.wlpt.base.model.AWB_AWBINFO;
import com.sunyo.wlpt.base.model.NMMS_CUSTOM_MT2201;
import com.sunyo.wlpt.base.model.NMMS_CUSTOM_MT4201;
import com.sunyo.wlpt.base.model.NMMS_CUSTOM_RESPONSE;
import com.sunyo.wlpt.base.model.*;
import com.sunyo.wlpt.message.builder.factory.CustomsXmlFactory;
import com.sunyo.wlpt.message.builder.factory.CustomsXmlHeader;
import com.sunyo.wlpt.message.builder.service.MT2201Service;
... ... @@ -20,6 +17,7 @@ import org.springframework.stereotype.Service;
import java.io.IOException;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
... ... @@ -115,6 +113,20 @@ public class MT2201ServiceImp extends CustomXmlMaker implements MT2201Service {
}
}
@Override
public int securityBuilder(Map<String, Object> map) throws IOException, ParseException {
ObjectMapper objectMapper = new ObjectMapper();
SecurityDeclaration security = objectMapper.convertValue(map.get("security"), SecurityDeclaration.class);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
String format = simpleDateFormat.format(new Date());
map.put("format", format);
map.put("security", security);
if (makeXmlToFile("/manifest/SecurityDeclaration.ftlx",security.getSdWaybill()+".xml",map,"./send")>0){
return 1;
}
return 0;
}
public Map<String, Object> mt2201(Map<String, Object> map) throws IOException, ParseException {
ObjectMapper objectMapper = new ObjectMapper();
... ...
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Msg>
<META>
<SNDR>NDLR</SNDR>
<RCVR></RCVR>
<SEQN>${security.sdWaybill}</SEQN>
<DDTM>${format}</DDTM>
<TYPE>HYXX</TYPE>
<STYP>AJXX</STYP>
</META>
<DECLAREPREPAREMASTERXMLBODY>
<Head>
<MessageID>CN_MT2201_1P0_460470678920X_${format}</MessageID>
<FunctionCode>9</FunctionCode>
<MessageType>MT2201MASTER</MessageType>
<SenderID>460470678920X_DXPENT0000460002_${format}</SenderID>
<ReceiverID>4604_${format}</ReceiverID>
<SendTime>${format}</SendTime>
<Version>1.0</Version>
</Head>
<Declaration>
<Carrier>
<ID>${security.carrier}</ID>
</Carrier>
<DES>
<ID>${security.destination}</ID>
</DES>
<BorderTransportMeans>
<JourneyID>${security.carrier}${security.flightno}/${security.flightdate?string('yyyyMMdd')}</JourneyID>
</BorderTransportMeans>
<SD>
<IataNo>${security.sdIataNumber}</IataNo>
<CargoType>${security.cargoType}</CargoType>
<Riskclassify>${security.cargoType}</Riskclassify>
<ShipperName>${security.sdCargoShipperName}</ShipperName>
<CargoAgentName>${security.sdCargoAgentName}</CargoAgentName>
<CargoName>${security.cargoName}</CargoName>
<Weight>${security.weight}</Weight>
<Piece>${security.piece}</Piece>
<TransportCertificate>${security.sdTransportCertificate}</TransportCertificate>
<TransportationProve>${security.sdTransportationProve}</TransportationProve>
</SD>
</Declaration>
</DECLAREPREPAREMASTERXMLBODY>
</Msg>
\ No newline at end of file
... ...