|
|
@@ -36,6 +36,7 @@ import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
import java.io.*;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.math.BigInteger;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.text.DecimalFormat;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
@@ -140,6 +141,22 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
+ public static int readEdiParamIntValue(JsonNode json, String keyName, int defaultValue) {
|
|
|
+ int res = defaultValue;
|
|
|
+ if (ObjectUtils.isNotNull(json)) {
|
|
|
+ try {
|
|
|
+ JsonNode js = json.findValue(keyName);
|
|
|
+ if (ObjectUtils.isNotNull(js) && js.isInt()) {
|
|
|
+ res = js.asInt();
|
|
|
+ }
|
|
|
+ } catch (Exception ignored) {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
private String genEdiLocalFileName(@Validated InttraSoDto edi, JsonNode ediParamCarrier) {
|
|
|
String fileName = "";
|
|
|
if (ObjectUtils.isNotNull(ediParamCarrier)) {
|
|
|
@@ -352,6 +369,50 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
return filesCenter;
|
|
|
}
|
|
|
|
|
|
+ public static String getBigDecimalToText(BigDecimal val, int scale){
|
|
|
+ String res = "";
|
|
|
+
|
|
|
+ if(ObjectUtils.isNotNull(val)) {
|
|
|
+ if (scale > 0 && scale <= 4) {
|
|
|
+ res = val.setScale(scale, RoundingMode.HALF_UP).toString();
|
|
|
+ } else {
|
|
|
+ res = val.toString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static BigDecimal getBigDecimalFromObj( Object value ) {
|
|
|
+ BigDecimal val = null;
|
|
|
+ if( ObjectUtils.isNotNull(value) ) {
|
|
|
+ if( value instanceof BigDecimal ) {
|
|
|
+ val = (BigDecimal) value;
|
|
|
+ } else if( value instanceof String ) {
|
|
|
+ val = new BigDecimal( (String) value );
|
|
|
+ } else if( value instanceof BigInteger) {
|
|
|
+ val = new BigDecimal( (BigInteger) value );
|
|
|
+ } else if( value instanceof Number ) {
|
|
|
+ val = new BigDecimal( ((Number)value).doubleValue() );
|
|
|
+ } else {
|
|
|
+ // throw new ClassCastException("Not possible to coerce ["+value+"] from class "+value.getClass()+" into a BigDecimal.");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return val;
|
|
|
+ }
|
|
|
+ public static String getBigDecimalToText(Object val, int scale){
|
|
|
+ String res = "";
|
|
|
+ BigDecimal bv = getBigDecimalFromObj(val);
|
|
|
+ if(ObjectUtils.isNotNull(bv)) {
|
|
|
+ if (scale > 0 && scale <= 4) {
|
|
|
+ res = bv.setScale(scale, RoundingMode.HALF_UP).toString();
|
|
|
+ } else {
|
|
|
+ res = bv.toString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return res;
|
|
|
+ }
|
|
|
@Override
|
|
|
public FilesCenter sendingInttraSo(@Validated InttraSoDto inttraSoDto, JsonNode ediParamCarrier) {
|
|
|
Date date = new Date();
|
|
|
@@ -370,6 +431,9 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
String carrierCode = inttraSoDto.getCarrierCode();
|
|
|
String cargoType = inttraSoDto.getCargoType();
|
|
|
|
|
|
+ int weightScale = readEdiParamIntValue(ediParamCarrier, "weightScale", 0);
|
|
|
+ int volScale = readEdiParamIntValue(ediParamCarrier, "VolumeScale", 0);
|
|
|
+
|
|
|
// 向文件写入数据
|
|
|
// UMB+UNOA
|
|
|
writer.write("UNB+UNOA:2+" + inttraSoDto.getSenderId() + ":ZZZ+INTTRA:ZZZ+" + inttraSoDto.getMessageDate() + "+100'");
|
|
|
@@ -940,6 +1004,9 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
String cargoType = inttraSiDto.getCargoType();
|
|
|
Boolean mixedCargo = readEdiParamBooleanValue(ediParamCarrier, "mixedCargo", false);
|
|
|
|
|
|
+ int weightScale = readEdiParamIntValue(ediParamCarrier, "weightScale", 0);
|
|
|
+ int volScale = readEdiParamIntValue(ediParamCarrier, "VolumeScale", 0);
|
|
|
+
|
|
|
// 向文件写入数据
|
|
|
/* =================0005================= */
|
|
|
writer.write("UNB+UNOC:2+" + inttraSiDto.getSenderCode() + ":ZZZ+INTTRA:ZZZ+" + inttraSiDto.getMessageDate() + "+100'");
|
|
|
@@ -1094,18 +1161,28 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
}
|
|
|
|
|
|
/* =================0520================= */
|
|
|
+ String destCode = "", destName = "";
|
|
|
+ if(ObjectUtils.isNotNull(inttraSiDto.getPlaceDeliveryCode())){
|
|
|
+ destCode = inttraSiDto.getPlaceDeliveryCode();
|
|
|
+ destName = inttraSiDto.getPlaceDeliveryName();
|
|
|
+ }else
|
|
|
+ if(ObjectUtils.isNotNull(inttraSiDto.getPlaceDestinationCode())){
|
|
|
+ destCode = inttraSiDto.getPlaceDestinationCode();
|
|
|
+ destName = inttraSiDto.getPlaceDestinationName();
|
|
|
+ }
|
|
|
+
|
|
|
System.out.println("getTransportTermCode: " + inttraSiDto.getTransportTermCode());
|
|
|
- System.out.println("getTransportTermCode: " + inttraSiDto.getPlaceDeliveryCode());
|
|
|
+ System.out.println("getTransportTermCode: " + destCode);
|
|
|
System.out.println("getPodCode: " + inttraSiDto.getPodCode());
|
|
|
if (Objects.equals(carrierCode, "CMDU") && !"27".equals(inttraSiDto.getTransportTermCode())) {
|
|
|
if ("28".equals(inttraSiDto.getTransportTermCode()) || "30".equals(inttraSiDto.getTransportTermCode())) {
|
|
|
- if (!inttraSiDto.getPlaceDeliveryCode().equals(inttraSiDto.getPodCode())) {
|
|
|
- writer.write("LOC+7+" + inttraSiDto.getPlaceDeliveryCode() + "::6:" + inttraSiDto.getPlaceDeliveryName() + "'");
|
|
|
+ if (!destCode.equals(inttraSiDto.getPodCode())) {
|
|
|
+ writer.write("LOC+7+" + destCode + "::6:" + destName + "'");
|
|
|
writer.newLine();
|
|
|
count += 1;
|
|
|
}
|
|
|
}else{
|
|
|
- writer.write("LOC+7+" + inttraSiDto.getPlaceDeliveryCode() + "::6:" + inttraSiDto.getPlaceDeliveryName() + "'");
|
|
|
+ writer.write("LOC+7+" + destCode + "::6:" + destName + "'");
|
|
|
writer.newLine();
|
|
|
count += 1;
|
|
|
}
|
|
|
@@ -1127,7 +1204,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
count += 1;
|
|
|
}
|
|
|
} else {
|
|
|
- writer.write("LOC+7+" + inttraSiDto.getPlaceDeliveryCode() + "::6:" + inttraSiDto.getPlaceDeliveryName() + "'");
|
|
|
+ writer.write("LOC+7+" + destCode + "::6:" + destName + "'");
|
|
|
writer.newLine();
|
|
|
count += 1;
|
|
|
writer.write("LOC+9+" + inttraSiDto.getPolCode() + "::6:" + inttraSiDto.getPolName() + "'");
|
|
|
@@ -1179,13 +1256,16 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
// MSK Line-Length=512?
|
|
|
List<String> goodsDesc = RegularUtils.reformatEDIText(inttraSiDto.getGoodsDesc(), 35, true);
|
|
|
// 发货人
|
|
|
- List<String> hShipper = RegularUtils.reformatEDIText(inttraSiDto.getHShipper(), 35, true);
|
|
|
+ List<String> hShipper = RegularUtils.reformatEDIText(inttraSiDto.getHShipper(), 34, true);
|
|
|
writer.write("NAD+CZ+++");
|
|
|
for (int l = 0; l < hShipper.size(); l++) {
|
|
|
if (l < 5) {
|
|
|
writer.write((l > 0) ? ((l == 1) ? "+" : ":") : "");
|
|
|
writer.write(hShipper.get(l));
|
|
|
} else {
|
|
|
+ if(l==5){
|
|
|
+ writer.write('*');
|
|
|
+ }
|
|
|
goodsDesc.add("*" + hShipper.get(l));
|
|
|
}
|
|
|
}
|
|
|
@@ -1194,13 +1274,16 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
count += 1;
|
|
|
|
|
|
// 收货人
|
|
|
- List<String> hConsignee = RegularUtils.reformatEDIText(inttraSiDto.getHConsignee(), 35, true);
|
|
|
+ List<String> hConsignee = RegularUtils.reformatEDIText(inttraSiDto.getHConsignee(), 33, true);
|
|
|
writer.write("NAD+CN+++");
|
|
|
for (int l = 0; l < hConsignee.size(); l++) {
|
|
|
if (l < 5) {
|
|
|
writer.write((l > 0) ? ((l == 1) ? "+" : ":") : "");
|
|
|
writer.write(hConsignee.get(l));
|
|
|
} else {
|
|
|
+ if(l==5){
|
|
|
+ writer.write("**");
|
|
|
+ }
|
|
|
goodsDesc.add("**" + hConsignee.get(l));
|
|
|
}
|
|
|
}
|
|
|
@@ -1209,13 +1292,16 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
count += 1;
|
|
|
|
|
|
// 通知人
|
|
|
- List<String> hNotify = RegularUtils.reformatEDIText(inttraSiDto.getHNotify(), 35, true);
|
|
|
+ List<String> hNotify = RegularUtils.reformatEDIText(inttraSiDto.getHNotify(), 32, true);
|
|
|
writer.write("NAD+NI+++");
|
|
|
for (int l = 0; l < hNotify.size(); l++) {
|
|
|
if (l < 5) {
|
|
|
writer.write((l > 0) ? ((l == 1) ? "+" : ":") : "");
|
|
|
writer.write(hNotify.get(l));
|
|
|
} else {
|
|
|
+ if(l==5){
|
|
|
+ writer.write("***");
|
|
|
+ }
|
|
|
goodsDesc.add("***" + hNotify.get(l));
|
|
|
}
|
|
|
}
|
|
|
@@ -1307,10 +1393,10 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
count += 1;
|
|
|
}
|
|
|
/* =================1070================= */
|
|
|
- writer.write("MEA+AAE+WT+KGM:" + cargo.getGrossWeight() + "'");
|
|
|
+ writer.write("MEA+AAE+WT+KGM:" + getBigDecimalToText(cargo.getGrossWeight(), weightScale) + "'");
|
|
|
writer.newLine();
|
|
|
count += 1;
|
|
|
- writer.write("MEA+AAE+AAW+MTQ:" + cargo.getMeasurement() + "'");
|
|
|
+ writer.write("MEA+AAE+AAW+MTQ:" + getBigDecimalToText(cargo.getMeasurement(), volScale) + "'");
|
|
|
writer.newLine();
|
|
|
count += 1;
|
|
|
|
|
|
@@ -1390,11 +1476,11 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
count += 1;
|
|
|
}
|
|
|
|
|
|
- writer.write("MEA+AAE+AAW+MTQ:" + inttraSiDto.getMeasurement() + "'");
|
|
|
+ writer.write("MEA+AAE+AAW+MTQ:" + getBigDecimalToText(inttraSiDto.getMeasurement(), volScale) + "'");
|
|
|
writer.newLine();
|
|
|
count += 1;
|
|
|
|
|
|
- writer.write("MEA+AAE+WT+KGM:" + inttraSiDto.getGrossWeight() + "'");
|
|
|
+ writer.write("MEA+AAE+WT+KGM:" + getBigDecimalToText(inttraSiDto.getGrossWeight(), weightScale) + "'");
|
|
|
writer.newLine();
|
|
|
count += 1;
|
|
|
/* =================1160================= */
|
|
|
@@ -1412,10 +1498,10 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
writer.newLine();
|
|
|
count += 1;
|
|
|
/* =================1400================= */
|
|
|
- writer.write("MEA+AAE+AAW+MTQ:" + map1.get("volume") + "'");
|
|
|
+ writer.write("MEA+AAE+AAW+MTQ:" + getBigDecimalToText(map1.get("volume"), volScale) + "'");
|
|
|
writer.newLine();
|
|
|
count += 1;
|
|
|
- writer.write("MEA+AAE+WT+KGM:" + map1.get("grossWeight") + "'");
|
|
|
+ writer.write("MEA+AAE+WT+KGM:" + getBigDecimalToText(map1.get("grossWeight"), weightScale) + "'");
|
|
|
writer.newLine();
|
|
|
count += 1;
|
|
|
}
|
|
|
@@ -1485,12 +1571,12 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
count += 1;
|
|
|
/* =================1690================= */
|
|
|
if (ObjectUtils.isNotNull(map1.get("volume"))) {
|
|
|
- writer.write("MEA+AAE+AAW+MTQ:" + map1.get("volume") + "'");
|
|
|
+ writer.write("MEA+AAE+AAW+MTQ:" + getBigDecimalToText(map1.get("volume"), volScale) + "'");
|
|
|
writer.newLine();
|
|
|
count += 1;
|
|
|
}
|
|
|
if (ObjectUtils.isNotNull(map1.get("grossWeight"))) {
|
|
|
- writer.write("MEA+AAE+WT+KGM:" + map1.get("grossWeight") + "'");
|
|
|
+ writer.write("MEA+AAE+WT+KGM:" + getBigDecimalToText(map1.get("grossWeight"), weightScale) + "'");
|
|
|
writer.newLine();
|
|
|
count += 1;
|
|
|
}
|
|
|
@@ -3872,7 +3958,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- writer.write("73B" + RegularUtils.paddingRight(pilSoDto.getCyCode(), 120 + 127));
|
|
|
+ writer.write("73B" + RegularUtils.paddingRight(pilSoDto.getCyPilCode(), 120 + 127));
|
|
|
writer.newLine();
|
|
|
count += 1;
|
|
|
|
|
|
@@ -3917,7 +4003,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
writer.write("00DOC" + RegularUtils.paddingLeft(20 + 2));
|
|
|
writer.write(RegularUtils.paddingRight(pilSiDto.getSenderCode(), 8));
|
|
|
writer.write(RegularUtils.paddingRight(6) + RegularUtils.paddingRight(pilSiDto.getFileDate(), 12 + 1));
|
|
|
- writer.write(RegularUtils.paddingRight("CNTAO", 5) + RegularUtils.paddingRight("CNTAO", 4));
|
|
|
+ writer.write(RegularUtils.paddingRight("CNTAO", 5) + RegularUtils.paddingRight("CNTAO", 5));
|
|
|
writer.write(RegularUtils.paddingRight("4.02", 4) + RegularUtils.paddingRight(15 + 167));
|
|
|
writer.newLine();
|
|
|
count++;
|
|
|
@@ -3986,7 +4072,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
pm = Objects.equals(pm, "PP") ? "P" : (Objects.equals(pm, "CC") ? "C" : " ");
|
|
|
|
|
|
writer.write(RegularUtils.paddingRight(loadType, 2 + 2) + RegularUtils.paddingRight(serviceTerm, 2 + 3) + pm);
|
|
|
- writer.write(RegularUtils.paddingRight("NN", 2 + 8) + RegularUtils.paddingRight(pilSiDto.getMblNo(), 20 + 20) + "F");
|
|
|
+ writer.write(RegularUtils.paddingRight("NN", 2 + 8) + RegularUtils.paddingLeft(pilSiDto.getMblNo(), 20) + RegularUtils.paddingRight(20) + "F");
|
|
|
writer.write(RegularUtils.paddingRight(20 + 20 + 12));
|
|
|
|
|
|
SimpleDateFormat sdf_bkgDate = new SimpleDateFormat("yyyyMMdd");
|
|
|
@@ -4046,7 +4132,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
// if(CORPID.Asinteger=8563,'SHANDONG GOODFARMER FRUITS AND VEGETABLES CO.,LT D',
|
|
|
// 'QINGDAO JET MARINE LOGISTICS CO.,LTD. '))
|
|
|
// wfg
|
|
|
- String senderTel = "0530-8312038";
|
|
|
+ String senderTel = "0532-82668811-185";
|
|
|
String senderName = "QINGDAO JET MARINE LOGISTICS CO.,LTD.";
|
|
|
writer.write(RegularUtils.paddingRight(senderName, 70) + RegularUtils.paddingRight(senderTel, 35 + 35 + 35 + 17 + 18 + 4 + 5 + 9));
|
|
|
writer.newLine();
|
|
|
@@ -4215,7 +4301,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
// count += 1;
|
|
|
|
|
|
// 货物描述
|
|
|
- writer.write("47 " + RegularUtils.paddingLeft("" + cargoline, '0', 3));
|
|
|
+ // writer.write("47 " + RegularUtils.paddingLeft("" + cargoline, '0', 3));
|
|
|
List<String> goodsDesc = RegularUtils.reformatEDIText(pilSiDto.getGoodsDesc(), 30, false);
|
|
|
while (goodsDesc.size() % 8 != 0) {
|
|
|
goodsDesc.add("");
|
|
|
@@ -4333,9 +4419,11 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- writer.write("73B" + RegularUtils.paddingRight(pilSiDto.getCyCode(), 120 + 127));
|
|
|
+ /* 场站不加?
|
|
|
+ writer.write("73B" + RegularUtils.paddingRight(pilSiDto.getCyPilCode(), 120 + 127));
|
|
|
writer.newLine();
|
|
|
count += 1;
|
|
|
+ */
|
|
|
|
|
|
List<Map<String, Object>> mapLoadedList = pilSiDto.getLoadedCntrs();
|
|
|
for (Map<String, Object> map : mapLoadedList) {
|
|
|
@@ -4360,8 +4448,9 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
writer.write("74" + RegularUtils.paddingRight(3 + 5 + 8 + 4 + 3) + ("EXP".equals(pilSiDto.getIssueType()) ? "W" : "N"));
|
|
|
writer.write("0301");
|
|
|
// 服务合同
|
|
|
- writer.write(RegularUtils.paddingRight(pilSiDto.getCorpArgreementNo(), 10 + 5 + 5));
|
|
|
- writer.write(RegularUtils.paddingLeft(pilSiDto.getPackagesNumber().setScale(3, RoundingMode.HALF_UP).toString(), 8));
|
|
|
+ String soNo = ObjectUtils.isNotNull(pilSiDto.getCorpArgreementNo()) ? RegularUtils.copySubstring(pilSiDto.getCorpArgreementNo(), 0, 10) : "";
|
|
|
+ writer.write(RegularUtils.paddingRight(soNo, 10 + 5 + 5));
|
|
|
+ writer.write(RegularUtils.paddingLeft(pilSiDto.getPackagesNumber().setScale(0, RoundingMode.HALF_UP).toString(), 8));
|
|
|
String pkgsDescr = ObjectUtils.isNull(pilSiDto.getPackagesDescribe()) ? "" : pilSiDto.getPackagesDescribe();
|
|
|
writer.write(RegularUtils.paddingRight(RegularUtils.copySubstring(pkgsDescr, 0, 8), 8));
|
|
|
writer.write(RegularUtils.paddingRight(12 + 1 + 1 + 8 + 8 + 5 + 5 + 8 + 5 + 5 + 126));
|
|
|
@@ -4743,7 +4832,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- writer.write("73B" + RegularUtils.paddingRight(mellSoDto.getCyCode(), 120 + 127));
|
|
|
+ writer.write("73B" + RegularUtils.paddingRight(mellSoDto.getCyPilCode(), 120 + 127));
|
|
|
writer.newLine();
|
|
|
count += 1;
|
|
|
|
|
|
@@ -4788,7 +4877,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
writer.write("00DOC" + RegularUtils.paddingLeft(20 + 2));
|
|
|
writer.write(RegularUtils.paddingRight(mellSiDto.getSenderCode(), 8));
|
|
|
writer.write(RegularUtils.paddingRight(6) + RegularUtils.paddingRight(mellSiDto.getFileDate(), 12 + 1));
|
|
|
- writer.write(RegularUtils.paddingRight("CNTAO", 5) + RegularUtils.paddingRight("CNTAO", 4));
|
|
|
+ writer.write(RegularUtils.paddingRight("CNTAO", 5) + RegularUtils.paddingRight("CNTAO", 5));
|
|
|
writer.write(RegularUtils.paddingRight("4.02", 4) + RegularUtils.paddingRight(15 + 167));
|
|
|
writer.newLine();
|
|
|
count++;
|
|
|
@@ -4857,7 +4946,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
pm = Objects.equals(pm, "PP") ? "P" : (Objects.equals(pm, "CC") ? "C" : " ");
|
|
|
|
|
|
writer.write(RegularUtils.paddingRight(loadType, 2 + 2) + RegularUtils.paddingRight(serviceTerm, 2 + 3) + pm);
|
|
|
- writer.write(RegularUtils.paddingRight("NN", 2 + 8) + RegularUtils.paddingRight(mellSiDto.getMblNo(), 20 + 20) + "F");
|
|
|
+ writer.write(RegularUtils.paddingRight("NN", 2 + 8) + RegularUtils.paddingLeft(mellSiDto.getMblNo(), 20) + RegularUtils.paddingRight(20) + "F");
|
|
|
writer.write(RegularUtils.paddingRight(20 + 20 + 12));
|
|
|
|
|
|
SimpleDateFormat sdf_bkgDate = new SimpleDateFormat("yyyyMMdd");
|
|
|
@@ -4916,7 +5005,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
// if(CORPID.Asinteger=8563,'SHANDONG GOODFARMER FRUITS AND VEGETABLES CO.,LT D',
|
|
|
// 'QINGDAO JET MARINE LOGISTICS CO.,LTD. '))
|
|
|
// wfg
|
|
|
- String senderTel = "0530-8312038";
|
|
|
+ String senderTel = "0532-82668811-129";
|
|
|
String senderName = "QINGDAO JET MARINE LOGISTICS CO.,LTD.";
|
|
|
writer.write(RegularUtils.paddingRight(senderName, 70) + RegularUtils.paddingRight(senderTel, 35 + 35 + 35 + 17 + 18 + 4 + 5 + 9));
|
|
|
writer.newLine();
|
|
|
@@ -5009,9 +5098,9 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
Integer cq = 0;
|
|
|
for (Map<String, Object> mapLoaded : mapLoadedList) {
|
|
|
if (mapLoaded.get("sizeType").equals(map.get("sizeType"))) {
|
|
|
- pkgs = pkgs.add(new BigDecimal(map.get("quantity").toString()));
|
|
|
- gw = gw.add(new BigDecimal(map.get("grossWeight").toString()));
|
|
|
- vol = vol.add(new BigDecimal(map.get("volume").toString()));
|
|
|
+ pkgs = pkgs.add(new BigDecimal(mapLoaded.get("quantity").toString()));
|
|
|
+ gw = gw.add(new BigDecimal(mapLoaded.get("grossWeight").toString()));
|
|
|
+ vol = vol.add(new BigDecimal(mapLoaded.get("volume").toString()));
|
|
|
cq++;
|
|
|
}
|
|
|
}
|
|
|
@@ -5202,9 +5291,11 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- writer.write("73B" + RegularUtils.paddingRight(mellSiDto.getCyCode(), 120 + 127));
|
|
|
+ /*
|
|
|
+ writer.write("73B" + RegularUtils.paddingRight(mellSiDto.getCyPilCode(), 120 + 127));
|
|
|
writer.newLine();
|
|
|
count += 1;
|
|
|
+ */
|
|
|
|
|
|
List<Map<String, Object>> mapLoadedList = mellSiDto.getLoadedCntrs();
|
|
|
for (Map<String, Object> map : mapLoadedList) {
|
|
|
@@ -5224,13 +5315,13 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
count += 1;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// 提单信息
|
|
|
writer.write("74" + RegularUtils.paddingRight(3 + 5 + 8 + 4 + 3) + ("EXP".equals(mellSiDto.getIssueType()) ? "W" : "N"));
|
|
|
writer.write("0301");
|
|
|
// 服务合同
|
|
|
- writer.write(RegularUtils.paddingRight(mellSiDto.getCorpArgreementNo(), 10 + 5 + 5));
|
|
|
- writer.write(RegularUtils.paddingLeft(mellSiDto.getPackagesNumber().setScale(3, RoundingMode.HALF_UP).toString(), 8));
|
|
|
+ String soNo = ObjectUtils.isNotNull(mellSiDto.getCorpArgreementNo()) ? RegularUtils.copySubstring(mellSiDto.getCorpArgreementNo(), 0, 10) : "";
|
|
|
+ writer.write(RegularUtils.paddingRight(soNo, 10 + 5 + 5));
|
|
|
+ writer.write(RegularUtils.paddingLeft(mellSiDto.getPackagesNumber().setScale(0, RoundingMode.HALF_UP).toString(), 8));
|
|
|
String pkgsDescr = ObjectUtils.isNull(mellSiDto.getPackagesDescribe()) ? "" : mellSiDto.getPackagesDescribe();
|
|
|
writer.write(RegularUtils.paddingRight(RegularUtils.copySubstring(pkgsDescr, 0, 8), 8));
|
|
|
writer.write(RegularUtils.paddingRight(12 + 1 + 1 + 8 + 8 + 5 + 5 + 8 + 5 + 5 + 126));
|
|
|
@@ -6648,7 +6739,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
List<String> hShipper = RegularUtils.reformatEDIText(shpr, 35, true);
|
|
|
writer.write("20:" + ymlSoDto.getHshipperCntyName());
|
|
|
for (int l = 0; l < hShipper.size(); l++) {
|
|
|
- if (l < 6) {
|
|
|
+ if (l < 5) {
|
|
|
writer.write(":" + hShipper.get(l));
|
|
|
} else {
|
|
|
goodsDescAddtion_S.add(hShipper.get(l));
|
|
|
@@ -6664,7 +6755,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
List<String> hConsignee = RegularUtils.reformatEDIText(cnee, 35, true);
|
|
|
writer.write("21:" + ymlSoDto.getHconsigneeCntyName());
|
|
|
for (int l = 0; l < hConsignee.size(); l++) {
|
|
|
- if (l < 6) {
|
|
|
+ if (l < 5) {
|
|
|
writer.write(":" + hConsignee.get(l));
|
|
|
} else {
|
|
|
goodsDescAddtion_C.add(hConsignee.get(l));
|
|
|
@@ -6680,7 +6771,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
List<String> hNotify = RegularUtils.reformatEDIText(notify, 35, true);
|
|
|
writer.write("22:" + ymlSoDto.getHnotifyCntyName());
|
|
|
for (int l = 0; l < hNotify.size(); l++) {
|
|
|
- if (l < 6) {
|
|
|
+ if (l < 5) {
|
|
|
writer.write(":" + hNotify.get(l));
|
|
|
} else {
|
|
|
goodsDescAddtion_N.add(hNotify.get(l));
|