From da08b20455a10c806caf8fa122d35d2e22bb36a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 24 Mar 2026 11:34:47 +0800 Subject: [PATCH] =?UTF-8?q?feat(purchase):=20=E5=AE=8C=E5=96=84=E9=87=87?= =?UTF-8?q?=E8=B4=AD=E9=80=80=E8=B4=A7=E5=92=8C=E7=BB=93=E6=9E=84=E5=8C=96?= =?UTF-8?q?=E5=8C=85=E8=A3=85=E8=AE=A2=E5=8D=95=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除BarcodePrintingEditQO中binNo字段的@NotBlank验证 - 在OutPurchaseController中添加采购订单行号设置逻辑 - 优化PurchaseReturnController中的数据类型转换和批量更新 - 添加SAP集成回调处理和PO行号映射功能 - 更新StructuralPackageOrderController中的扫描记录和库位设置 - 修改StructuralPackageOrderReceiveQO中binNo验证为@NotBlank - 调整UnqualifiedWarehousingRequest中收货数量验证规则 - 扩展WmsReturnRequestItem实体增加新行号字段 - 重构ZWM3A24和ZWM3A25相关DTO的数据类型定义 - 更新采购退货申请单模板显示工厂代码和库存地点信息 --- .../controller/OutPurchaseController.java | 1 + .../controller/PurchaseReturnController.java | 19 ++++++-- .../StructuralPackageOrderController.java | 4 +- .../UnqualifiedWarehousingRequest.java | 4 +- .../template/采购退货申请单.html | 4 +- .../wms/common/pojo/dto/ZWM3A24ItemDTO.java | 6 ++- .../common/pojo/dto/ZWM3A24ItemReturnDTO.java | 45 ++++++++++++------- .../wms/common/pojo/dto/ZWM3A25ItemDTO.java | 11 ++++- .../common/pojo/qo/BarcodePrintingEditQO.java | 1 - .../qo/StructuralPackageOrderReceiveQO.java | 2 +- .../entity/WmsReturnRequestItem.java | 5 +++ 11 files changed, 71 insertions(+), 31 deletions(-) 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 212224fa..b7526c13 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 @@ -120,6 +120,7 @@ public class OutPurchaseController extends BaseController { .setWerks(it.getFactoryCode()) .setMeins(it.getUnit()) .setLgort(it.getStorageLocation()) + .setEbelp(it.getPoLineNumberNew().toString()) ) .toList() ); 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 0bf52803..94eb9016 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 @@ -35,6 +35,7 @@ import jakarta.validation.constraints.NotNull; import lombok.extern.slf4j.Slf4j; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import software.amazon.awssdk.services.s3.endpoints.internal.Value; import java.math.BigDecimal; import java.time.LocalDateTime; @@ -202,10 +203,10 @@ public class PurchaseReturnController extends BaseController { for (WmsReturnRequestItem item : returnRequestItems) { ZWM3A25ItemDTO itemDTO25 = new ZWM3A25ItemDTO(); itemDTO25.setWerks(item.getFactoryCode()); - itemDTO25.setMenge_Ret(item.getRequestQuantity().toString()); + itemDTO25.setMenge_Ret(item.getRequestQuantity()); itemDTO25.setLgort(item.getStorageLocation()); itemDTO25.setMatnr(item.getMaterialCode()); - itemDTO25.setEbelp_old(item.getPoLineNumber()); + itemDTO25.setEbelp_old(Integer.parseInt(item.getPoLineNumber())); //itemDTO25.setEbelpNew(item.getDeliveryLineNo()); itemDTOList25.add(itemDTO25); } @@ -221,14 +222,24 @@ public class PurchaseReturnController extends BaseController { for (WmsReturnRequestItem item : returnRequestItems) { ZWM3A24ItemDTO itemDTO24 = new ZWM3A24ItemDTO(); itemDTO24.setWerks(item.getFactoryCode()); - itemDTO24.setMenge_Ret(item.getRequestQuantity().toString()); + itemDTO24.setMenge_Ret(item.getRequestQuantity()); itemDTO24.setLgort(item.getStorageLocation()); itemDTO24.setMatnr(item.getMaterialCode()); - itemDTO24.setEbelp_Old(item.getPoLineNumber()); + itemDTO24.setEbelp_Old(Integer.parseInt(item.getPoLineNumber())); itemDTOList24.add(itemDTO24); } ZWM3A24ReturnDTO retrunDto24 = sapService.ZWM3A24(headDTO24, itemDTOList24); log.info(" zwm3a24ReturnDTO: " + JSONUtil.toJsonStr(retrunDto24)); + retrunDto24.getItemReturnDTOList().forEach(item -> { + WmsReturnRequestItem dbItem=returnRequestItems.stream() + .filter(it -> StrUtil.equals(it.getMaterialCode(), item.getMatnr()) + && Objects.equals(Integer.parseInt(it.getPoLineNumber()), item.getEbelp_old()) + ) + .findFirst() + .get(); + dbItem.setPoLineNumberNew(item.getEbelp_new()); + }); + returnRequestItemService.updateBatchById(returnRequestItems); } } //修改状态 diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java index b792713e..200da334 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java @@ -969,7 +969,8 @@ public class StructuralPackageOrderController extends BaseController { if (structuralPackageDeliverOrderService.updateStateByOrderId(request.getId()) == 2) { qrCodeMasterService.lambdaUpdate() .set(WmsQrCodeMaster::getProcessStage, BarCodeProcessStage.InBound.getState()) - .set(WmsQrCodeMaster::getLastScanBy, UserUtil.getUserName()) + .set(WmsQrCodeMaster::getLastScanBy, UserUtil.getUserId()) + .set(WmsQrCodeMaster::getLastScanByname, UserUtil.getUserName()) .set(WmsQrCodeMaster::getLastScanTime, LocalDateTime.now()) .eq(WmsQrCodeMaster::getExtendId, request.getId()) .update(); @@ -985,6 +986,7 @@ public class StructuralPackageOrderController extends BaseController { .setNum(BigDecimal.valueOf(order.getNum())) .setFactoryNo(order.getFactoryNo()) .setWarehouseNo(request.getWarehouse()) + .setBinLocation(request.getBinNo()) .setBatchNo("") .setSerialNo("") ) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/UnqualifiedWarehousingRequest.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/UnqualifiedWarehousingRequest.java index d4413b7f..9da296e4 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/UnqualifiedWarehousingRequest.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/UnqualifiedWarehousingRequest.java @@ -1,9 +1,7 @@ package com.nflg.wms.admin.pojo.request; -import jakarta.annotation.Priority; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Positive; import lombok.Data; import java.math.BigDecimal; @@ -21,6 +19,6 @@ public class UnqualifiedWarehousingRequest { * 收货数量 */ @NotNull - @Positive + @Min(value = 0) private BigDecimal receiveQty; } diff --git a/nflg-wms-admin/src/main/resources/template/采购退货申请单.html b/nflg-wms-admin/src/main/resources/template/采购退货申请单.html index c17d4829..d5ee0569 100644 --- a/nflg-wms-admin/src/main/resources/template/采购退货申请单.html +++ b/nflg-wms-admin/src/main/resources/template/采购退货申请单.html @@ -179,8 +179,8 @@ 非金属联件和紧固件等 M6 DIN 982 不锈钢304 PC 10.00 - - + + 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 8331d97c..6bf7e752 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 @@ -2,6 +2,8 @@ package com.nflg.wms.common.pojo.dto; import lombok.Data; +import java.math.BigDecimal; + @Data public class ZWM3A24ItemDTO{ /** @@ -12,7 +14,7 @@ public class ZWM3A24ItemDTO{ /** * 数量 */ - private String menge_Ret; + private BigDecimal menge_Ret; /** @@ -28,5 +30,5 @@ public class ZWM3A24ItemDTO{ /** * 原订单行号 */ - private String ebelp_Old; + private Integer ebelp_Old; } \ No newline at end of file diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A24ItemReturnDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A24ItemReturnDTO.java index 1a78217e..de616b18 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A24ItemReturnDTO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A24ItemReturnDTO.java @@ -2,38 +2,53 @@ package com.nflg.wms.common.pojo.dto; import lombok.Data; +import java.math.BigDecimal; + @Data public class ZWM3A24ItemReturnDTO{ + /** * 工厂 */ private String werks; + /** - * 采购凭证的项目编号 + * 原订单行号 */ - private String ebelp; + private Integer ebelp_old; + + /** + * 新单行号 + */ + private Integer ebelp_new; + /** * 库存地点 */ private String lgort; - /** - * 物料描述(短文本) - */ - private String maktx; - /** - * 退货项目 - */ - private String retpo; - /** - * 采购凭证号 - */ - private String ebeln; + +// /** +// * 物料描述(短文本) +// */ +// private String maktx; + +// /** +// * 退货项目 +// */ +// private String retpo; + +// /** +// * 采购凭证号 +// */ +// private String ebeln; + /** * 物料号 */ private String matnr; + /** * 数量 */ - private String menge; + private BigDecimal menge_ret; } \ 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 25d2f2dd..ad31bf1c 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 @@ -2,6 +2,8 @@ package com.nflg.wms.common.pojo.dto; import lombok.Data; +import java.math.BigDecimal; + @Data public class ZWM3A25ItemDTO{ @@ -9,18 +11,22 @@ public class ZWM3A25ItemDTO{ * 工厂 */ private String werks; + /** * 数量 */ - private String menge_Ret; + private BigDecimal menge_Ret; + /** * 消息 */ private String msg; + /** * 库存地点 */ private String lgort; + /** * 新单行号 */ @@ -29,8 +35,9 @@ public class ZWM3A25ItemDTO{ * 物料号 */ private String matnr; + /** * 原订单行号 */ - private String ebelp_old; + private Integer ebelp_old; } \ No newline at end of file diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/BarcodePrintingEditQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/BarcodePrintingEditQO.java index 06af4ca2..3f092aa6 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/BarcodePrintingEditQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/BarcodePrintingEditQO.java @@ -95,6 +95,5 @@ public class BarcodePrintingEditQO { /** * 储位编号 */ - @NotBlank private String binNo; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StructuralPackageOrderReceiveQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StructuralPackageOrderReceiveQO.java index 50a970b9..9d0b1840 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StructuralPackageOrderReceiveQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StructuralPackageOrderReceiveQO.java @@ -25,7 +25,7 @@ public class StructuralPackageOrderReceiveQO { /** * 储位 */ - @NotNull + @NotBlank private String binNo; /** diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsReturnRequestItem.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsReturnRequestItem.java index 0c10585e..f539e82d 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsReturnRequestItem.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsReturnRequestItem.java @@ -84,6 +84,11 @@ public class WmsReturnRequestItem implements Serializable { @TableField(value = "\"left\"") private BigDecimal left; + /** + * sap过账的行号 + */ + private Integer poLineNumberNew; + /** * 出库状态 */