From 51b2f3b9a3356d10c5483ab12e590d6798dccde0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Fri, 20 Mar 2026 14:15:11 +0800 Subject: [PATCH] =?UTF-8?q?fix(logic):=20=E4=BF=AE=E5=A4=8D=E9=BD=90?= =?UTF-8?q?=E5=A5=97=E7=89=A9=E6=96=99=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E5=B9=B6=E4=BC=98=E5=8C=96=E7=A9=BA=E5=80=BC=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在多个控制器中添加useChildren字段判断条件,防止扫码子项时的错误验证 - 将findFirst().get()替换为map().orElse("")模式,避免潜在的NoSuchElementException异常 - 在OutProduceSubmitItemQO中新增useChildren字段用于标识是否扫码子项 - 修复代码中的空行和格式问题,提升代码可读性 --- .../controller/ComponentOutboundController.java | 4 ++-- .../admin/controller/OutAssistanceController.java | 6 +++--- .../admin/controller/OutCostCenterController.java | 6 +++--- .../admin/controller/OutProduceController.java | 6 +++--- .../admin/controller/OutPurchaseController.java | 4 ++-- .../controller/TransferCompanyController.java | 6 +++--- .../controller/TransferFactoryController.java | 15 +++++++-------- .../common/pojo/qo/OutProduceSubmitItemQO.java | 5 +++++ 8 files changed, 28 insertions(+), 24 deletions(-) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java index a5791e52..d8ab4ddb 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java @@ -408,8 +408,8 @@ public class ComponentOutboundController extends BaseController { .setBinLocation(qrCodeMasters.stream() .filter(qr -> StrUtil.equals(qr.getBarcodeCode(), list.get(0).getUniqNo())) .findFirst() - .get() - .getBinLocation() + .map(WmsQrCodeMaster::getBinLocation) + .orElse("") ) .setNum(list.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) ).toList() diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java index f5e1a624..2c1acfb6 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java @@ -246,7 +246,7 @@ public class OutAssistanceController extends BaseController { ticketItems.add(ti); return ti; }); - if (qitem.isQiTao()) { + if (qitem.isQiTao() && !qitem.isUseChildren()) { VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(qitem.getBatchs())) .throwMessage("齐套物料需要提供批次信息"); qitem.getBatchs() @@ -380,8 +380,8 @@ public class OutAssistanceController extends BaseController { .setBinLocation(qrCodeMasters.stream() .filter(qr -> StrUtil.equals(qr.getBarcodeCode(), list.get(0).getUniqNo())) .findFirst() - .get() - .getBinLocation() + .map(WmsQrCodeMaster::getBinLocation) + .orElse("") ) .setNum(list.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) ).toList() diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java index 48f3ec88..c6c6a41c 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java @@ -243,7 +243,7 @@ public class OutCostCenterController extends BaseController { ticketItems.add(ti); return ti; }); - if (qitem.isQiTao()) { + if (qitem.isQiTao() && !qitem.isUseChildren()) { VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(qitem.getBatchs())) .throwMessage("齐套物料需要提供批次信息"); qitem.getBatchs() @@ -371,8 +371,8 @@ public class OutCostCenterController extends BaseController { .setBinLocation(qrCodeMasters.stream() .filter(qr -> StrUtil.equals(qr.getBarcodeCode(), list.get(0).getUniqNo())) .findFirst() - .get() - .getBinLocation() + .map(WmsQrCodeMaster::getBinLocation) + .orElse("") ) .setNum(list.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) ).toList() diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java index 59fb40af..4b2063ef 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java @@ -357,7 +357,7 @@ public class OutProduceController extends BaseController { ticketItems.add(ti); return ti; }); - if (qitem.isQiTao()) { + if (qitem.isQiTao() && !qitem.isUseChildren()) { VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(qitem.getBatchs())) .throwMessage("齐套物料需要提供批次信息"); qitem.getBatchs() @@ -495,8 +495,8 @@ public class OutProduceController extends BaseController { .setBinLocation(qrCodeMasters.stream() .filter(qr -> StrUtil.equals(qr.getBarcodeCode(), list.get(0).getUniqNo())) .findFirst() - .get() - .getBinLocation() + .map(WmsQrCodeMaster::getBinLocation) + .orElse("") ) .setNum(list.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) ).toList() diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutPurchaseController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutPurchaseController.java index 2cc221d7..17b4e271 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutPurchaseController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutPurchaseController.java @@ -283,8 +283,8 @@ public class OutPurchaseController extends BaseController { .setBinLocation(qrCodeMasters.stream() .filter(qr -> StrUtil.equals(qr.getBarcodeCode(), list.get(0).getUniqNo())) .findFirst() - .get() - .getBinLocation() + .map(WmsQrCodeMaster::getBinLocation) + .orElse("") ) .setNum(list.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) ).toList() diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java index 8924c6e2..c2d6f102 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java @@ -276,7 +276,7 @@ public class TransferCompanyController extends BaseController { ticketItems.add(ti); return ti; }); - if (qitem.isQiTao()) { + if (qitem.isQiTao() && !qitem.isUseChildren()) { VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(qitem.getBatchs())) .throwMessage("齐套物料需要提供批次信息"); qitem.getBatchs() @@ -416,8 +416,8 @@ public class TransferCompanyController extends BaseController { .setBinLocation(qrCodeMasters.stream() .filter(qr -> StrUtil.equals(qr.getBarcodeCode(), list.get(0).getUniqNo())) .findFirst() - .get() - .getBinLocation() + .map(WmsQrCodeMaster::getBinLocation) + .orElse("") ) .setNum(list.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) ).toList() 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 d6fbba46..58472145 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 @@ -275,7 +275,6 @@ public class TransferFactoryController extends BaseController { .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() + "不需要出库"); @@ -292,7 +291,7 @@ public class TransferFactoryController extends BaseController { ticketItems.add(ti); return ti; }); - if (qitem.isQiTao()) { + if (qitem.isQiTao() && !qitem.isUseChildren()) { VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(qitem.getBatchs())) .throwMessage("齐套物料需要提供批次信息"); qitem.getBatchs() @@ -408,8 +407,8 @@ public class TransferFactoryController extends BaseController { .setBinLocation(qrCodeMasters.stream() .filter(qr -> StrUtil.equals(qr.getBarcodeCode(), list.get(0).getUniqNo())) .findFirst() - .get() - .getBinLocation() + .map(WmsQrCodeMaster::getBinLocation) + .orElse("") ) .setNum(list.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) ).toList() @@ -457,7 +456,7 @@ public class TransferFactoryController extends BaseController { .list(); qrCodeMasters.stream() .forEach(p -> { - OutMaterialScanRecord record=records.stream() + OutMaterialScanRecord record = records.stream() .filter(r -> r.getUniqNo().equals(p.getBarcodeCode())) .findFirst() .get(); @@ -468,7 +467,7 @@ public class TransferFactoryController extends BaseController { p.setLastScanBy(UserUtil.getUserId()); p.setLastScanByname(UserUtil.getUserName()); p.setLastScanTime(LocalDateTime.now()); - if (p.getPackagingType() == 1){ + if (p.getPackagingType() == 1) { List children = qrCodeMasterService.lambdaQuery() .eq(WmsQrCodeMaster::getParentBarcodeId, p.getId()) .list(); @@ -500,8 +499,8 @@ public class TransferFactoryController extends BaseController { .setBinLocation(qrCodeMasters.stream() .filter(qr -> StrUtil.equals(qr.getBarcodeCode(), list.get(0).getUniqNo())) .findFirst() - .get() - .getBinLocation() + .map(WmsQrCodeMaster::getBinLocation) + .orElse("") ) .setNum(list.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) ).toList() diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/OutProduceSubmitItemQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/OutProduceSubmitItemQO.java index 7cdba468..50b9cfe7 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/OutProduceSubmitItemQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/OutProduceSubmitItemQO.java @@ -30,6 +30,11 @@ public class OutProduceSubmitItemQO { @JsonProperty("isQiTao") private boolean isQiTao; + /** + * 是否扫码子项 + */ + private boolean useChildren; + /** * 批次列表 */