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 a679d058a..13405c5fe 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 @@ -4656,6 +4656,23 @@ public class EmisBaseService { batch.getSupplierCode())) { continue; } + + // 检查明细列表中是否有waybillBatchStatus=2的记录,如果有则不合并 + boolean hasWaybillBatchStatus2 = false; + if (batch.getBatchDtlList() != null && !batch.getBatchDtlList().isEmpty()) { + for (EmisTmsSiteBatchDtl dtl : batch.getBatchDtlList()) { + if ("2".equals(dtl.getWaybillBatchStatus())) { + hasWaybillBatchStatus2 = true; + break; + } + } + } + + // 如果有waybillBatchStatus=2的记录,跳过合并 + if (hasWaybillBatchStatus2) { + continue; + } + String key = batch.getStartSiteCode() + "_" + batch.getNextSiteCode(); if (mergedBatches.containsKey(key)) { EmisTmsSiteBatch existingBatch = mergedBatches.get(key);