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;