From c501c83cd5e3d99a7220b666228325e42734a4ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Mon, 20 Apr 2026 11:21:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=A3=E8=B4=A7=E6=95=B0=E9=87=8F=E4=B8=BA0?= =?UTF-8?q?=E7=9A=84=E4=B8=8D=E7=94=9F=E6=88=90=E5=A4=8D=E6=A0=B8=E6=98=8E?= =?UTF-8?q?=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ReviewOrderDomainService.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/service/ReviewOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/service/ReviewOrderDomainService.java index a94523ea3..878d71705 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/service/ReviewOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/service/ReviewOrderDomainService.java @@ -147,15 +147,26 @@ public class ReviewOrderDomainService { throw new ServiceException("复核单主表保存失败"); } + int detailInserted = 0; for (PickingOrder po : pickingOrders) { List lines = pickingMaterialDetailService.list(new LambdaQueryWrapper() .eq(PickingMaterialDetail::getPickingOrderNumber, po.getPickingOrderNumber()) .eq(PickingMaterialDetail::getDelFlag, 1)); for (PickingMaterialDetail line : lines) { + BigDecimal picked = line.getPickingQuantity(); + if (picked == null || picked.compareTo(BigDecimal.ZERO) <= 0) { + continue; + } ReviewMaterialDetail row = buildDetailFromPicking(line, reviewOrderId, reviewOrderNumber, outOrderNumber, loginUser, now); reviewMaterialDetailMapper.insert(row); + detailInserted++; } } + if (detailInserted == 0) { + reviewOrderMapper.deleteById(reviewOrderId); + log.info("跳过生成复核单:拣货明细无已拣货数量>0 的行 outOrderNumber={}", outOrderNumber); + return; + } // 复核也生成作业单(同拣货作业单表结构),用于作业任务跟踪 genStockOutTaskOrderForReview(header, loginUser, now);