diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ScanRecordController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ScanRecordController.java index b3e30cac..06762e7d 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ScanRecordController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ScanRecordController.java @@ -138,14 +138,30 @@ public class ScanRecordController extends BaseController { v.stream() .collect(Collectors.groupingBy(OutMaterialScanRecord::getKey9)) .forEach((key, vv) -> { + List keyParts = StrUtil.split(key, "|"); + String scanBatchNo = ""; + if (keyParts.size() > 1) { + scanBatchNo = "null".equals(keyParts.get(1)) ? "" : keyParts.get(1); + } + String scanSerialNo = ""; + if (keyParts.size() > 2) { + scanSerialNo = "null".equals(keyParts.get(2)) ? "" : keyParts.get(2); + } + String scanBinNo = ""; + if (keyParts.size() > 3) { + scanBinNo = keyParts.get(3); + } vo.getItems().add(new OutDifferenceItemVO() .setRecommendbatchNo("") .setRecommendSerialNo("") .setRecommendBinNo("") // .setRecommendNum(BigDecimal.ZERO) - .setScanBatchNo(StrUtil.split(key, "|").get(1)) - .setScanSerialNo(StrUtil.split(key, "|").get(2)) - .setScanBinNo(StrUtil.split(key, "|").get(3)) +// .setScanBatchNo(StrUtil.split(key, "|").get(1)) +// .setScanSerialNo(StrUtil.split(key, "|").get(2)) +// .setScanBinNo(StrUtil.split(key, "|").get(3)) + .setScanBatchNo(scanBatchNo) + .setScanSerialNo(scanSerialNo) + .setScanBinNo(scanBinNo) .setScanNum(vv.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add))); }); }); 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 df1424c8..d6fbba46 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() + "不需要出库");