|
|
@@ -511,7 +511,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
count += 1;
|
|
|
/* =================0530================= */
|
|
|
// MAEU 发送 ETD,其他不发送
|
|
|
- if ("MAEU".equals(carrierCode)) {
|
|
|
+ if ("MAEU".equals(carrierCode) || "CMDU".equals(carrierCode)) {
|
|
|
if (ObjectUtils.isNotNull(inttraSoDto.getEtd())) {
|
|
|
writer.write("DTM+133:" + inttraSoDto.getEtd() + ":102'");
|
|
|
writer.newLine();
|
|
|
@@ -2876,7 +2876,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
// ZIM 业务缺少服务合同号
|
|
|
// if(CARRIERID=9,'ZIM','747209574a')
|
|
|
// wfg
|
|
|
- writer.write(":ZIM::::::::" + oneSoDto.getCorpArgreementNo() + "::" + oneSoDto.getCarrierArgreementNo() + "::" + "'");
|
|
|
+ writer.write(":ZIM::::::::" + oneSoDto.getCorpArgreementNo() + "::" + oneSoDto.getCarrierArgreementNo() + "::" + oneSoDto.getSenderEmail() + "'");
|
|
|
writer.newLine();
|
|
|
count++;
|
|
|
|
|
|
@@ -2886,7 +2886,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
String issueType = "ORI".equals(oneSoDto.getIssueType()) ? "ORI" : ("EXP".equals(oneSoDto.getIssueType()) ? "EXP" : "");
|
|
|
writer.write("03:" + issueType + "::" + oneSoDto.getIssuanceLand() + ":" + oneSoDto.getIssueDate() + ":3:"
|
|
|
+ ("PP".equals(oneSoDto.getMPayMode()) ? oneSoDto.getMPayPlaceName() : "")
|
|
|
- + ("CC".equals(oneSoDto.getMPayMode()) ? oneSoDto.getMPayPlaceName() : "") + "'");
|
|
|
+ + ("CC".equals(oneSoDto.getMPayMode()) ? oneSoDto.getMPayPlaceName() : "") + ":'");
|
|
|
writer.newLine();
|
|
|
count++;
|
|
|
|
|
|
@@ -2894,7 +2894,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
// 记录类型标识 + 船舶呼号 + 船名 + 航次 + 船舶经营人
|
|
|
// 此处 getVesselCode 取船舶呼号
|
|
|
// wfg
|
|
|
- writer.write("11:" + oneSoDto.getVesselCode() + ":" + oneSoDto.getVesselName() + ":" + oneSoDto.getVoyageNo() + "::::");
|
|
|
+ writer.write("11:" + oneSoDto.getVesselCode() + ":" + oneSoDto.getVesselName() + ":" + oneSoDto.getVoyageNo() + ":::::");
|
|
|
// 亿通 航线代码 lineNo
|
|
|
String lineNo = "";
|
|
|
if (ObjectUtils.isNotNull(oneSoDto.getLineId())) {
|
|
|
@@ -2939,7 +2939,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
|
|
|
// 17 REMARKS 订舱备注 其他信息
|
|
|
if (ObjectUtils.isNotNull(bill.getBookingRemarks())) {
|
|
|
- List<String> bookingRemarks = RegularUtils.reformatEDIText(bill.getBookingRemarks(), 35, true);
|
|
|
+ List<String> bookingRemarks = RegularUtils.reformatEDIText(bill.getBookingRemarks(), 35, false);
|
|
|
writer.write("17"); // 发货人代码为空
|
|
|
int lc = 0;
|
|
|
for (int l = 0; l < bookingRemarks.size(); l++) {
|
|
|
@@ -3058,11 +3058,11 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
writer.write("44:" + line);
|
|
|
} else {
|
|
|
writer.write(":" + line);
|
|
|
- if (lc % 5 == 4 || lc == (goodsMarks.size() - 1)) {
|
|
|
- writer.write("'");
|
|
|
- writer.newLine();
|
|
|
- count += 1;
|
|
|
- }
|
|
|
+ }
|
|
|
+ if (lc % 5 == 4 || lc == (goodsMarks.size() - 1)) {
|
|
|
+ writer.write("'");
|
|
|
+ writer.newLine();
|
|
|
+ count += 1;
|
|
|
}
|
|
|
} else {
|
|
|
goodsDescAddtionShipperMarks.add("*" + line);
|
|
|
@@ -3083,11 +3083,11 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
writer.write("47:" + line);
|
|
|
} else {
|
|
|
writer.write(":" + line);
|
|
|
- if (lc % 5 == 4 || lc == (goodsDesc.size() - 1)) {
|
|
|
- writer.write("'");
|
|
|
- writer.newLine();
|
|
|
- count += 1;
|
|
|
- }
|
|
|
+ }
|
|
|
+ if (lc % 5 == 4 || lc == (goodsDesc.size() - 1)) {
|
|
|
+ writer.write("'");
|
|
|
+ writer.newLine();
|
|
|
+ count += 1;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -3103,11 +3103,11 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
writer.write("47:" + line);
|
|
|
} else {
|
|
|
writer.write(":" + line);
|
|
|
- if (lc % 5 == 4 || lc == (goodsDescAddtionShipperMarks.size() - 1)) {
|
|
|
- writer.write("'");
|
|
|
- writer.newLine();
|
|
|
- count += 1;
|
|
|
- }
|
|
|
+ }
|
|
|
+ if (lc % 5 == 4 || lc == (goodsDescAddtionShipperMarks.size() - 1)) {
|
|
|
+ writer.write("'");
|
|
|
+ writer.newLine();
|
|
|
+ count += 1;
|
|
|
}
|
|
|
|
|
|
lc++;
|
|
|
@@ -3121,11 +3121,11 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
writer.write("47:" + line);
|
|
|
} else {
|
|
|
writer.write(":" + line);
|
|
|
- if (lc % 5 == 4 || lc == (goodsDescAddtionCnee.size() - 1)) {
|
|
|
- writer.write("'");
|
|
|
- writer.newLine();
|
|
|
- count += 1;
|
|
|
- }
|
|
|
+ }
|
|
|
+ if (lc % 5 == 4 || lc == (goodsDescAddtionCnee.size() - 1)) {
|
|
|
+ writer.write("'");
|
|
|
+ writer.newLine();
|
|
|
+ count += 1;
|
|
|
}
|
|
|
|
|
|
lc++;
|
|
|
@@ -3139,11 +3139,11 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
writer.write("47:" + line);
|
|
|
} else {
|
|
|
writer.write(":" + line);
|
|
|
- if (lc % 5 == 4 || lc == (goodsDescAddtionNotify.size() - 1)) {
|
|
|
- writer.write("'");
|
|
|
- writer.newLine();
|
|
|
- count += 1;
|
|
|
- }
|
|
|
+ }
|
|
|
+ if (lc % 5 == 4 || lc == (goodsDescAddtionNotify.size() - 1)) {
|
|
|
+ writer.write("'");
|
|
|
+ writer.newLine();
|
|
|
+ count += 1;
|
|
|
}
|
|
|
|
|
|
lc++;
|
|
|
@@ -3547,7 +3547,8 @@ 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(pilSoDto.getMblNo(), 20 + 20) + "F");
|
|
|
+
|
|
|
+ writer.write(RegularUtils.paddingRight("NN", 2 + 16) + RegularUtils.paddingRight(pilSoDto.getMblNo(), 20 + 12) + "F");
|
|
|
writer.write(RegularUtils.paddingRight(20 + 20 + 12));
|
|
|
|
|
|
SimpleDateFormat sdf_bkgDate = new SimpleDateFormat("yyyyMMdd");
|
|
|
@@ -3593,8 +3594,9 @@ 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 senderName = "QINGDAO JET MARINE LOGISTICS CO.,LTD.";
|
|
|
+ Long corpId = pilSoDto.getCorpId();
|
|
|
+ String senderTel = corpId==8562?"0530-8312038":(corpId==8563?"0530-8312038":"0532-82668811-175");
|
|
|
+ String senderName = corpId==8562?"SHANDONG GOODFARMER INTERNATIONAL TRADING CO., LTD":(corpId==8563?"SHANDONG GOODFARMER FRUITS AND VEGETABLES CO.,LTD":"QINGDAO JET MARINE LOGISTICS CO.,LTD.");
|
|
|
writer.write(RegularUtils.paddingRight(senderName, 70) + RegularUtils.paddingRight(senderTel, 35 + 35 + 35 + 17 + 18 + 4));
|
|
|
writer.write(RegularUtils.paddingRight(ObjectUtils.isNotNull(pilSoDto.getCarrierArgreementNo()) ? pilSoDto.getCarrierArgreementNo() : "CN900160", 8 + 6));
|
|
|
writer.newLine();
|
|
|
@@ -3605,7 +3607,8 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
for (int l = 0; l <= 6; l++) {
|
|
|
deciding.add("");
|
|
|
}
|
|
|
- writer.write("18 " + RegularUtils.paddingRight(pilSoDto.getCorpArgreementNo(), 11 + 3 + 3));
|
|
|
+ writer.write("18 " + RegularUtils.paddingLeft(pilSoDto.getCorpArgreementNo(), 11));
|
|
|
+ writer.write(RegularUtils.paddingRight( 3 + 3));
|
|
|
for (int l = 0; l < deciding.size(); l++) {
|
|
|
if (l < 6) {
|
|
|
writer.write(RegularUtils.paddingRight(deciding.get(l), 35));
|
|
|
@@ -3734,7 +3737,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
|
|
|
// 件数单位
|
|
|
writer.write("47 " + RegularUtils.paddingLeft("" + cargoline, '0', 3));
|
|
|
- js = pilSoDto.getPackagesNumber().toString() + pilSoDto.getPackagesDescribe();
|
|
|
+ js = pilSoDto.getPackagesNumber().setScale(0, BigDecimal.ROUND_HALF_UP).toString() + pilSoDto.getPackagesDescribe();
|
|
|
List<String> goodsDesc1 = RegularUtils.reformatEDIText(js, 30, false);
|
|
|
for (int l = 0; l <= 8; l++) {
|
|
|
goodsDesc1.add("");
|
|
|
@@ -3792,25 +3795,47 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
writer.newLine();
|
|
|
count += 1;
|
|
|
|
|
|
+// writer.write("56 01" + RegularUtils.paddingLeft("" + cargoline, '0', 3));
|
|
|
+// writer.write(RegularUtils.paddingLeft("" + dangerLine, '0', 3));
|
|
|
+// writer.write(RegularUtils.paddingRight(pilSoDto.getDgUnCode(), 5));
|
|
|
+// writer.write(RegularUtils.paddingRight(pilSoDto.getDgImdgCode(), 4));
|
|
|
+// writer.write(" KGM" + RegularUtils.paddingRight(pilSoDto.getDgImdgCode(), 4));
|
|
|
+// // 件重尺根据箱量求平均值
|
|
|
+// BigDecimal nwt = pilSoDto.getGrossWeight().divide(BigDecimal.valueOf(cntrQty), 3, RoundingMode.HALF_UP);
|
|
|
+// writer.write(RegularUtils.paddingLeft(nwt.toString(), '0', 9));
|
|
|
+// BigDecimal gwt = pilSoDto.getGrossWeight().divide(BigDecimal.valueOf(cntrQty), 3, RoundingMode.HALF_UP);
|
|
|
+// writer.write(RegularUtils.paddingLeft(gwt.toString(), '0', 9));
|
|
|
+// writer.write(pilSoDto.getDgIsMarinePollutant() == 1 ? "Y" : "N");
|
|
|
+// writer.write(RegularUtils.paddingRight(24 + 25));
|
|
|
+// writer.write(RegularUtils.paddingRight(pilSoDto.getDgPackingLevel(), 3));
|
|
|
+// writer.write(RegularUtils.paddingRight(pilSoDto.getDgPageNumber(), 5));
|
|
|
+// BigDecimal pks = pilSoDto.getPackagesNumber().divide(BigDecimal.valueOf(cntrQty), 3, RoundingMode.HALF_UP);
|
|
|
+// writer.write(RegularUtils.paddingLeft(pks.toString().replace(".", ""), '0', 9));
|
|
|
+// writer.write(RegularUtils.paddingRight(28));
|
|
|
+// writer.write(RegularUtils.paddingRight(ObjectUtils.isNull(pilSoDto.getGoodsName()) ? "" : pilSoDto.getGoodsName(), 50));
|
|
|
+// writer.write(RegularUtils.paddingRight(57));
|
|
|
+
|
|
|
writer.write("56 01" + RegularUtils.paddingLeft("" + cargoline, '0', 3));
|
|
|
writer.write(RegularUtils.paddingLeft("" + dangerLine, '0', 3));
|
|
|
writer.write(RegularUtils.paddingRight(pilSoDto.getDgUnCode(), 5));
|
|
|
writer.write(RegularUtils.paddingRight(pilSoDto.getDgImdgCode(), 4));
|
|
|
- writer.write(" KGM" + RegularUtils.paddingRight(pilSoDto.getDgImdgCode(), 4));
|
|
|
+ writer.write(" KGM" + RegularUtils.paddingRight("", 9));
|
|
|
// 件重尺根据箱量求平均值
|
|
|
- BigDecimal nwt = pilSoDto.getGrossWeight().divide(BigDecimal.valueOf(cntrQty), 3, RoundingMode.HALF_UP);
|
|
|
- writer.write(RegularUtils.paddingLeft(nwt.toString(), '0', 9));
|
|
|
+// BigDecimal nwt = mellSoDto.getGrossWeight().divide(BigDecimal.valueOf(cntrQty), 3, RoundingMode.HALF_UP);
|
|
|
+// writer.write(RegularUtils.paddingLeft(nwt.toString(), '0', 9));
|
|
|
BigDecimal gwt = pilSoDto.getGrossWeight().divide(BigDecimal.valueOf(cntrQty), 3, RoundingMode.HALF_UP);
|
|
|
- writer.write(RegularUtils.paddingLeft(gwt.toString(), '0', 9));
|
|
|
+ js = gwt.setScale(3, RoundingMode.HALF_UP).toString();
|
|
|
+ // 毛重
|
|
|
+ writer.write(RegularUtils.paddingLeft(js.replace(".", ""), '0', 9));
|
|
|
writer.write(pilSoDto.getDgIsMarinePollutant() == 1 ? "Y" : "N");
|
|
|
writer.write(RegularUtils.paddingRight(24 + 25));
|
|
|
writer.write(RegularUtils.paddingRight(pilSoDto.getDgPackingLevel(), 3));
|
|
|
- writer.write(RegularUtils.paddingRight(pilSoDto.getDgPageNumber(), 5));
|
|
|
+ writer.write(RegularUtils.paddingRight(pilSoDto.getDgOuterPackageCode(), 5));
|
|
|
BigDecimal pks = pilSoDto.getPackagesNumber().divide(BigDecimal.valueOf(cntrQty), 3, RoundingMode.HALF_UP);
|
|
|
writer.write(RegularUtils.paddingLeft(pks.toString().replace(".", ""), '0', 9));
|
|
|
writer.write(RegularUtils.paddingRight(28));
|
|
|
writer.write(RegularUtils.paddingRight(ObjectUtils.isNull(pilSoDto.getGoodsName()) ? "" : pilSoDto.getGoodsName(), 50));
|
|
|
- writer.write(RegularUtils.paddingRight(57));
|
|
|
+ writer.write(RegularUtils.paddingRight(61));
|
|
|
|
|
|
writer.newLine();
|
|
|
count += 1;
|
|
|
@@ -3826,7 +3851,7 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
writer.write("74 " + RegularUtils.paddingRight(5 + 8 + 4 + 3) + "N0301");
|
|
|
// 服务合同
|
|
|
writer.write(RegularUtils.paddingRight(10 + 5 + 5));
|
|
|
- writer.write(RegularUtils.paddingLeft(pilSoDto.getPackagesNumber().setScale(3, RoundingMode.HALF_UP).toString(), 8));
|
|
|
+ writer.write(RegularUtils.paddingLeft(pilSoDto.getPackagesNumber().setScale(0, RoundingMode.HALF_UP).toString(), 8));
|
|
|
String pkgsDescr = ObjectUtils.isNull(pilSoDto.getPackagesDescribe()) ? "" : pilSoDto.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));
|
|
|
@@ -4413,7 +4438,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(mellSoDto.getMblNo(), 20 + 20) + "F");
|
|
|
+ writer.write(RegularUtils.paddingRight("NN", 2 + 16) + RegularUtils.paddingRight(mellSoDto.getMblNo(), 20 + 12) + "F");
|
|
|
writer.write(RegularUtils.paddingRight(20 + 20 + 12));
|
|
|
|
|
|
SimpleDateFormat sdf_bkgDate = new SimpleDateFormat("yyyyMMdd");
|
|
|
@@ -4676,12 +4701,12 @@ public class EDISenderServiceImpl implements IEDISenderService {
|
|
|
writer.write(mellSoDto.getDgIsMarinePollutant() == 1 ? "Y" : "N");
|
|
|
writer.write(RegularUtils.paddingRight(24 + 25));
|
|
|
writer.write(RegularUtils.paddingRight(mellSoDto.getDgPackingLevel(), 3));
|
|
|
- writer.write(RegularUtils.paddingRight(mellSoDto.getDgPageNumber(), 5));
|
|
|
+ writer.write(RegularUtils.paddingRight(mellSoDto.getDgOuterPackageCode(), 5));
|
|
|
BigDecimal pks = mellSoDto.getPackagesNumber().divide(BigDecimal.valueOf(cntrQty), 3, RoundingMode.HALF_UP);
|
|
|
writer.write(RegularUtils.paddingLeft(pks.toString().replace(".", ""), '0', 9));
|
|
|
writer.write(RegularUtils.paddingRight(28));
|
|
|
writer.write(RegularUtils.paddingRight(ObjectUtils.isNull(mellSoDto.getGoodsName()) ? "" : mellSoDto.getGoodsName(), 50));
|
|
|
- writer.write(RegularUtils.paddingRight(57));
|
|
|
+ writer.write(RegularUtils.paddingRight(61));
|
|
|
|
|
|
writer.newLine();
|
|
|
count += 1;
|