diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java index 3b63643f..3dcf8626 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java @@ -252,14 +252,30 @@ public class TransferFactoryController extends BaseController { .setCreateBy(UserUtil.getUserName()) .setCreateTime(LocalDateTime.now()); List ticketItems = new ArrayList<>(); - List qrCodeMasters = qrCodeMasterService.lambdaQuery() - .eq(WmsQrCodeMaster::getProcessStage, BarCodeProcessStage.InBound.getState()) - .in(WmsQrCodeMaster::getBarcodeCode, request.getItems().stream() - .map(OutProduceSubmitItemQO::getQrCodes) - .flatMap(Collection::stream) - .toList() - ) - .list(); +// List qrCodeMasters = qrCodeMasterService.lambdaQuery() +// .eq(WmsQrCodeMaster::getProcessStage, BarCodeProcessStage.InBound.getState()) +// .in(WmsQrCodeMaster::getBarcodeCode, request.getItems().stream() +// .map(OutProduceSubmitItemQO::getQrCodes) +// .flatMap(Collection::stream) +// .toList() +// ) +// .list(); + List barcodeCodes = request.getItems().stream() + .map(OutProduceSubmitItemQO::getQrCodes) + .filter(Objects::nonNull) + .flatMap(Collection::stream) + .map(qrCodeQO -> qrCodeQO.getContent()) + .filter(StrUtil::isNotBlank) + .toList(); + final List qrCodeMasters = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(barcodeCodes)) { + List tempList = qrCodeMasterService.lambdaQuery() + .eq(WmsQrCodeMaster::getProcessStage, BarCodeProcessStage.InBound.getState()) + .in(WmsQrCodeMaster::getBarcodeCode, barcodeCodes) + .list(); + qrCodeMasters.addAll(tempList); + } + request.getItems().forEach(qitem -> { WmsTransferFactoryItem item = datas.stream().filter(d -> Objects.equals(d.getId(), qitem.getItemId())).findFirst().orElse(null); VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("物料" + qitem.getMaterialNo() + "不需要出库");