From 7105731d9d8aa3b7a30b72e8383890e00d478ad6 Mon Sep 17 00:00:00 2001 From: zhouz <> Date: Wed, 22 Jul 2026 14:47:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=81=BF=E5=85=8D=E5=8F=AF=E7=94=A8?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E5=85=B3=E8=81=94=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/ExpandAvailableInventoryReqVO.java | 5 ++++- .../mapper/iostorinvdtl/IostorinvDtlMapper.xml | 16 ++++++++++++---- .../sql/iostorinv/available-inventory.sql | 1 + 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/iostorinv/vo/ExpandAvailableInventoryReqVO.java b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/iostorinv/vo/ExpandAvailableInventoryReqVO.java index 7becb7cf..f35adf56 100644 --- a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/iostorinv/vo/ExpandAvailableInventoryReqVO.java +++ b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/iostorinv/vo/ExpandAvailableInventoryReqVO.java @@ -1,7 +1,9 @@ package cn.code.nl.module.wms.controller.admin.iostorinv.vo; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.Size; import lombok.Data; import java.util.List; @@ -16,6 +18,7 @@ public class ExpandAvailableInventoryReqVO { @Schema(description = "箱号列表", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "箱号列表不能为空") - private List vehicleCodes; + @Size(max = 500, message = "箱号数量不能超过 500 个") + private List<@NotBlank(message = "箱号不能为空") String> vehicleCodes; } diff --git a/nl-module-wms/nl-module-wms-server/src/main/resources/mapper/iostorinvdtl/IostorinvDtlMapper.xml b/nl-module-wms/nl-module-wms-server/src/main/resources/mapper/iostorinvdtl/IostorinvDtlMapper.xml index 0b15695c..6b2947f3 100644 --- a/nl-module-wms/nl-module-wms-server/src/main/resources/mapper/iostorinvdtl/IostorinvDtlMapper.xml +++ b/nl-module-wms/nl-module-wms-server/src/main/resources/mapper/iostorinvdtl/IostorinvDtlMapper.xml @@ -23,13 +23,17 @@ resultType="cn.code.nl.module.wms.controller.admin.iostorinv.vo.AvailableInventoryRespVO"> SELECT FROM wms_group_plate gp - INNER JOIN wms_structattr sa ON sa.storagevehicle_code = gp.vehicle_code + INNER JOIN ( + SELECT stor_id, storagevehicle_code, MAX(stor_code) AS stor_code, MAX(stor_name) AS stor_name + FROM wms_structattr + WHERE deleted = 0 + GROUP BY stor_id, storagevehicle_code + ) sa ON sa.storagevehicle_code = gp.vehicle_code LEFT JOIN base_materialbase mb ON mb.material_id = gp.material_id AND mb.deleted = 0 WHERE sa.stor_id = #{reqVO.storId} AND gp.status = '可用' AND gp.qty - gp.frozen_qty > 0 AND gp.deleted = 0 - AND sa.deleted = 0 AND gp.material_code LIKE CONCAT('%', #{reqVO.materialCode}, '%') @@ -46,13 +50,17 @@ resultType="cn.code.nl.module.wms.controller.admin.iostorinv.vo.AvailableInventoryRespVO"> SELECT FROM wms_group_plate gp - INNER JOIN wms_structattr sa ON sa.storagevehicle_code = gp.vehicle_code + INNER JOIN ( + SELECT stor_id, storagevehicle_code, MAX(stor_code) AS stor_code, MAX(stor_name) AS stor_name + FROM wms_structattr + WHERE deleted = 0 + GROUP BY stor_id, storagevehicle_code + ) sa ON sa.storagevehicle_code = gp.vehicle_code LEFT JOIN base_materialbase mb ON mb.material_id = gp.material_id AND mb.deleted = 0 WHERE sa.stor_id = #{storId} AND gp.status = '可用' AND gp.qty - gp.frozen_qty > 0 AND gp.deleted = 0 - AND sa.deleted = 0 AND gp.vehicle_code IN #{vehicleCode} diff --git a/nl-module-wms/nl-module-wms-server/src/test/resources/sql/iostorinv/available-inventory.sql b/nl-module-wms/nl-module-wms-server/src/test/resources/sql/iostorinv/available-inventory.sql index 8d08b35b..3cd89ffc 100644 --- a/nl-module-wms/nl-module-wms-server/src/test/resources/sql/iostorinv/available-inventory.sql +++ b/nl-module-wms/nl-module-wms-server/src/test/resources/sql/iostorinv/available-inventory.sql @@ -39,6 +39,7 @@ VALUES (1001, '材料一', FALSE), (1002, '已删除材料', TRUE); INSERT INTO wms_structattr(struct_id, storagevehicle_code, stor_id, stor_code, stor_name, deleted) VALUES ('S-001', 'BOX-001', 'STOR-001', 'STOR-CODE-001', '一号仓', FALSE), + ('S-001-B', 'BOX-001', 'STOR-001', 'STOR-CODE-001', '一号仓', FALSE), ('S-002', 'BOX-001', 'STOR-002', 'STOR-CODE-002', '二号仓', FALSE), ('S-003', 'BOX-002', 'STOR-001', 'STOR-CODE-001', '一号仓', FALSE), ('S-004', 'BOX-003', 'STOR-001', 'STOR-CODE-001', '一号仓', FALSE),