From 1969fabfc90a8b7612a2b393d3f45da421412a9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 23 Jun 2026 11:25:28 +0800 Subject: [PATCH] =?UTF-8?q?feat(normal-pgi):=20=E6=B7=BB=E5=8A=A0=E6=89=B9?= =?UTF-8?q?=E6=AC=A1=E5=8F=B7=E6=94=AF=E6=8C=81=E5=B9=B6=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E4=BA=8C=E7=BB=B4=E7=A0=81=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在PGI控制器中为采购订单项目设置空字符串作为默认批次号 - 修复物料收货数量比较操作符周围的空格格式问题 - 重构二维码处理逻辑,提取批次号信息并存储到集合中 - 将提取的批次号通过逗号连接后设置到申请对象中 - 在QMS服务中为库存申请设置批次号字段 --- .../admin/controller/NormalPGIController.java | 35 +++++++++++++------ .../nflg/wms/admin/service/QmsService.java | 1 + 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java index d9b63be5..0e9b277b 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java @@ -410,6 +410,7 @@ public class NormalPGIController extends BaseController { .setFactory(order.getIuCode()) .setInspectionQty(qcItem.getReceiptNum() != null ? qcItem.getReceiptNum().intValue() : 0) .setPurchaseGroup(order.getPurchaseGroup()) + .setBatchNo("") ); qcDto.getReceiptIds().add(qcItem.getId()); @@ -678,7 +679,7 @@ public class NormalPGIController extends BaseController { for (SrmMaterialReceiptQO item : request) { - if (item.getReceiptNum().compareTo(BigDecimal.ZERO)==0) + if (item.getReceiptNum().compareTo(BigDecimal.ZERO) == 0) continue; // 处理二维码 List autoFindChildCodes = Lists.newArrayList(); @@ -1180,27 +1181,38 @@ public class NormalPGIController extends BaseController { // pushDto.getContent().getLineVOList().add(srmItem); // } Set qrCodes = new HashSet<>(); + Set batchNos = new HashSet<>(); if (CollectionUtil.isNotEmpty(codes)) { List qrCodeMasters = qrCodeMasterService.lambdaQuery() .in(WmsQrCodeMaster::getMaterialCode, codes.stream() .map(SrmMaterialReceiptScanCodes::getCodeId) .toList() ).list(); + List qrCodeMasters0 = qrCodeMasters.stream() + .filter(q -> q.getPackagingType() == 0) + .toList(); + batchNos = qrCodeMasters0.stream() + .map(WmsQrCodeMaster::getBatchNo) + .collect(Collectors.toSet()); qrCodes.addAll( - qrCodeMasters.stream() - .filter(q -> q.getPackagingType() == 0) + qrCodeMasters0.stream() .map(WmsQrCodeMaster::getMaterialCode) .toList() ); + qrCodeMasters0 = qrCodeMasterService.lambdaQuery() + .in(WmsQrCodeMaster::getParentBarcodeId, qrCodeMasters.stream() + .filter(q -> q.getPackagingType() == 1) + .map(WmsQrCodeMaster::getId) + .toList() + ) + .list(); + batchNos.addAll( + qrCodeMasters0.stream() + .map(WmsQrCodeMaster::getBatchNo) + .collect(Collectors.toSet()) + ); qrCodes.addAll( - qrCodeMasterService.lambdaQuery() - .in(WmsQrCodeMaster::getParentBarcodeId, qrCodeMasters.stream() - .filter(q -> q.getPackagingType() == 1) - .map(WmsQrCodeMaster::getId) - .toList() - ) - .list() - .stream() + qrCodeMasters0.stream() .map(WmsQrCodeMaster::getMaterialCode) .toList() ); @@ -1220,6 +1232,7 @@ public class NormalPGIController extends BaseController { .setInspectionQty(item.getReceiptNum() != null ? item.getReceiptNum().intValue() : 0) .setPurchaseGroup(order.getPurchaseGroup()) .setQrCodes(qrCodes) + .setBatchNo(StrUtil.join(",", batchNos)) ); } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/QmsService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/QmsService.java index 02d0bdb8..0f7d06a6 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/QmsService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/QmsService.java @@ -193,6 +193,7 @@ public class QmsService { apply.setWarehouse(inventory.getWarehouseNo()); apply.setStorageLocation(inventory.getBinLocation()); apply.setStorageDays((int) LocalDateTimeUtil.between(inventory.getCreateTime(), LocalDateTime.now(), ChronoUnit.DAYS)); + apply.setBatchNo(inventory.getBatchNo()); List qrCodes = getInventoryInspectionQrCodes(apply); apply.setQrCodes(qrCodes);