From 6b7c049ce785939217bb514799e81d37b625b880 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Wed, 30 Jul 2025 17:18:36 +0800 Subject: [PATCH] =?UTF-8?q?demand:=20=20=20=20=E6=96=B0=E5=A2=9ETMS?= =?UTF-8?q?=E7=AB=99=E7=82=B9=E6=89=B9=E6=AC=A1=E6=93=8D=E4=BD=9C=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E7=AE=A1=E7=90=86=E9=A1=B5=E9=9D=A2=E3=80=82=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=89=B9=E6=AC=A1=E5=A2=9E=E5=8A=A0=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E3=80=82=E6=89=B9=E6=AC=A1=E6=96=B0=E5=A2=9E?= =?UTF-8?q?/=E5=88=A0=E9=99=A4=E8=BF=90=E5=8D=95=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/emis/service/EmisBaseService.java | 17 +++++++++++++++++ .../main/resources/mapper/EmisWaybillMapper.xml | 4 ++-- 2 files changed, 19 insertions(+), 2 deletions(-) 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 a7383d097..b1b057b27 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 @@ -4955,6 +4955,20 @@ public class EmisBaseService { List> allPaths = new ArrayList<>(); getAllPaths(rule, new ArrayList<>(), allPaths); + // 检查是否为特殊运输线路类型或清关类型 + boolean isSpecialTransLine = "004".equals(waybill.getTransLineType()) && + ("24401".equals(waybill.getProductType()) || "24402".equals(waybill.getProductType())); + boolean isSpecialCustomsClear = "2".equals(waybill.getCustomsClear()) && "2".equals(waybill.getTransType()); + + if (isSpecialTransLine || isSpecialCustomsClear) { + // 移除每个路径的最后一个元素 + for (List path : allPaths) { + if (!path.isEmpty()) { + path.remove(path.size() - 1); + } + } + } + // 2. 统计每条路径的匹配度 Map, Integer> pathMatchCountMap = new HashMap<>(); for (List path : allPaths) { @@ -5226,6 +5240,9 @@ public class EmisBaseService { public void handleVirtualForUpdate(EmisWaybill emisWaybillSave, EmisWaybill emisWaybillOld) throws EmisBizError { if (!StringUtils.isEmpty(emisWaybillSave.getBlVirtual()) && "1".equals(emisWaybillSave.getBlVirtual())) { + if(emisWaybillSave.getMasterBillCode().equals(emisWaybillOld.getMasterBillCode())){ + return; + } handleVirtual(emisWaybillSave, emisWaybillOld); } else { String masterBillCode = emisWaybillOld.getMasterBillCode(); diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml index 9f3bf713f..f172f139a 100644 --- a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml @@ -3838,9 +3838,9 @@