From 040fda8b0f4ab683055448dd0bd5c2f63da3f816 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=B8=E7=86=9F=E5=90=B4=E5=BD=A6=E7=A5=96?= Date: Wed, 3 Sep 2025 15:40:45 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E8=AE=A2=E5=8D=95=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BoxForNotificationServiceImpl.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/com/gaotao/modules/boxManage/service/impl/BoxForNotificationServiceImpl.java b/src/main/java/com/gaotao/modules/boxManage/service/impl/BoxForNotificationServiceImpl.java index 4532324..27e7b2c 100644 --- a/src/main/java/com/gaotao/modules/boxManage/service/impl/BoxForNotificationServiceImpl.java +++ b/src/main/java/com/gaotao/modules/boxManage/service/impl/BoxForNotificationServiceImpl.java @@ -137,6 +137,13 @@ public class BoxForNotificationServiceImpl implements BoxForNotificationService if (!partNoMatch) { throw new RuntimeException("该卷的物料编号与销售发货单中的物料编号不匹配"); } + // 校验批次号:只要有一行partNo和batchNo都匹配即可 + boolean batchNoMatch = checkPartNo.stream() + .filter(detail -> detail.getPartNo() != null && detail.getPartNo().equals(stock.getPartNo())) + .anyMatch(detail -> detail.getOutBatchNo() != null && detail.getOutBatchNo().equals(stock.getBatchNo())); + if (!batchNoMatch) { + throw new RuntimeException("该卷的批次号与销售发货单中的批次号不匹配"); + } // 检查箱的仓库是否为空,如果为空则更新为卷的仓库,如果不为空则检查是否一致 if(box.getWareHouseID()==null||"".equals(box.getWareHouseID())){ boxForNotificationMapper.updateBoxWareHouse(data.getSite(),data.getBuNo(),data.getBoxNo(),stock.getWarehouseId());