From be24ba7bc813b717846b7b58f9b4b44b1c33f859 Mon Sep 17 00:00:00 2001 From: zhangke Date: Fri, 5 Sep 2025 14:36:34 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E7=89=A9=E6=96=99=E5=85=A5?= =?UTF-8?q?=E5=BA=93=E7=9A=84=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/NormalPGIController.java | 70 +++++++++++++------ .../admin/controller/POReceiptController.java | 2 +- .../admin/controller/QCReceiptController.java | 2 +- ...SrmMaterialReceiptScanCodesRepository.java | 2 +- .../service/NormalPGIControllerService.java | 3 +- .../nflg/wms/common/pojo/vo/POReceiptVO.java | 2 +- .../resources/mapper/WmsSrmOrderMapper.xml | 10 +-- 7 files changed, 57 insertions(+), 34 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 8fe905a2..4f9ee388 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 @@ -7,6 +7,7 @@ package com.nflg.wms.admin.controller; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; import com.nflg.wms.admin.pojo.document.SrmMaterialReceiptScanCodes; import com.nflg.wms.admin.pojo.dto.QCMaterialSyncDTO; import com.nflg.wms.admin.pojo.dto.ZWM3A17DTO; @@ -29,7 +30,9 @@ import com.nflg.wms.starter.BaseController; import com.nflg.wms.starter.annotation.ApiMark; import jakarta.annotation.Resource; import jakarta.validation.Valid; +import net.sf.jsqlparser.statement.select.First; import org.apache.commons.lang3.tuple.Triple; +import org.apache.ibatis.annotations.One; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; @@ -109,7 +112,7 @@ public class NormalPGIController extends BaseController { // 查看扫码记录 @GetMapping("getScanCodes") @ApiMark(moduleName = "送货单管理", apiName = "获取扫码的详情信息") - public ApiResult> getScanCodes(@RequestParam String orderItemId) { + public ApiResult> getScanCodes(@RequestParam Long orderItemId) { List scanCodes = srmMaterialReceiptCanCodesRepository.findByOrderItemId(orderItemId); List pdas = Convert.toList(PDAScanCodeVO.class, scanCodes); return ApiResult.success(pdas); @@ -289,7 +292,7 @@ public class NormalPGIController extends BaseController { item.setUpdateUserName(UserUtil.getUserName()); receiptItems.add(item); //储位处理 - if (!qo.getStorageLocation().equals(qo.getStorageLocationNew())) { + if (StrUtil.isNotBlank(qo.getStorageLocationNew()) && qo.getStorageLocation().equals(qo.getStorageLocationNew())) { List bins = Arrays.asList(item.getStorageLocation().split("/")); storageLocationDTOS.add(new StorageLocationDTO() .setBinNos(bins) @@ -317,33 +320,56 @@ public class NormalPGIController extends BaseController { List item1 = zwm3A17DTO.getItem1(); List item2 = zwm3A17DTO.getItem2(); - List scanCode = srmMaterialReceiptScanCodesRepository.findByOrderItemId(item.getOrderItemId().toString()); - if (CollectionUtil.isEmpty(scanCode)) { + List scanCode = srmMaterialReceiptScanCodesRepository.findByOrderItemId(item.getOrderItemId()); + if (CollectionUtil.isNotEmpty(scanCode)) { scanCode.forEach(code -> { // 库存 - InventoryDTO inventoryDTO = new InventoryDTO() - .setMaterialNo(item.getItemCode()) - .setFactoryNo(wmsPoReceipt.getFactoryCode()) - .setWarehouseNo(item.getReceivedWarehouse()) - .setBatchNumber(code.getBatchNumber()) - .setNum(code.getCodeNum()); - inventories.add(inventoryDTO); + InventoryDTO inventoryDTO = inventories.stream() + .filter(inventoriesDTO -> inventoriesDTO.getMaterialNo().equals(item.getItemCode()) + && inventoriesDTO.getBatchNumber().equals(code.getBatchNumber()) + && inventoriesDTO.getFactoryNo().equals(wmsPoReceipt.getFactoryCode()) + && inventoriesDTO.getWarehouseNo().equals(item.getReceivedWarehouse()) + ).findFirst().orElse(null); - item1.add(new ZWM3A17Item1DTO() - .setEBELP(item.getPoLineNumber()) - .setMATNR(item.getItemCode()) - .setERFMG(code.getCodeNum()) - .setMEINS(item.getUomCode()) - .setCHARG(code.getBatchNumber()) - .setWERKS(wmsPoReceipt.getFactoryCode()) - .setLGORT(item.getReceivedWarehouse()) - .setKZKRI("") - ); + if (Objects.isNull(inventoryDTO)) { + inventoryDTO = new InventoryDTO() + .setMaterialNo(item.getItemCode()) + .setFactoryNo(wmsPoReceipt.getFactoryCode()) + .setWarehouseNo(item.getReceivedWarehouse()) + .setBatchNumber(code.getBatchNumber()) + .setNum(code.getCodeNum()); + inventories.add(inventoryDTO); + } else { + inventoryDTO.setNum(inventoryDTO.getNum().add(code.getCodeNum())); + } + ZWM3A17Item1DTO ietm1Dto = item1.stream() + .filter(dto1 -> + dto1.getEBELP().equals(item.getPoLineNumber()) + && dto1.getMATNR().equals(item.getItemCode()) + && dto1.getMEINS().equals(item.getUomCode()) + && dto1.getCHARG().equals(code.getBatchNumber()) + && dto1.getWERKS().equals(wmsPoReceipt.getFactoryCode()) + && dto1.getLGORT().equals(item.getReceivedWarehouse()) + ).findFirst().orElse(null); + if (Objects.isNull(ietm1Dto)) { + item1.add(new ZWM3A17Item1DTO() + .setEBELP(item.getPoLineNumber()) + .setMATNR(item.getItemCode()) + .setERFMG(code.getCodeNum()) + .setMEINS(item.getUomCode()) + .setCHARG(code.getBatchNumber()) + .setWERKS(wmsPoReceipt.getFactoryCode()) + .setLGORT(item.getReceivedWarehouse()) + .setKZKRI("") + ); + } else { + ietm1Dto.setERFMG(ietm1Dto.getERFMG().add(code.getCodeNum())); + } item2.add(new ZWM3A17Item2DTO() .setEBELP(item.getPoLineNumber()) .setFLAG("") - .setFLAG(code.getSerialNumbers())); + .setSERNR(code.getSerialNumbers())); }); } else { // 库存 diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/POReceiptController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/POReceiptController.java index 76e7bd81..a78ba8d4 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/POReceiptController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/POReceiptController.java @@ -65,7 +65,7 @@ public class POReceiptController { */ @GetMapping("getScanCodes") @ApiMark(moduleName = "采购单入库管理", apiName = "获取扫码的详情信息") - public ApiResult> getScanCodes(@RequestParam String orderItemId) { + public ApiResult> getScanCodes(@RequestParam Long orderItemId) { List scanCodes = srmMaterialReceiptCanCodesRepository.findByOrderItemId(orderItemId); List pdas = Convert.toList(PDAScanCodeVO.class, scanCodes); return ApiResult.success(pdas); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/QCReceiptController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/QCReceiptController.java index c2ab8c42..335a9cc5 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/QCReceiptController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/QCReceiptController.java @@ -69,7 +69,7 @@ public class QCReceiptController { */ @GetMapping("getScanCodes") @ApiMark(moduleName = "质检物料入库单", apiName = "获取扫码的详情信息") - public ApiResult> getScanCodes(@RequestParam String orderItemId) { + public ApiResult> getScanCodes(@RequestParam Long orderItemId) { List scanCodes = srmMaterialReceiptCanCodesRepository.findByOrderItemId(orderItemId); List pdas = Convert.toList(PDAScanCodeVO.class, scanCodes); return ApiResult.success(pdas); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/repository/SrmMaterialReceiptScanCodesRepository.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/repository/SrmMaterialReceiptScanCodesRepository.java index 9d8a194c..042ae735 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/repository/SrmMaterialReceiptScanCodesRepository.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/repository/SrmMaterialReceiptScanCodesRepository.java @@ -8,7 +8,7 @@ import java.util.List; @Repository public interface SrmMaterialReceiptScanCodesRepository extends MongoRepository { - List findByOrderItemId(String orderItemId); + List findByOrderItemId(Long orderItemId); List findByCodeIdIn(List attr0); } 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 f041119a..f92dcdca 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 @@ -293,6 +293,7 @@ public class NormalPGIControllerService { .update(); } if (CollectionUtil.isNotEmpty(inventories)) { + inventoryService.in(inventories); } @@ -311,7 +312,7 @@ public class NormalPGIControllerService { wmsPoReceiptItemService.lambdaUpdate() .eq(WmsPoReceiptItem::getPoNum, zwm3A17DTO.getEbeln()) .eq(WmsPoReceiptItem::getReceiveId, taskId) - .set(WmsPoReceiptItem::getMaterialDoc, returnDto.getValue().getKey()) + .set(WmsPoReceiptItem::getMaterialDoc, returnDto.getKey().getKey()) .set(WmsPoReceiptItem::getMaterialDocYear, returnDto.getValue().getValue()) .update(); } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/POReceiptVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/POReceiptVO.java index 45bc7776..80f973ba 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/POReceiptVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/POReceiptVO.java @@ -44,7 +44,7 @@ public class POReceiptVO { /** * 发货时间 */ - private LocalDate deliveryNoteDate; + private String deliveryNoteDate; /** * 运单号 diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsSrmOrderMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsSrmOrderMapper.xml index 70f1c21f..fefc0d6e 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsSrmOrderMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsSrmOrderMapper.xml @@ -53,11 +53,7 @@ + from wms_srm_order_item + where order_id = #{orderId} + and wms_srm_order_item.delivery_qty > wms_srm_order_item.receipt_qty