diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsSiteBatchMissServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsSiteBatchMissServiceImpl.java index 4b1a8d64e..ab40d097e 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsSiteBatchMissServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsSiteBatchMissServiceImpl.java @@ -1071,11 +1071,22 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements if (CollectionUtil.isEmpty(currentRules)) { return true; } + boolean hasNextSite = false; + for (EmisTransPlanRule rule : currentRules) { + // 当前下一网点下的规则 + List nextRules = ruleList.stream() + .filter(r -> StringUtils.equals(r.getStartSiteCode(), rule.getNextSiteCode())) + .collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(nextRules)) { + hasNextSite = true; + break; + } + } // 检查是否为特殊运输线路类型或清关类型 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) && currentRules.get(0).getStartSiteName().contains("机场")) { + if ((isSpecialTransLine || isSpecialCustomsClear) && !hasNextSite) { return true; }