From d9612d0f86b8de959cb7cc4574c3ccb12feec70f Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Mon, 1 Sep 2025 13:30:53 +0800 Subject: [PATCH] =?UTF-8?q?demand:=20tms-=E8=BF=90=E8=BE=93=E7=AE=A1?= =?UTF-8?q?=E7=90=86-=E6=BC=8F=E7=BB=84=E6=89=B9=E6=AC=A1=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E6=89=AB=E6=8F=8F=E8=BF=87=E6=BB=A4=E8=B0=83=E8=A7=84?= =?UTF-8?q?=E5=88=99=E6=9C=89=E6=95=88=E6=9C=9F=E8=8C=83=E5=9B=B4=E5=A4=96?= =?UTF-8?q?=E7=9A=84=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit committer: heyu --- .../erp/emis/service/EmisBaseService.java | 23 +++++++++++++++++++ 1 file changed, 23 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 58f6e19d6..f4e9e5372 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 @@ -5283,6 +5283,29 @@ public class EmisBaseService { allNodes.addAll(path); } + // 过滤出运单发货日期在规则有效期内的规则 + if (waybill.getSendDate() != null) { + allNodes = allNodes.stream() + .filter(transPlanRule -> { + // 如果规则没有设置有效期,则默认有效 + if (transPlanRule.getStartDate() == null && transPlanRule.getEndDate() == null) { + return true; + } + // 如果只设置了开始日期,检查发货日期是否在开始日期之后 + if (transPlanRule.getStartDate() != null && transPlanRule.getEndDate() == null) { + return !waybill.getSendDate().before(transPlanRule.getStartDate()); + } + // 如果只设置了结束日期,检查发货日期是否在结束日期之前 + if (transPlanRule.getStartDate() == null && transPlanRule.getEndDate() != null) { + return !waybill.getSendDate().after(transPlanRule.getEndDate()); + } + // 如果同时设置了开始和结束日期,检查发货日期是否在有效期内 + return !waybill.getSendDate().before(transPlanRule.getStartDate()) && + !waybill.getSendDate().after(transPlanRule.getEndDate()); + }) + .collect(Collectors.toList()); + } + // 按ancestors长度分组去重 Map> levelMap = new HashMap<>(); for (EmisTransPlanRule node : allNodes) {