作者 shenhailong

修改1201报文 货运承运地点

添加 海关通道编号

优化 报文生成头部信息 重复代码问题
... ... @@ -136,5 +136,5 @@ custom:
#舱单传输人名称
org-code: 9141010070678920XJ
tcs:
#企业备案编码
#海关通道编号
mq-number: DXPENT0000460002
... ...
... ... @@ -17,12 +17,11 @@ public class CustomsXmlAnalysisHeader implements CustomsXmlHeader {
* @param customCode 关区代码
* @param orgsn 海关备案编码
* @param waylbillNo 主单号
* @param orgCode 舱单传输人名称
* @param tcssn 企业备案编码
* @return
*/
@Override
public Map<String, Object> makeHeader(String customCode, String orgsn, String waylbillNo, String orgCode, String tcssn, String mtType) {
public Map<String, Object> makeHeader(String customCode, String orgsn, String waylbillNo, String tcssn, String mtType) {
Map<String, Object> map = new HashMap<>();
CustomXmlMaker customXmlMaker = new CustomXmlMaker();
// 报文头部信息 messageId
... ...
... ... @@ -4,6 +4,6 @@ import java.util.Map;
public interface CustomsXmlHeader {
Map<String, Object> makeHeader(String customCode, String orgsn, String waylbillNo, String orgCode, String tcssn, String mtType);
Map<String, Object> makeHeader(String customCode, String orgsn, String waylbillNo, String tcssn, String mtType);
}
... ...
... ... @@ -4,11 +4,14 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.sunyo.wlpt.base.model.AWB_AWBINFO;
import com.sunyo.wlpt.base.model.NMMS_CUSTOM_MT1201;
import com.sunyo.wlpt.base.model.NMMS_CUSTOM_RESPONSE;
import com.sunyo.wlpt.message.builder.factory.CustomsXmlFactory;
import com.sunyo.wlpt.message.builder.factory.CustomsXmlHeader;
import com.sunyo.wlpt.message.builder.service.MT1201Service;
import com.sunyo.wlpt.message.builder.util.CustomXmlMaker;
import com.sunyo.wlpt.message.builder.util.ReturnUtil;
import com.tianbo.util.Date.DateUtil;
import com.tianbo.util.nmms.AwbaUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
... ... @@ -28,6 +31,9 @@ public class MT1201ServiceImp extends CustomXmlMaker implements MT1201Service{
@Value("${custom.org-code}")
private String orgCode;
@Value("${custom.mq-number}")
private String mq_number;
@Override
public Map<String, Object> ffmcreate(Map<String, Object> map) throws IOException, ParseException {
... ... @@ -46,31 +52,27 @@ public class MT1201ServiceImp extends CustomXmlMaker implements MT1201Service{
@Override
public Map<String, Object> removeMt1201(Map<String, Object> map) throws IOException, ParseException {
// 处理主单号 -
String awba = ReturnUtil.awbaReplace(map.get("awba").toString());
String customCode = map.get("customCode").toString();
// 生成报文头部
String msgId = makeMsgID("MT1201", orgsn, map.get("awba").toString());
String senderId = makeSenderID(customCode, orgsn, "");
String receiverID = customCode;
map.put("msgId", msgId);
map.put("senderId", senderId);
map.put("receiverID", receiverID);
// 报文头时间 精确到毫秒
map.put("sendTime", DateUtil.getCurrentTime17());
// 舱单传输人名称
map.put("orgCode", orgCode);
// 处理主单号 -
String awba = ReturnUtil.awbaReplace(map.get("awba").toString());
map.put("awbas", awba);
String flightDate = ReturnUtil.awbaReplace(map.get("flightDate").toString());
map.put("flightDates",flightDate);
// 生成报文头部信息
CustomsXmlFactory customsXmlFactory = new CustomsXmlFactory();
CustomsXmlHeader message = customsXmlFactory.getCustomsXmlHeader("MESSAGE");
Map<String, Object> mt1201 = message.makeHeader(customCode, orgsn, awba, mq_number, "MT1201");
map.put("map", mt1201);
// 生成报文
Map<String, Object> hashMap = new HashMap<>();
// 生成报文
if (makeXmlToFile("/remove/MT1201.ftlx", msgId+".xml", map, "./send/remove/")>0){
if (makeXmlToFile("/remove/MT1201.ftlx", mt1201.get("messageID")+".xml", map, "./send/remove/")>0){
map.put("functionCode", "3");
map.put("busType","MT1201");
NMMS_CUSTOM_RESPONSE nmmsCustomResponse = ReturnUtil.nmmsCustomResponse(map);
... ... @@ -93,12 +95,18 @@ public class MT1201ServiceImp extends CustomXmlMaker implements MT1201Service{
ObjectMapper objectMapper = new ObjectMapper();
// 预配
NMMS_CUSTOM_MT1201 customMt1201 = objectMapper.convertValue(map.get("mt1201"), NMMS_CUSTOM_MT1201.class);
String splitcode = customMt1201.getSplitcode();
if(StringUtils.isEmpty(splitcode)){
if ("T".equals(splitcode) || "S".equals(splitcode)){
customMt1201.setSplitcode("0");
}else {
customMt1201.setSplitcode("1");
}
}
// 运单
AWB_AWBINFO awbAwbinfo = customMt1201.getAwbinfo();
// 关区代码
String customCode = customMt1201.getCustomcode();
// 报文头时间 精确到毫秒
map.put("sendTime", DateUtil.getCurrentTime17());
// 航班起飞时间 sendTime(海关接受时间) + 1小时
String s = DateUtil.addDateMinut(new Date(), 1);
// 航班到达时间 航班起飞时间 + 2小时/+当前是间加3个小时
... ... @@ -114,18 +122,18 @@ public class MT1201ServiceImp extends CustomXmlMaker implements MT1201Service{
// 处理主单号-
String awba = ReturnUtil.awbaReplace(customMt1201.getAwba());
map.put("awba", awba);
// 生成报文头部
String msgId = makeMsgID("MT1201", orgsn, customMt1201.getAwba());
String senderId = makeSenderID(customCode, orgsn, "");
String receiverID = customCode;
map.put("msgId", msgId);
map.put("senderId", senderId);
map.put("receiverID", receiverID);
// 生成报文头部信息
CustomsXmlFactory customsXmlFactory = new CustomsXmlFactory();
CustomsXmlHeader message = customsXmlFactory.getCustomsXmlHeader("MESSAGE");
Map<String, Object> mt1201 = message.makeHeader(customCode, orgsn, awba, mq_number, "MT1201");
map.put("map", mt1201);
// 舱单传输人名称
map.put("orgCode", orgCode);
Map<String, Object> maps = new HashMap<>();
// 生成报文
if (makeXmlToFile(map.get("templatePath").toString(), msgId+".xml", map, map.get("sendPath").toString())>0){
if (makeXmlToFile(map.get("templatePath").toString(), mt1201.get("messageID")+".xml", map, map.get("sendPath").toString())>0){
if (!map.containsKey("reason")){
map.put("functionCode", "9");
map.put("busType","MT1201");
... ...
... ... @@ -59,6 +59,9 @@ public class MT2201ServiceImp extends CustomXmlMaker implements MT2201Service {
@Value("${custom.org-code}")
private String orgCode;
@Value("${custom.mq-number}")
private String mq_number;
@Override
public List<Map<String, Object>> creatMt2201(List<NMMS_CUSTOM_MT2201> nmmsCustomMt2201List) throws IOException, ParseException {
List<Map<String, Object>> mapList = new ArrayList<>();
... ... @@ -95,23 +98,19 @@ public class MT2201ServiceImp extends CustomXmlMaker implements MT2201Service {
@Override
public Map<String, Object> removeMt2201(Map<String, Object> map) throws IOException, ParseException {
String awba = ReturnUtil.awbaReplace(map.get("awba").toString());
String customCode = map.get("customCode").toString();
// 生成报文头部信息
CustomsXmlFactory customsXmlFactory = new CustomsXmlFactory();
CustomsXmlHeader message = customsXmlFactory.getCustomsXmlHeader("MESSAGE");
Map<String, Object> mt2201 = message.makeHeader(customCode, orgsn, map.get("awba").toString(), orgCode, "", "MT2201");
Map<String, Object> mt2201 = message.makeHeader(customCode, orgsn, awba, mq_number, "MT2201");
map.put("map", mt2201);
// 舱单传输人名称
map.put("orgCode", orgCode);
// // 处理主单号-
// String awba = ReturnUtil.awbaReplace(map.get("awba").toString());
// map.put("awbas", awba);
// String flightDate = ReturnUtil.awbaReplace(map.get("flightDate").toString());
// map.put("flightDates",flightDate);
Map<String, Object> hashMap = new HashMap<>();
// 生成报文
if (makeXmlToFile("/remove/MT2201.ftlx", mt2201.get("messageID").toString()+".xml", map, "./send/remove/")>0){
if (makeXmlToFile("/remove/MT2201.ftlx", mt2201.get("messageID")+".xml", map, "./send/remove/")>0){
map.put("functionCode", "3");
map.put("busType","MT2201");
NMMS_CUSTOM_RESPONSE nmmsCustomResponse = ReturnUtil.nmmsCustomResponse(map);
... ... @@ -160,7 +159,7 @@ public class MT2201ServiceImp extends CustomXmlMaker implements MT2201Service {
// 生成报文头部信息
CustomsXmlFactory customsXmlFactory = new CustomsXmlFactory();
CustomsXmlHeader message = customsXmlFactory.getCustomsXmlHeader("MESSAGE");
Map<String, Object> mt2201 = message.makeHeader(customCode, orgsn, custom_mt2201.getAwba(), orgCode, "", "MT2201");
Map<String, Object> mt2201 = message.makeHeader(customCode, orgsn, awba, mq_number, "MT2201");
map.put("map", mt2201);
String s = DateUtil.addDateMinut(new Date(), 6);
// 货物装卸时间
... ...
... ... @@ -28,7 +28,7 @@ public class MT3201ServiceImp extends CustomXmlMaker implements MT3201Service {
private String orgCode;
@Value("${tcs.mq-number}")
private String tcss;
private String mq_number;
@Override
public Map<String, Object> fohcreate(Map<String, Object> map) throws IOException, ParseException {
... ... @@ -45,7 +45,7 @@ public class MT3201ServiceImp extends CustomXmlMaker implements MT3201Service {
// 生成报文头部信息
CustomsXmlFactory customsXmlFactory = new CustomsXmlFactory();
CustomsXmlHeader message = customsXmlFactory.getCustomsXmlHeader("MESSAGE");
Map<String, Object> mt3201 = message.makeHeader(customCode, orgsn, customMt3201.getAwba(), orgCode, tcss, "MT3201");
Map<String, Object> mt3201 = message.makeHeader(customCode, orgsn, awba, mq_number, "MT3201");
map.put("map", mt3201);
Map<String, Object> map3201= new HashMap<>();
... ... @@ -98,7 +98,7 @@ public class MT3201ServiceImp extends CustomXmlMaker implements MT3201Service {
// 生成报文头部信息
CustomsXmlFactory customsXmlFactory = new CustomsXmlFactory();
CustomsXmlHeader message = customsXmlFactory.getCustomsXmlHeader("MESSAGE");
Map<String, Object> mt3201 = message.makeHeader(customCode, orgsn, map.get("awba").toString(), orgCode, tcss, "MT3201");
Map<String, Object> mt3201 = message.makeHeader(customCode, orgsn, awba, mq_number, "MT3201");
map.put("map", mt3201);
if (makeXmlToFile("/remove/MT3201.ftlx", mt3201.get("messageID")+".xml", map,"./send/remove/")>0){
... ...
... ... @@ -3,6 +3,8 @@ package com.sunyo.wlpt.message.builder.service.imp;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.sunyo.wlpt.base.model.NMMS_CUSTOM_RESPONSE;
import com.sunyo.wlpt.base.model.NMMS_CUSTOM_TRANS;
import com.sunyo.wlpt.message.builder.factory.CustomsXmlFactory;
import com.sunyo.wlpt.message.builder.factory.CustomsXmlHeader;
import com.sunyo.wlpt.message.builder.service.MT3202Service;
import com.sunyo.wlpt.message.builder.util.CustomXmlMaker;
import com.sunyo.wlpt.message.builder.util.ReturnUtil;
... ... @@ -22,6 +24,9 @@ public class MT3202ServiceImp extends CustomXmlMaker implements MT3202Service {
@Value("${custom.custom-code}")
private String orgsn;
@Value("${tcs.mq-number}")
private String mq_number;
@Override
public Map<String, Object> createMt3202(Map<String, Object> map) throws ParseException, IOException {
... ... @@ -30,8 +35,6 @@ public class MT3202ServiceImp extends CustomXmlMaker implements MT3202Service {
NMMS_CUSTOM_TRANS nmmsCustomTrans = objectMapper.convertValue(map.get("mt3202"), NMMS_CUSTOM_TRANS.class);
// 关区代码
String customCode = nmmsCustomTrans.getCustomcode();
// 报文头时间 精确到毫秒
map.put("sendTime", DateUtil.getCurrentTime17());
// 封装实体
map.put("mt", nmmsCustomTrans);
... ... @@ -39,19 +42,15 @@ public class MT3202ServiceImp extends CustomXmlMaker implements MT3202Service {
String awba = ReturnUtil.awbaReplace(nmmsCustomTrans.getAwba());
map.put("awba", awba);
// 生成报文头部
String msgId = makeMsgID("MT3202", orgsn, nmmsCustomTrans.getAwba());
String msessageType = "MT3202";
String senderId = makeSenderID(customCode, orgsn, "");
String receiverID = customCode;
map.put("msgId", msgId);
map.put("msessageType", msessageType);
map.put("senderId", senderId);
map.put("receiverID", receiverID);
// 生成报文头部信息
CustomsXmlFactory customsXmlFactory = new CustomsXmlFactory();
CustomsXmlHeader message = customsXmlFactory.getCustomsXmlHeader("MESSAGE");
Map<String, Object> mt3202 = message.makeHeader(customCode, orgsn, awba, mq_number, "MT3202");
map.put("map", mt3202);
Map<String, Object> map3202 = new HashMap<>();
if (makeXmlToFile("/manifest/MT3202.ftlx", msgId+".xml", map, "./send/add/")>0){
if (makeXmlToFile("/manifest/MT3202.ftlx", mt3202.get("messageID")+".xml", map, "./send/add/")>0){
map.put("functionCode", "2");
map.put("busType","MT3202");
NMMS_CUSTOM_RESPONSE nmmsCustomResponse = ReturnUtil.nmmsCustomResponse(map);
... ... @@ -83,27 +82,25 @@ public class MT3202ServiceImp extends CustomXmlMaker implements MT3202Service {
@Override
public Map<String, Object> removeMt3202(Map<String, Object> map) throws IOException, ParseException {
// 处理主单号 -
String awba = ReturnUtil.awbaReplace(map.get("awba").toString());
// 关区代码
String customCode = map.get("customCode").toString();
// 报文头时间 精确到毫秒
map.put("sendTime", DateUtil.getCurrentTime17());
// 生成报文头部
String msgId = makeMsgID("MT3202", orgsn, map.get("awba").toString());
String senderId = makeSenderID(customCode, orgsn, "");
String receiverID = customCode;
map.put("msgId", msgId);
map.put("senderId", senderId);
map.put("receiverID", receiverID);
// 处理主单号 -
String awba = ReturnUtil.awbaReplace(map.get("awba").toString());
map.put("awbas", awba);
// 生成报文头部信息
CustomsXmlFactory customsXmlFactory = new CustomsXmlFactory();
CustomsXmlHeader message = customsXmlFactory.getCustomsXmlHeader("MESSAGE");
Map<String, Object> mt3202 = message.makeHeader(customCode, orgsn, awba, mq_number, "MT3202");
map.put("map", mt3202);
map.put("awbas", awba);
String flightDate = ReturnUtil.awbaReplace(map.get("flightDate").toString());
map.put("flightDates",flightDate);
Map<String, Object> map3201 = new HashMap<>();
if (makeXmlToFile("/remove/MT3202.ftlx", msgId+".xml", map,"./send/remove/")>0){
if (makeXmlToFile("/remove/MT3202.ftlx", mt3202.get("messageID")+".xml", map,"./send/remove/")>0){
map.put("functionCode", "3");
map.put("busType","MT3202");
NMMS_CUSTOM_RESPONSE nmmsCustomResponse = ReturnUtil.nmmsCustomResponse(map);
... ...
... ... @@ -27,6 +27,9 @@ public class MT4201ServiceImp extends CustomXmlMaker implements MT4201Service {
@Value("${custom.custom-code}")
private String orgsn;
@Value("${tcs.mq-number}")
private String mq_number;
@Override
public Map<String, Object> pffmcreate(Map<String, Object> map) throws IOException, ParseException {
... ... @@ -45,12 +48,12 @@ public class MT4201ServiceImp extends CustomXmlMaker implements MT4201Service {
// 生成报文头部信息
CustomsXmlFactory customsXmlFactory = new CustomsXmlFactory();
CustomsXmlHeader message = customsXmlFactory.getCustomsXmlHeader("MESSAGE");
Map<String, Object> mt4201 = message.makeHeader(customCode, orgsn, customMt4201.getAwba(), "", "", "MT4201");
Map<String, Object> mt4201 = message.makeHeader(customCode, orgsn, customMt4201.getAwba(), mq_number, "MT4201");
map.put("map", mt4201);
Map<String, Object> map4201 = new HashMap<>();
if (makeXmlToFile("/manifest/MT4201.ftlx", mt4201.get("messageID").toString()+".xml", map, "./send/add/")>0){
if (makeXmlToFile("/manifest/MT4201.ftlx", mt4201.get("messageID")+".xml", map, "./send/add/")>0){
map.put("functionCode", "2");
map.put("busType","MT4201");
NMMS_CUSTOM_RESPONSE nmmsCustomResponse = ReturnUtil.nmmsCustomResponse(map);
... ... @@ -92,7 +95,7 @@ public class MT4201ServiceImp extends CustomXmlMaker implements MT4201Service {
// 生成报文头部信息
CustomsXmlFactory customsXmlFactory = new CustomsXmlFactory();
CustomsXmlHeader message = customsXmlFactory.getCustomsXmlHeader("MESSAGE");
Map<String, Object> mt4201 = message.makeHeader(customCode, orgsn, map.get("awba").toString(), "", "", "MT4201");
Map<String, Object> mt4201 = message.makeHeader(customCode, orgsn, map.get("awba").toString(), mq_number, "MT4201");
map.put("map", mt4201);
// 处理主单号 -
... ... @@ -102,7 +105,7 @@ public class MT4201ServiceImp extends CustomXmlMaker implements MT4201Service {
String flightDate = ReturnUtil.awbaReplace(map.get("flightDate").toString());
map.put("flightDates",flightDate);
Map<String, Object> map4201 = new HashMap<>();
if (makeXmlToFile("/remove/MT4201.ftlx", mt4201.get("messageID").toString()+".xml", map, "./send/remove/")>0){
if (makeXmlToFile("/remove/MT4201.ftlx", mt4201.get("messageID")+".xml", map, "./send/remove/")>0){
map.put("functionCode", "3");
map.put("busType","MT4201");
NMMS_CUSTOM_RESPONSE nmmsCustomResponse = ReturnUtil.nmmsCustomResponse(map);
... ...
... ... @@ -28,6 +28,9 @@ public class MT520XServiceImp extends CustomXmlMaker implements MT520XService{
@Value("${custom.org-code}")
private String orgCode;
@Value("${custom.mq-number}")
private String mq_number;
@Override
public Map<String, Object> create(Map<String, Object> map) throws IOException, ParseException {
... ... @@ -46,18 +49,14 @@ public class MT520XServiceImp extends CustomXmlMaker implements MT520XService{
hashMap.put("mt", customMt520X);
hashMap.put("orgCode", orgCode);
if ("MT5201".equals(customMt520X.getRcfdep())){
// 生成报文头部
String msgId = makeMsgID("MT5201", orgsn, customMt520X.getAwba());
String msessageType = "MT5201";
String senderId = makeSenderID(customCode, orgsn, "");
String receiverID = customCode;
hashMap.put("msgId", msgId);
hashMap.put("msessageType", msessageType);
hashMap.put("senderId", senderId);
hashMap.put("receiverID", receiverID);
// 生成报文头部信息
CustomsXmlFactory customsXmlFactory = new CustomsXmlFactory();
CustomsXmlHeader message = customsXmlFactory.getCustomsXmlHeader("MESSAGE");
Map<String, Object> mt5201 = message.makeHeader(customCode, orgsn, awba, mq_number, "MT5201");
map.put("map", mt5201);
Map<String, Object> maps = new HashMap<>();
if (makeXmlToFile("/manifest/MT5201.ftlx", msgId+".xml", hashMap, "./send/add/")>0){
if (makeXmlToFile("/manifest/MT5201.ftlx", mt5201.get("messageID").toString()+".xml", hashMap, "./send/add/")>0){
hashMap.put("functionCode", "2");
hashMap.put("busType","MT5201");
... ... @@ -91,7 +90,7 @@ public class MT520XServiceImp extends CustomXmlMaker implements MT520XService{
// 生成报文头部信息
CustomsXmlFactory customsXmlFactory = new CustomsXmlFactory();
CustomsXmlHeader message = customsXmlFactory.getCustomsXmlHeader("MESSAGE");
Map<String, Object> mt520x = message.makeHeader(customCode, orgsn, customMt520X.getAwba(), orgCode, "", "MT5202");
Map<String, Object> mt520x = message.makeHeader(customCode, orgsn, awba, mq_number, "MT5202");
hashMap .put("map", mt520x);
Map<String, Object> maps = new HashMap<>();
... ... @@ -133,8 +132,6 @@ public class MT520XServiceImp extends CustomXmlMaker implements MT520XService{
String customCode = map.get("customCode").toString();
map.put("customCode", customCode);
// 报文头时间 精确到毫秒
map.put("sendTime", DateUtil.getCurrentTime17());
// 处理主单号-
String awba = ReturnUtil.awbaReplace(map.get("awba").toString());
... ... @@ -144,15 +141,13 @@ public class MT520XServiceImp extends CustomXmlMaker implements MT520XService{
map.put("flightDates",flightDate);
if ("MT5201".equals(map.get("rcfdep").toString())){
// 生成报文头部
String msgId = makeMsgID("MT5201", orgsn, map.get("awba").toString());
String senderId = makeSenderID(customCode, orgsn, "");
String receiverID = customCode;
map.put("msgId", msgId);
map.put("senderId", senderId);
map.put("receiverID", receiverID);
// 生成报文头部信息
CustomsXmlFactory customsXmlFactory = new CustomsXmlFactory();
CustomsXmlHeader message = customsXmlFactory.getCustomsXmlHeader("MESSAGE");
Map<String, Object> mt5201 = message.makeHeader(customCode, orgsn, awba, mq_number, "MT5201");
map.put("map", mt5201);
Map<String, Object> maps = new HashMap<>();
if (makeXmlToFile("/remove/MT5201.ftlx", msgId+".xml", map, "./send/remove/")>0){
if (makeXmlToFile("/remove/MT5201.ftlx", mt5201.get("messageID")+".xml", map, "./send/remove/")>0){
map.put("functionCode", "3");
map.put("busType","MT5201");
... ... @@ -173,7 +168,7 @@ public class MT520XServiceImp extends CustomXmlMaker implements MT520XService{
// 生成报文头部信息
CustomsXmlFactory customsXmlFactory = new CustomsXmlFactory();
CustomsXmlHeader message = customsXmlFactory.getCustomsXmlHeader("MESSAGE");
Map<String, Object> mt520x = message.makeHeader(customCode, orgsn, map.get("awba").toString(), orgCode, "", "MT5202");
Map<String, Object> mt520x = message.makeHeader(customCode, orgsn, awba, mq_number, "MT5202");
map.put("map", mt520x);
Map<String, Object> maps = new HashMap<>();
... ...
... ... @@ -3,6 +3,8 @@ package com.sunyo.wlpt.message.builder.service.imp;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.sunyo.wlpt.base.model.NMMS_CUSTOM_RESPONSE;
import com.sunyo.wlpt.base.model.NMMS_CUSTOM_TRANS;
import com.sunyo.wlpt.message.builder.factory.CustomsXmlFactory;
import com.sunyo.wlpt.message.builder.factory.CustomsXmlHeader;
import com.sunyo.wlpt.message.builder.service.MT6202Service;
import com.sunyo.wlpt.message.builder.util.CustomXmlMaker;
import com.sunyo.wlpt.message.builder.util.ReturnUtil;
... ... @@ -22,6 +24,9 @@ public class MT6202ServiceImp extends CustomXmlMaker implements MT6202Service{
@Value("${custom.custom-code}")
private String orgsn;
@Value("${custom.mq-number}")
private String mq_number;
@Override
public Map<String, Object> creatMt6202(Map<String, Object> map) throws IOException, ParseException {
ObjectMapper objectMapper = new ObjectMapper();
... ... @@ -29,8 +34,6 @@ public class MT6202ServiceImp extends CustomXmlMaker implements MT6202Service{
NMMS_CUSTOM_TRANS nmmsCustomTrans = objectMapper.convertValue(map.get("mt6202"), NMMS_CUSTOM_TRANS.class);
// 关区代码
String customCode = nmmsCustomTrans.getCustomcode();
// 报文头时间 精确到毫秒
map.put("sendTime", DateUtil.getCurrentTime17());
// 封装实体
map.put("mt", nmmsCustomTrans);
... ... @@ -38,19 +41,15 @@ public class MT6202ServiceImp extends CustomXmlMaker implements MT6202Service{
String awba = ReturnUtil.awbaReplace(nmmsCustomTrans.getAwba());
map.put("awba", awba);
// 生成报文头部
String msgId = makeMsgID("MT6202", orgsn, nmmsCustomTrans.getAwba());
String msessageType = "MT6202";
String senderId = makeSenderID(customCode, orgsn, "");
String receiverID = customCode;
map.put("msgId", msgId);
map.put("msessageType", msessageType);
map.put("senderId", senderId);
map.put("receiverID", receiverID);
// 生成报文头部信息
CustomsXmlFactory customsXmlFactory = new CustomsXmlFactory();
CustomsXmlHeader message = customsXmlFactory.getCustomsXmlHeader("MESSAGE");
Map<String, Object> mt6202 = message.makeHeader(customCode, orgsn, awba, mq_number, "MT6202");
map.put("map", mt6202);
Map<String, Object> map6202 = new HashMap<>();
if (makeXmlToFile("/manifest/MT6202.ftlx", msgId+".xml", map, "./send/add/")>0){
if (makeXmlToFile("/manifest/MT6202.ftlx", mt6202.get("messageID")+".xml", map, "./send/add/")>0){
map.put("functionCode", "2");
map.put("busType","MT6202");
NMMS_CUSTOM_RESPONSE nmmsCustomResponse = ReturnUtil.nmmsCustomResponse(map);
... ... @@ -82,27 +81,25 @@ public class MT6202ServiceImp extends CustomXmlMaker implements MT6202Service{
@Override
public Map<String, Object> removeMt6202(Map<String, Object> map) throws IOException, ParseException {
// 关区代码
String customCode = map.get("customCode").toString();
// 报文头时间 精确到毫秒
map.put("sendTime", DateUtil.getCurrentTime17());
// 生成报文头部
String msgId = makeMsgID("MT6202", orgsn, map.get("awba").toString());
String senderId = makeSenderID(customCode, orgsn, "");
String receiverID = customCode;
map.put("msgId", msgId);
map.put("senderId", senderId);
map.put("receiverID", receiverID);
// 处理主单号 -
String awba = ReturnUtil.awbaReplace(map.get("awba").toString());
// 关区代码
String customCode = map.get("customCode").toString();
// 生成报文头部信息
CustomsXmlFactory customsXmlFactory = new CustomsXmlFactory();
CustomsXmlHeader message = customsXmlFactory.getCustomsXmlHeader("MESSAGE");
Map<String, Object> mt6202 = message.makeHeader(customCode, orgsn, awba, mq_number, "MT6202");
map.put("map", mt6202);
map.put("awbas", awba);
String flightDate = ReturnUtil.awbaReplace(map.get("flightDate").toString());
map.put("flightDates",flightDate);
Map<String, Object> map3201 = new HashMap<>();
if (makeXmlToFile("/remove/MT6202.ftlx", msgId+".xml", map,"./send/remove/")>0){
if (makeXmlToFile("/remove/MT6202.ftlx", mt6202.get("messageID")+".xml", map,"./send/remove/")>0){
map.put("functionCode", "3");
map.put("busType","MT6202");
NMMS_CUSTOM_RESPONSE nmmsCustomResponse = ReturnUtil.nmmsCustomResponse(map);
... ...
... ... @@ -2,6 +2,8 @@ package com.sunyo.wlpt.message.builder.service.imp;
import com.fasterxml.jackson.databind.ObjectMapper;
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.MT8205Service;
import com.sunyo.wlpt.message.builder.util.CustomXmlMaker;
import com.sunyo.wlpt.message.builder.util.ReturnUtil;
... ... @@ -26,6 +28,9 @@ public class MT8205ServiceImp extends CustomXmlMaker implements MT8205Service {
@Value("${custom.org-code}")
private String orgCode;
@Value("${custom.mq-number}")
private String mq_number;
@Override
public Map<String, Object> create8205(Map<String, Object> map) throws IOException, ParseException {
ObjectMapper objectMapper = new ObjectMapper();
... ... @@ -41,39 +46,35 @@ public class MT8205ServiceImp extends CustomXmlMaker implements MT8205Service {
map.put("mt8205", customMt8205);
map.put("orgCode", orgCode);
// 回执主单号带-
String originawbano = customMt8205.getOriginawbano();
String transawbano = customMt8205.getTransawbano();
// 处理主单号 -
customMt8205.setOriginawbano(ReturnUtil.awbaReplace(originawbano));
customMt8205.setOriginawbano(ReturnUtil.awbaReplace(customMt8205.getOriginawbano()));
// 处理主单号 -
customMt8205.setTransawbano(ReturnUtil.awbaReplace(customMt8205.getTransawbano()));
// 生成报文头部
String msgId = makeMsgID("MT8205", orgsn, customMt8205.getOriginawbano());
String msessageType = "MT8205";
String senderId = makeSenderID(customCode, orgsn, "");
String receiverID = customCode;
map.put("msgId", msgId);
map.put("msessageType", msessageType);
map.put("senderId", senderId);
map.put("receiverID", receiverID);
customMt8205.setTransawbano(ReturnUtil.awbaReplace(transawbano));
// 生成报文头部信息
CustomsXmlFactory customsXmlFactory = new CustomsXmlFactory();
CustomsXmlHeader message = customsXmlFactory.getCustomsXmlHeader("MESSAGE");
Map<String, Object> mt8205 = message.makeHeader(customCode, orgsn, customMt8205.getOriginawbano(), mq_number, "MT8205");
map.put("map", mt8205);
Map<String, Object> map8205 = new HashMap<>();
if (makeXmlToFile("/manifest/MT8205.ftlx", msgId+".xml", map, "./send/add/")>0){
if (makeXmlToFile("/manifest/MT8205.ftlx", mt8205.get("messageID")+".xml", map, "./send/add/")>0){
map.put("functionCode", "2");
map.put("busType","MT8205");
NMMS_CUSTOM_RESPONSE nmmsCustomResponse = ReturnUtil.nmmsCustomResponse(map);
System.out.println();
// 航班日期
nmmsCustomResponse.setFlightdate(customMt8205.getOriginflightdate());
nmmsCustomResponse.setFlightdate(customMt8205.getTransflightdate());
// 航班号
nmmsCustomResponse.setFlightno(customMt8205.getOriginflightno());
nmmsCustomResponse.setFlightno(customMt8205.getTransflightno());
// 航班承运人
nmmsCustomResponse.setCarrier(customMt8205.getOrigincarrier());
nmmsCustomResponse.setCarrier(customMt8205.getTranscarrier());
// 主单号
nmmsCustomResponse.setAwbano(originawbano);
nmmsCustomResponse.setAwbano(transawbano);
// 分单号
nmmsCustomResponse.setAwbhno(AwbaUtils.awbh(customMt8205.getOriginawbhno()));
nmmsCustomResponse.setAwbhno(AwbaUtils.awbh(customMt8205.getTransawbhno()));
// 件数
nmmsCustomResponse.setBuspiece(Integer.valueOf(customMt8205.getTranspiece().toString()));
// 重量
... ...
<Manifest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:Declaration:datamodel:standard:CN:MT1201:1">
<Head>
<MessageID>${msgId}</MessageID>
<MessageID>${map.messageID}</MessageID>
<FunctionCode>5</FunctionCode>
<MessageType>MT1201</MessageType>
<SenderID>${senderId}</SenderID>
<ReceiverID>${receiverID}</ReceiverID>
<SendTime>${sendTime}</SendTime>
<SenderID>${map.senderID}</SenderID>
<ReceiverID>${map.receiverID}</ReceiverID>
<SendTime>${map.sendTime}</SendTime>
<Version>1.0</Version>
</Head>
<Declaration>
... ... @@ -46,7 +46,7 @@
<ArrivalDate>${arrival}</ArrivalDate>
</UnloadingLocation>
<GoodsConsignedPlace>
<ID>${mt.destinationstation}</ID>
<ID>${mt.originstation}</ID>
</GoodsConsignedPlace>
<TransportSplitIndicator>${mt.splitcode}</TransportSplitIndicator>
<FreightPayment>
... ... @@ -97,4 +97,4 @@
<ContactTel>${contactTel}</ContactTel>
</AdditionalInformation>
</Declaration>
</Manifest>
\ No newline at end of file
</Manifest>
... ...
<Manifest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:Declaration:datamodel:standard:CN:MT1201:1">
<Head>
<MessageID>${msgId}</MessageID>
<MessageID>${map.messageID}</MessageID>
<FunctionCode>9</FunctionCode>
<MessageType>MT1201</MessageType>
<SenderID>${senderId}</SenderID>
<ReceiverID>${receiverID}</ReceiverID>
<SendTime>${sendTime}</SendTime>
<SenderID>${map.senderID}</SenderID>
<ReceiverID>${map.receiverID}</ReceiverID>
<SendTime>${map.sendTime}</SendTime>
<Version>1.0</Version>
</Head>
<Declaration>
... ... @@ -45,7 +45,7 @@
<ArrivalDate>${arrival}</ArrivalDate>
</UnloadingLocation>
<GoodsConsignedPlace>
<ID>${mt.destinationstation}</ID>
<ID>${mt.originstation}</ID>
</GoodsConsignedPlace>
<CustomsStatusCode>${awbAwbinfo.awbtype}</CustomsStatusCode>
<TransportSplitIndicator>${mt.splitcode}</TransportSplitIndicator>
... ... @@ -92,4 +92,4 @@
</ConsignmentItem>
</Consignment>
</Declaration>
</Manifest>
\ No newline at end of file
</Manifest>
... ...
<?xml version="1.0" encoding="utf-8"?>
<Manifest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:Declaration:datamodel:standard:CN:MT3202:1">
<Head>
<MessageID>${msgId}</MessageID>
<FunctionCode>2</FunctionCode>
<MessageID>${map.messageID}</MessageID>
<FunctionCode>9</FunctionCode>
<MessageType>MT3202</MessageType>
<SenderID>${senderId}</SenderID>
<ReceiverID>${receiverID}</ReceiverID>
<SendTime>${sendTime}</SendTime>
<SenderID>${map.senderID}</SenderID>
<ReceiverID>${map.receiverID}</ReceiverID>
<SendTime>${map.sendTime}</SendTime>
<Version>1.0</Version>
</Head>
<Declaration>
... ... @@ -35,4 +35,4 @@
</ConsignmentItem>
</Consignment>
</Declaration>
</Manifest>
\ No newline at end of file
</Manifest>
... ...
<Manifest xmlns="urn:Declaration:datamodel:standard:CN:MT5201:1" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Head>
<MessageID>${msgId}</MessageID>
<MessageID>${map.messageID}</MessageID>
<FunctionCode>2</FunctionCode>
<MessageType>MT5201</MessageType>
<SenderID>${senderId}</SenderID>
<ReceiverID>${receiverID}</ReceiverID>
<SendTime>${sendTime}</SendTime>
<SenderID>${map.senderID}</SenderID>
<ReceiverID>${map.receiverID}</ReceiverID>
<SendTime>${map.sendTime}</SendTime>
<Version>1.0</Version>
</Head>
<Declaration>
... ... @@ -41,4 +41,4 @@
<TotalGrossMassMeasure>${mt.weight?c}</TotalGrossMassMeasure>
</Consignment>
</Declaration>
</Manifest>
\ No newline at end of file
</Manifest>
... ...
<?xml version="1.0" encoding="utf-8"?>
<Manifest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:Declaration:datamodel:standard:CN:MT6202:1">
<Head>
<MessageID>${msgId}</MessageID>
<MessageID>${map.messageID}</MessageID>
<FunctionCode>2</FunctionCode>
<MessageType>MT8205</MessageType>
<SenderID>${senderId}</SenderID>
<ReceiverID>${receiverID}</ReceiverID>
<SendTime>${sendTime}</SendTime>
<MessageType>MT6202</MessageType>
<SenderID>${map.senderID}</SenderID>
<ReceiverID>${map.receiverID}</ReceiverID>
<SendTime>${map.sendTime}</SendTime>
<Version>1.0</Version>
</Head>
<Declaration>
... ... @@ -35,4 +35,4 @@
</BorderTransportMeans>
</Consignment>
</Declaration>
</Manifest>
\ No newline at end of file
</Manifest>
... ...
<Manifest xmlns="urn:Declaration:datamodel:standard:CN:MT8205:1" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Head>
<MessageID>${msgId}</MessageID>
<MessageID>${map.messageID}</MessageID>
<FunctionCode>2</FunctionCode>
<MessageType>MT8205</MessageType>
<SenderID>${senderId}</SenderID>
<ReceiverID>${receiverID}</ReceiverID>
<SendTime>${sendTime}</SendTime>
<SenderID>${map.senderID}</SenderID>
<ReceiverID>${map.receiverID}</ReceiverID>
<SendTime>${map.sendTime}</SendTime>
<Version>1.0</Version>
</Head>
<Declaration>
... ...
<Manifest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:Declaration:datamodel:standard:CN:MT1201:1">
<Head>
<MessageID>${msgId}</MessageID>
<MessageID>${map.messageID}</MessageID>
<FunctionCode>3</FunctionCode>
<MessageType>MT1201</MessageType>
<SenderID>${senderId}</SenderID>
<ReceiverID>${receiverID}</ReceiverID>
<SendTime>${sendTime}</SendTime>
<SenderID>${map.senderID}</SenderID>
<ReceiverID>${map.receiverID}</ReceiverID>
<SendTime>${map.sendTime}</SendTime>
<Version>1.0</Version>
</Head>
<Declaration>
... ... @@ -32,4 +32,4 @@
<ContactTel>${contactTel}</ContactTel>
</AdditionalInformation>
</Declaration>
</Manifest>
\ No newline at end of file
</Manifest>
... ...
<Manifest xmlns="urn:Declaration:datamodel:standard:CN:MT5202:1" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Head>
<MessageID>${msgId}</MessageID>
<MessageID>${map.messageID}</MessageID>
<FunctionCode>3</FunctionCode>
<MessageType>MT3202</MessageType>
<SenderID>${senderId}</SenderID>
<ReceiverID>${receiverID}</ReceiverID>
<SendTime>${sendTime}</SendTime>
<SenderID>${map.senderID}</SenderID>
<ReceiverID>${map.receiverID}</ReceiverID>
<SendTime>${map.sendTime}</SendTime>
<Version>1.0</Version>
</Head>
<Declaration>
... ... @@ -23,4 +23,4 @@
<ContactTel>${contactTel}</ContactTel>
</AdditionalInformation>
</Declaration>
</Manifest>
\ No newline at end of file
</Manifest>
... ...
<Manifest xmlns="urn:Declaration:datamodel:standard:CN:MT5202:1" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Head>
<MessageID>${msgId}</MessageID>
<MessageID>${map.messageID}</MessageID>
<FunctionCode>3</FunctionCode>
<MessageType>MT5021</MessageType>
<SenderID>${senderId}</SenderID>
<ReceiverID>${receiverID}</ReceiverID>
<SendTime>${sendTime}</SendTime>
<MessageType>MT5201</MessageType>
<SenderID>${map.senderID}</SenderID>
<ReceiverID>${map.receiverID}</ReceiverID>
<SendTime>${map.sendTime}</SendTime>
<Version>1.0</Version>
</Head>
<Declaration>
... ... @@ -29,4 +29,4 @@
<ContactTel>${contactTel}</ContactTel>
</AdditionalInformation>
</Declaration>
</Manifest>
\ No newline at end of file
</Manifest>
... ...
<Manifest xmlns="urn:Declaration:datamodel:standard:CN:MT5202:1" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Head>
<MessageID>${msgId}</MessageID>
<MessageID>${map.messageID}</MessageID>
<FunctionCode>3</FunctionCode>
<MessageType>MT6202</MessageType>
<SenderID>${senderId}</SenderID>
<ReceiverID>${receiverID}</ReceiverID>
<SendTime>${sendTime}</SendTime>
<SenderID>${map.senderID}</SenderID>
<ReceiverID>${map.receiverID}</ReceiverID>
<SendTime>${map.sendTime}</SendTime>
<Version>1.0</Version>
</Head>
<Declaration>
... ... @@ -23,4 +23,4 @@
<ContactTel>${contactTel}</ContactTel>
</AdditionalInformation>
</Declaration>
</Manifest>
\ No newline at end of file
</Manifest>
... ...