From bc962c3131e72f5af9fa057196f149f3b06be94d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Wed, 1 Jul 2026 14:20:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=8D=E6=A0=B8=E6=95=B0=E9=87=8F=E6=A3=80?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reviewOrder/ReviewOrderApplicationService.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/reviewOrder/ReviewOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/reviewOrder/ReviewOrderApplicationService.java index 8e884d7c7..0329feb68 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/reviewOrder/ReviewOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/reviewOrder/ReviewOrderApplicationService.java @@ -336,6 +336,17 @@ public class ReviewOrderApplicationService { syncOutOrderCheckQtyByReviewConfirm(reviewOrderId, loginUser); // 与出库单「复核确认」一致:复核数量与拣货数量不一致时生成复核异常单(FHYC) genOutOrderAbnormalAfterReviewConfirm(reviewOrderId); + // 校验:复核确认前,已复核数量必须等于计划数量 + List details = reviewOrderMapper.queryDetailByReviewOrderId(reviewOrderId); + if (!CollectionUtils.isEmpty(details)) { + for (ReviewMaterialDetailPO detail : details) { + BigDecimal reviewed = nz(detail.getReviewedQty()); + BigDecimal plan = nz(detail.getMaterialPlanQty()); + if (reviewed.compareTo(plan) != 0) { + throw new ServiceException("该物料已复核数量不等于计划数量"); + } + } + } ReviewOrder order = reviewOrderMapper.selectById(reviewOrderId); if (order == null) { continue;