From faec72ba72346e489b07da295859eb89208e39f6 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 21:16:39 +0800 Subject: [PATCH] =?UTF-8?q?fix(api):=20=E6=9B=B4=E6=96=B0API=E7=AB=AF?= =?UTF-8?q?=E7=82=B9=E5=B9=B6=E4=BF=AE=E5=A4=8D=E4=B8=9A=E5=8A=A1=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改InProduceOrderController中的POST映射从空字符串到"receive" - 在NormalPGIControllerService中为parents集合添加非空检查以避免潜在异常 - 更新多个控制器中的业务错误验证逻辑,添加!qitem.isQiTao()条件 - 修正PurchaseReturnController中的退货类型设置和字段命名 - 为TransferCompanyPdaVO和TransferFactoryPdaVO添加ID字段 - 更新ZWM3A24ItemDTO和ZWM3A25ItemDTO中的字段命名规范 --- .../controller/InProduceOrderController.java | 2 +- .../controller/OutAssistanceController.java | 2 +- .../controller/OutCostCenterController.java | 2 +- .../controller/OutProduceController.java | 2 +- .../controller/PurchaseReturnController.java | 12 ++--- .../controller/TransferCompanyController.java | 3 +- .../controller/TransferFactoryController.java | 3 +- .../service/NormalPGIControllerService.java | 46 ++++++++++--------- .../wms/common/pojo/dto/ZWM3A24ItemDTO.java | 4 +- .../wms/common/pojo/dto/ZWM3A25ItemDTO.java | 4 +- .../common/pojo/vo/TransferCompanyPdaVO.java | 2 + .../common/pojo/vo/TransferFactoryPdaVO.java | 2 + 12 files changed, 46 insertions(+), 38 deletions(-) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java index 0f25e97c..881ab931 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java @@ -394,7 +394,7 @@ public class InProduceOrderController extends BaseController { * @param request 请求参数 */ @Transactional - @PostMapping("") + @PostMapping("receive") public ApiResult receive(@Valid @RequestBody InventoryIn1QO request) {//InProduceOrderReceiveQO WmsInProduceOrder order = produceOrderService.getById(request.getId()); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); 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 1881988b..4533efd0 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 @@ -292,7 +292,7 @@ public class OutAssistanceController extends BaseController { String materialNo = item.getMatnr1(); item.setLeft(item.getLeft().subtract(qrCodeMaster.getQuantity())); pti.setNum(pti.getNum().add(qrCodeMaster.getQuantity())); - VUtil.trueThrowBusinessError(item.getLeft().compareTo(BigDecimal.ZERO) < 0) + VUtil.trueThrowBusinessError(!qitem.isQiTao() && item.getLeft().compareTo(BigDecimal.ZERO) < 0) .throwMessage("物料" + materialNo + "的领取数量超出申请限制"); // qrCodeMaster.setFactoryCode(""); // qrCodeMaster.setStorageLocation(""); 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 17169d65..b2b0106e 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 @@ -286,7 +286,7 @@ public class OutCostCenterController extends BaseController { String materialNo = qrCodeMaster.getMaterialCode(); item.setLeft(item.getLeft().subtract(qrCodeMaster.getQuantity())); pti.setNum(pti.getNum().add(qrCodeMaster.getQuantity())); - VUtil.trueThrowBusinessError(item.getLeft().compareTo(BigDecimal.ZERO) < 0) + VUtil.trueThrowBusinessError(!qitem.isQiTao() && item.getLeft().compareTo(BigDecimal.ZERO) < 0) .throwMessage("物料" + materialNo + "的领取数量超出申请限制"); // qrCodeMaster.setFactoryCode(""); // qrCodeMaster.setStorageLocation(""); 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 c2ab20a7..74b8b391 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 @@ -408,7 +408,7 @@ public class OutProduceController extends BaseController { } item.setNum(item.getNum().add(qrCodeMaster.getQuantity())); pti.setNum(pti.getNum().add(qrCodeMaster.getQuantity())); - VUtil.trueThrowBusinessError(item.getNum().compareTo(item.getSqsl()) > 0) + VUtil.trueThrowBusinessError(!qitem.isQiTao() && item.getNum().compareTo(item.getSqsl()) > 0) .throwMessage("物料" + materialNo + "的领取数量超出申请限制"); // qrCodeMaster.setFactoryCode(""); // qrCodeMaster.setStorageLocation(""); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PurchaseReturnController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PurchaseReturnController.java index 398bc6e5..1e876b39 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PurchaseReturnController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PurchaseReturnController.java @@ -189,17 +189,17 @@ public class PurchaseReturnController extends BaseController { if (request.getDocumentType().equals(1)) { //25 ZWM3A25HeadDTO headDTO25 = new ZWM3A25HeadDTO(); List itemDTOList25 = new ArrayList<>(); - headDTO25.setReturnType(request.getDocumentType().toString()); + headDTO25.setReturnType("2"); headDTO25.setBstkdOld(returnRequest.getPoNum()); headDTO25.setLifnr(returnRequest.getSupplierCode()); headDTO25.setEkgrp(returnRequest.getPurchaseGroup()); for (WmsReturnRequestItem item : returnRequestItems) { ZWM3A25ItemDTO itemDTO25 = new ZWM3A25ItemDTO(); itemDTO25.setWerks(item.getFactoryCode()); - itemDTO25.setMengeRet(item.getRequestQuantity().toString()); + itemDTO25.setMenge_Ret(item.getRequestQuantity().toString()); itemDTO25.setLgort(item.getStorageLocation()); itemDTO25.setMatnr(item.getMaterialCode()); - itemDTO25.setEbelpOld(item.getPoLineNumber()); + itemDTO25.setEbelp_old(item.getPoLineNumber()); //itemDTO25.setEbelpNew(item.getDeliveryLineNo()); itemDTOList25.add(itemDTO25); } @@ -208,17 +208,17 @@ public class PurchaseReturnController extends BaseController { } else if (request.getDocumentType().equals(2)) { //24 ZWM3A24HeadDTO headDTO24 = new ZWM3A24HeadDTO(); List itemDTOList24 = new ArrayList<>(); - headDTO24.setReturnType(request.getDocumentType().toString()); + headDTO24.setReturnType("1"); headDTO24.setBstkdOld(returnRequest.getPoNum()); headDTO24.setLifnr(returnRequest.getSupplierCode()); headDTO24.setEkgrp(returnRequest.getPurchaseGroup()); for (WmsReturnRequestItem item : returnRequestItems) { ZWM3A24ItemDTO itemDTO24 = new ZWM3A24ItemDTO(); itemDTO24.setWerks(item.getFactoryCode()); - itemDTO24.setMengeRet(item.getRequestQuantity().toString()); + itemDTO24.setMenge_Ret(item.getRequestQuantity().toString()); itemDTO24.setLgort(item.getStorageLocation()); itemDTO24.setMatnr(item.getMaterialCode()); - itemDTO24.setEbelpOld(item.getPoLineNumber()); + itemDTO24.setEbelp_Old(item.getPoLineNumber()); itemDTOList24.add(itemDTO24); } ZWM3A24ReturnDTO retrunDto24 = sapService.ZWM3A24(headDTO24, itemDTOList24); 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 c510a136..2c750fa6 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 @@ -325,7 +325,7 @@ public class TransferCompanyController extends BaseController { String materialNo = qrCodeMaster.getMaterialCode(); item.setLeft(item.getLeft().subtract(qrCodeMaster.getQuantity())); pti.setNum(pti.getNum().add(qrCodeMaster.getQuantity())); - VUtil.trueThrowBusinessError(item.getLeft().compareTo(BigDecimal.ZERO) < 0) + VUtil.trueThrowBusinessError(!qitem.isQiTao() && item.getLeft().compareTo(BigDecimal.ZERO) < 0) .throwMessage("物料" + materialNo + "的出库数量超出申请限制"); // qrCodeMaster.setStorageLocation(""); // qrCodeMaster.setBinLocation(""); @@ -559,6 +559,7 @@ public class TransferCompanyController extends BaseController { VUtil.trueThrowBusinessError(!Objects.equals(ticket.getState(), 0)).throwMessage("出库单无效"); List datas = transferCompanyTicketItemService.getList(ticket.getId()); return ApiResult.success(new TransferCompanyPdaVO() + .setId(ticket.getId()) .setBukrs(ticket.getBukrs()) .setReswk(ticket.getReswk()) .setLgort(ticket.getLgfsb1()) 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 aa37ddd6..28aa07c8 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 @@ -335,7 +335,7 @@ public class TransferFactoryController extends BaseController { .throwMessage("二维码" + qrCode + "未入库"); pti.setNum(pti.getNum().add(qrCodeMaster.getQuantity())); item.setLeft(item.getLeft().subtract(qrCodeMaster.getQuantity())); - VUtil.trueThrowBusinessError(item.getLeft().compareTo(BigDecimal.ZERO) < 0) + VUtil.trueThrowBusinessError(!qitem.isQiTao() && item.getLeft().compareTo(BigDecimal.ZERO) < 0) .throwMessage("物料" + materialNo + "的出库数量超出申请限制"); // qrCodeMaster.setStorageLocation(""); // qrCodeMaster.setBinLocation(""); @@ -544,6 +544,7 @@ public class TransferFactoryController extends BaseController { VUtil.trueThrowBusinessError(!Objects.equals(ticket.getState(), 0)).throwMessage("出库单无效"); List itemVOS = transferFactoryTicketItemService.getList(ticket.getId()); return ApiResult.success(new TransferFactoryPdaVO() + .setId(ticket.getId()) .setBwart(ticket.getBwart()) .setRsnum(ticket.getRsnum()) .setMblnr(ticket.getMblnr()) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java index 90440f5e..2e9c9172 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java @@ -624,28 +624,30 @@ public class NormalPGIControllerService { .stream() .filter(qrCode -> qrCode.getPackagingType() == 1) .toList(); - List children = qrCodeMasterService.lambdaQuery() - .in(WmsQrCodeMaster::getParentBarcodeId, parents - .stream() - .map(WmsQrCodeMaster::getId) - .toList() - ) - .list(); - parents.forEach(p -> { - children.stream() - .filter(c -> c.getParentBarcodeId().equals(p.getId())) - .forEach(c -> { - c.setProcessStage(p.getProcessStage()); - c.setLastScanBy(UserUtil.getUserId()); - c.setLastScanByname(UserUtil.getUserName()); - c.setLastScanTime(LocalDateTime.now()); - c.setFactoryCode(p.getFactoryCode()); - c.setStorageLocation(p.getStorageLocation()); - c.setBinLocation(p.getBinLocation()); - c.setReceiptItemId(p.getReceiptItemId()); - }); - }); - dto.getQrCodes().addAll(children); + if (CollectionUtil.isNotEmpty(parents)) { + List children = qrCodeMasterService.lambdaQuery() + .in(WmsQrCodeMaster::getParentBarcodeId, parents + .stream() + .map(WmsQrCodeMaster::getId) + .toList() + ) + .list(); + parents.forEach(p -> { + children.stream() + .filter(c -> c.getParentBarcodeId().equals(p.getId())) + .forEach(c -> { + c.setProcessStage(p.getProcessStage()); + c.setLastScanBy(UserUtil.getUserId()); + c.setLastScanByname(UserUtil.getUserName()); + c.setLastScanTime(LocalDateTime.now()); + c.setFactoryCode(p.getFactoryCode()); + c.setStorageLocation(p.getStorageLocation()); + c.setBinLocation(p.getBinLocation()); + c.setReceiptItemId(p.getReceiptItemId()); + }); + }); + dto.getQrCodes().addAll(children); + } qrCodeMasterService.updateBarCode(dto.getQrCodes()); } } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A24ItemDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A24ItemDTO.java index 52faa27b..8331d97c 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A24ItemDTO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A24ItemDTO.java @@ -12,7 +12,7 @@ public class ZWM3A24ItemDTO{ /** * 数量 */ - private String mengeRet; + private String menge_Ret; /** @@ -28,5 +28,5 @@ public class ZWM3A24ItemDTO{ /** * 原订单行号 */ - private String ebelpOld; + private String ebelp_Old; } \ No newline at end of file diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A25ItemDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A25ItemDTO.java index c5f5e360..25d2f2dd 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A25ItemDTO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A25ItemDTO.java @@ -12,7 +12,7 @@ public class ZWM3A25ItemDTO{ /** * 数量 */ - private String mengeRet; + private String menge_Ret; /** * 消息 */ @@ -32,5 +32,5 @@ public class ZWM3A25ItemDTO{ /** * 原订单行号 */ - private String ebelpOld; + private String ebelp_old; } \ No newline at end of file diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyPdaVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyPdaVO.java index 075cdcab..3a79f2c8 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyPdaVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyPdaVO.java @@ -9,6 +9,8 @@ import java.util.List; @Accessors(chain = true) public class TransferCompanyPdaVO { + private Long id; + /** * 转出公司 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryPdaVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryPdaVO.java index 029c65f4..40b5836a 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryPdaVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryPdaVO.java @@ -9,6 +9,8 @@ import java.util.List; @Accessors(chain = true) public class TransferFactoryPdaVO { + private Long id; + /** * 预留/相关需求的编号 */