作者 shenhailong

安检清单 报文生成

@@ -73,4 +73,16 @@ public class MT2201Controller { @@ -73,4 +73,16 @@ public class MT2201Controller {
73 73
74 } 74 }
75 75
  76 + @PostMapping("/securityBuilder")
  77 + @ResponseBody
  78 + public int securityBuilder(@RequestBody Map<String, Object> map) {
  79 + try {
  80 + return mt2201Service.securityBuilder(map);
  81 + }catch (Exception e){
  82 + e.printStackTrace();
  83 + return 0;
  84 + }
  85 +
  86 + }
  87 +
76 } 88 }
@@ -27,4 +27,6 @@ public interface MT2201Service { @@ -27,4 +27,6 @@ public interface MT2201Service {
27 27
28 Map<String, Object> removeMt2201(Map<String, Object> map) throws IOException, ParseException; 28 Map<String, Object> removeMt2201(Map<String, Object> map) throws IOException, ParseException;
29 29
  30 + int securityBuilder(Map<String, Object> map) throws IOException, ParseException;
  31 +
30 } 32 }
@@ -2,10 +2,7 @@ package com.sunyo.wlpt.message.builder.service.imp; @@ -2,10 +2,7 @@ package com.sunyo.wlpt.message.builder.service.imp;
2 2
3 import com.fasterxml.jackson.databind.DeserializationFeature; 3 import com.fasterxml.jackson.databind.DeserializationFeature;
4 import com.fasterxml.jackson.databind.ObjectMapper; 4 import com.fasterxml.jackson.databind.ObjectMapper;
5 -import com.sunyo.wlpt.base.model.AWB_AWBINFO;  
6 -import com.sunyo.wlpt.base.model.NMMS_CUSTOM_MT2201;  
7 -import com.sunyo.wlpt.base.model.NMMS_CUSTOM_MT4201;  
8 -import com.sunyo.wlpt.base.model.NMMS_CUSTOM_RESPONSE; 5 +import com.sunyo.wlpt.base.model.*;
9 import com.sunyo.wlpt.message.builder.factory.CustomsXmlFactory; 6 import com.sunyo.wlpt.message.builder.factory.CustomsXmlFactory;
10 import com.sunyo.wlpt.message.builder.factory.CustomsXmlHeader; 7 import com.sunyo.wlpt.message.builder.factory.CustomsXmlHeader;
11 import com.sunyo.wlpt.message.builder.service.MT2201Service; 8 import com.sunyo.wlpt.message.builder.service.MT2201Service;
@@ -20,6 +17,7 @@ import org.springframework.stereotype.Service; @@ -20,6 +17,7 @@ import org.springframework.stereotype.Service;
20 import java.io.IOException; 17 import java.io.IOException;
21 import java.math.BigDecimal; 18 import java.math.BigDecimal;
22 import java.text.ParseException; 19 import java.text.ParseException;
  20 +import java.text.SimpleDateFormat;
23 import java.util.Date; 21 import java.util.Date;
24 import java.util.HashMap; 22 import java.util.HashMap;
25 import java.util.Map; 23 import java.util.Map;
@@ -115,6 +113,20 @@ public class MT2201ServiceImp extends CustomXmlMaker implements MT2201Service { @@ -115,6 +113,20 @@ public class MT2201ServiceImp extends CustomXmlMaker implements MT2201Service {
115 } 113 }
116 } 114 }
117 115
  116 + @Override
  117 + public int securityBuilder(Map<String, Object> map) throws IOException, ParseException {
  118 + ObjectMapper objectMapper = new ObjectMapper();
  119 + SecurityDeclaration security = objectMapper.convertValue(map.get("security"), SecurityDeclaration.class);
  120 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
  121 + String format = simpleDateFormat.format(new Date());
  122 + map.put("format", format);
  123 + map.put("security", security);
  124 + if (makeXmlToFile("/manifest/SecurityDeclaration.ftlx",security.getSdWaybill()+".xml",map,"./send")>0){
  125 + return 1;
  126 + }
  127 + return 0;
  128 + }
  129 +
118 130
119 public Map<String, Object> mt2201(Map<String, Object> map) throws IOException, ParseException { 131 public Map<String, Object> mt2201(Map<String, Object> map) throws IOException, ParseException {
120 ObjectMapper objectMapper = new ObjectMapper(); 132 ObjectMapper objectMapper = new ObjectMapper();
  1 +<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2 +<Msg>
  3 + <META>
  4 + <SNDR>NDLR</SNDR>
  5 + <RCVR></RCVR>
  6 + <SEQN>${security.sdWaybill}</SEQN>
  7 + <DDTM>${format}</DDTM>
  8 + <TYPE>HYXX</TYPE>
  9 + <STYP>AJXX</STYP>
  10 + </META>
  11 + <DECLAREPREPAREMASTERXMLBODY>
  12 + <Head>
  13 + <MessageID>CN_MT2201_1P0_460470678920X_${format}</MessageID>
  14 + <FunctionCode>9</FunctionCode>
  15 + <MessageType>MT2201MASTER</MessageType>
  16 + <SenderID>460470678920X_DXPENT0000460002_${format}</SenderID>
  17 + <ReceiverID>4604_${format}</ReceiverID>
  18 + <SendTime>${format}</SendTime>
  19 + <Version>1.0</Version>
  20 + </Head>
  21 + <Declaration>
  22 + <Carrier>
  23 + <ID>${security.carrier}</ID>
  24 + </Carrier>
  25 + <DES>
  26 + <ID>${security.destination}</ID>
  27 + </DES>
  28 + <BorderTransportMeans>
  29 + <JourneyID>${security.carrier}${security.flightno}/${security.flightdate?string('yyyyMMdd')}</JourneyID>
  30 + </BorderTransportMeans>
  31 + <SD>
  32 + <IataNo>${security.sdIataNumber}</IataNo>
  33 + <CargoType>${security.cargoType}</CargoType>
  34 + <Riskclassify>${security.cargoType}</Riskclassify>
  35 + <ShipperName>${security.sdCargoShipperName}</ShipperName>
  36 + <CargoAgentName>${security.sdCargoAgentName}</CargoAgentName>
  37 + <CargoName>${security.cargoName}</CargoName>
  38 + <Weight>${security.weight}</Weight>
  39 + <Piece>${security.piece}</Piece>
  40 + <TransportCertificate>${security.sdTransportCertificate}</TransportCertificate>
  41 + <TransportationProve>${security.sdTransportationProve}</TransportationProve>
  42 + </SD>
  43 + </Declaration>
  44 + </DECLAREPREPAREMASTERXMLBODY>
  45 +</Msg>