From 4469eaf8fa9faa683f9e747a71d4bcba278f7a34 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Tue, 21 Oct 2025 10:51:27 +0800 Subject: [PATCH 1/2] =?UTF-8?q?demand:=20=20TMS=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E8=BF=90=E8=BE=93=E7=AE=A1=E7=90=86-=E6=BC=8F=E7=BB=84?= =?UTF-8?q?=E6=89=B9=E6=AC=A1=E8=AE=A2=E5=8D=95=E5=85=A8=E9=87=8F=E6=89=AB?= =?UTF-8?q?=E6=8F=8F/=E5=AE=9E=E6=97=B6=E6=89=AB=E6=8F=8F=E5=85=A5?= =?UTF-8?q?=E5=BA=93-=E9=92=88=E5=AF=B9=E4=BB=8E=E6=9C=AA=E7=BB=84?= =?UTF-8?q?=E6=89=B9=E6=AC=A1=E7=B1=BB=E5=9E=8B=E6=95=B0=E6=8D=AE=EF=BC=8C?= =?UTF-8?q?=E8=B5=B7=E5=A7=8B=E7=BD=91=E7=82=B9=E7=BC=96=E7=A0=81=E3=80=81?= =?UTF-8?q?=E4=B8=8B=E4=B8=80=E7=BD=91=E7=82=B9=E7=BC=96=E7=A0=81=E5=8F=96?= =?UTF-8?q?=E8=BF=90=E5=8D=95=E8=A1=A8=E5=AF=B9=E5=BA=94=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=20=20TMS=E7=B3=BB=E7=BB=9F-=E5=B0=8F=E7=A8=8B=E5=BA=8F/OMS/TMS?= =?UTF-8?q?/APP=E7=B3=BB=E7=BB=9F=E4=B8=8B=E5=8D=95/=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E4=B8=8B=E5=8D=95-=E5=AF=84=E4=BB=B6?= =?UTF-8?q?=E5=9B=BD=E5=AE=B6=E6=98=AF=E7=BC=85=E7=94=B8=E5=92=8C=E6=9F=AC?= =?UTF-8?q?=E5=9F=94=E5=AF=A8=E7=9A=84=E8=87=AA=E5=8A=A8=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=9A=84=E8=BF=90=E5=8D=95=E5=8F=B7/=E5=AD=90=E5=8D=95?= =?UTF-8?q?=E5=8F=B7=207080=E5=BC=80=E5=A4=B4=20=E4=B8=8D=E5=B8=A6T?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit committer: heyu --- .../erp/emis/service/EmisBaseService.java | 2 ++ .../service/impl/EmisWaybillServiceImpl.java | 32 +++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java index b40ac351a..e40f385ce 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java @@ -4975,6 +4975,8 @@ public class EmisBaseService { miss.setCreateBy("system"); miss.setCreateTime(now); miss.setCreateSite("88888"); + miss.setStartSiteCode(waybill.getStartSiteCode()); + miss.setNextSiteCode(waybill.getDestinationCode()); return miss; } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java index 30007022b..ab193978f 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java @@ -3181,6 +3181,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb // 校验产品类型与线路是否匹配 checkLineWithProd(emisWaybillSave); + // 当寄件国家为0095或0855时,去除billCode和billCodeSub中的第一个T + modifyBillCode(emisWaybillSave); + // 子单号做扣减 if ("1".equals(emisWaybillSave.getBlGenSubbill())) { Integer subBillCount = emisElectronicSitePagService.getTotalAvailablePagCount(emisWaybillSave.getSendSiteCode(), "T7080", "1002"); @@ -3354,6 +3357,32 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb } } + private static void modifyBillCode(EmisWaybill emisWaybillSave) { + if ("0095".equals(emisWaybillSave.getSendCountry()) || "0855".equals(emisWaybillSave.getSendCountry())) { + // 处理主单号,去除第一个T + if (emisWaybillSave.getBillCode() != null && emisWaybillSave.getBillCode().startsWith("T")) { + emisWaybillSave.setBillCode(emisWaybillSave.getBillCode().substring(1)); + } + + // 处理子单号,对每个用逗号分隔的单号去除第一个T + if (emisWaybillSave.getBillCodeSub() != null && !emisWaybillSave.getBillCodeSub().isEmpty()) { + String[] subBillCodes = emisWaybillSave.getBillCodeSub().split(","); + StringBuilder processedSubBillCodes = new StringBuilder(); + for (int i = 0; i < subBillCodes.length; i++) { + String subBillCode = subBillCodes[i].trim(); + if (subBillCode.startsWith("T")) { + subBillCode = subBillCode.substring(1); + } + if (i > 0) { + processedSubBillCodes.append(","); + } + processedSubBillCodes.append(subBillCode); + } + emisWaybillSave.setBillCodeSub(processedSubBillCodes.toString()); + } + } + } + public void checkCountry(EmisWaybill emisWaybillSave) throws EmisBizError { EmisTransLine emisTransLine = new EmisTransLine(); emisTransLine.setLineCode(emisWaybillSave.getTransLineType()); @@ -3416,6 +3445,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb */ private void addNewWaybillByOms(EmisWaybill emisWaybillSave) throws EmisBizError { + // 当寄件国家为0095或0855时,去除billCode和billCodeSub中的第一个T + modifyBillCode(emisWaybillSave); + // 设定为客户下单,下单时间为当前时间 this.resetOmsWaybillData(emisWaybillSave); From d2399db04f28510a2680202545b99991c54913b6 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Tue, 21 Oct 2025 11:45:17 +0800 Subject: [PATCH 2/2] =?UTF-8?q?demand:=20=20TMS=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E8=BF=90=E8=BE=93=E7=AE=A1=E7=90=86-=E6=BC=8F=E7=BB=84?= =?UTF-8?q?=E6=89=B9=E6=AC=A1=E8=AE=A2=E5=8D=95=E5=85=A8=E9=87=8F=E6=89=AB?= =?UTF-8?q?=E6=8F=8F/=E5=AE=9E=E6=97=B6=E6=89=AB=E6=8F=8F=E5=85=A5?= =?UTF-8?q?=E5=BA=93-=E9=92=88=E5=AF=B9=E4=BB=8E=E6=9C=AA=E7=BB=84?= =?UTF-8?q?=E6=89=B9=E6=AC=A1=E7=B1=BB=E5=9E=8B=E6=95=B0=E6=8D=AE=EF=BC=8C?= =?UTF-8?q?=E8=B5=B7=E5=A7=8B=E7=BD=91=E7=82=B9=E7=BC=96=E7=A0=81=E3=80=81?= =?UTF-8?q?=E4=B8=8B=E4=B8=80=E7=BD=91=E7=82=B9=E7=BC=96=E7=A0=81=E5=8F=96?= =?UTF-8?q?=E8=BF=90=E5=8D=95=E8=A1=A8=E5=AF=B9=E5=BA=94=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=20=20TMS=E7=B3=BB=E7=BB=9F-=E5=B0=8F=E7=A8=8B=E5=BA=8F/OMS/TMS?= =?UTF-8?q?/APP=E7=B3=BB=E7=BB=9F=E4=B8=8B=E5=8D=95/=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E4=B8=8B=E5=8D=95-=E5=AF=84=E4=BB=B6?= =?UTF-8?q?=E5=9B=BD=E5=AE=B6=E6=98=AF=E7=BC=85=E7=94=B8=E5=92=8C=E6=9F=AC?= =?UTF-8?q?=E5=9F=94=E5=AF=A8=E7=9A=84=E8=87=AA=E5=8A=A8=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=9A=84=E8=BF=90=E5=8D=95=E5=8F=B7/=E5=AD=90=E5=8D=95?= =?UTF-8?q?=E5=8F=B7=207080=E5=BC=80=E5=A4=B4=20=E4=B8=8D=E5=B8=A6T?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit committer: heyu --- .../java/com/xdadan/erp/web/emis/EmisWaybillController.java | 2 +- .../erp/emis/service/impl/EmisWaybillServiceImpl.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java index 503f6f450..d6e4f94ed 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java @@ -443,7 +443,7 @@ public class EmisWaybillController extends EmisBaseController emisWaybillService.realSubmitOrder(emisWaybillSave); JSONObject jObjOut = new JSONObject(); - jObjOut.put("billCode", waybillOrder.getBillCode()); + jObjOut.put("billCode", emisWaybillSave.getBillCode()); // jObjOut.put("prodName", waybillOrder.getProductType()); return AjaxResult.success("下单成功", jObjOut); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java index ab193978f..540c1d0d9 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java @@ -3169,6 +3169,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb */ private void addNewWaybill(EmisWaybill emisWaybillSave) throws EmisBizError { + // 当寄件国家为0095或0855时,去除billCode和billCodeSub中的第一个T + modifyBillCode(emisWaybillSave); + // 获取运单号,判断是不是子单已存在 boolean isExists = checkWaybillIsExists(emisWaybillSave.getBillCode()); if(isExists){ @@ -3181,9 +3184,6 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb // 校验产品类型与线路是否匹配 checkLineWithProd(emisWaybillSave); - // 当寄件国家为0095或0855时,去除billCode和billCodeSub中的第一个T - modifyBillCode(emisWaybillSave); - // 子单号做扣减 if ("1".equals(emisWaybillSave.getBlGenSubbill())) { Integer subBillCount = emisElectronicSitePagService.getTotalAvailablePagCount(emisWaybillSave.getSendSiteCode(), "T7080", "1002");