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();