From fae4abfedd90d682d2f56161fe2dfaf28b08b5a1 Mon Sep 17 00:00:00 2001 From: yf001217 <834502597@qq.com> Date: Wed, 17 Jun 2026 11:34:46 +0800 Subject: [PATCH] =?UTF-8?q?pdi=E5=9B=9E=E8=B0=83=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../srm/receive/controller/QmsController.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/QmsController.java b/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/QmsController.java index 3c0750c9..2c3e8fb0 100644 --- a/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/QmsController.java +++ b/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/QmsController.java @@ -237,13 +237,21 @@ public class QmsController extends BaseController { @PostMapping("/pdi") public ApiResult pdi(@RequestBody @NotNull PdiInspectionTaskCallbackQO qo) { log.info("PDI检测回调, 单号: {}, 是否合格: {}", qo.getOrderNo(), qo.isPass()); - WmsInProduceOrder order = produceOrderService.getByNo(qo.getOrderNo()); - VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); - WmsInProduceOrderItem item = produceOrderItemService.lambdaQuery() - .eq(WmsInProduceOrderItem::getOrderId, order.getId()) - .eq(WmsInProduceOrderItem::getModelNo, qo.getModelNo()) + List orders = produceOrderService.lambdaQuery() + .eq(WmsInProduceOrder::getOrderNo, qo.getOrderNo()) + .list(); + VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(orders)).throwMessage("订单不存在"); + + List orderIds = orders.stream().map(WmsInProduceOrder::getId).toList(); + List items = produceOrderItemService.lambdaQuery() + .in(WmsInProduceOrderItem::getOrderId, orderIds) .eq(WmsInProduceOrderItem::getWorkbenchNo, qo.getDeviceNo()) - .one(); + .eq(WmsInProduceOrderItem::getModelNo, qo.getModelNo()) + .list(); + VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("订单明细不存在"); + VUtil.trueThrowBusinessError(items.size() > 1).throwMessage("订单明细不唯一"); + + WmsInProduceOrderItem item = items.get(0); item.setInspectionStatus(qo.isPass() ? 1 : 2); produceOrderItemService.updateById(item); return ApiResult.success();