From 4d8110fa26cb12916558618b313aa2ce2c1af609 Mon Sep 17 00:00:00 2001 From: zhouz <> Date: Wed, 22 Jul 2026 09:35:55 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=96=B0=E5=A2=9E=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E5=8D=95=E5=90=AB=E6=98=8E=E7=BB=86=E8=AF=B7=E6=B1=82VO?= =?UTF-8?q?=E5=92=8C=E5=8F=AF=E7=94=A8=E5=BA=93=E5=AD=98=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E7=BB=93=E6=9E=9CVO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iostorinv/vo/AvailableInventoryVO.java | 61 +++++++++++++ .../vo/IostorInvWithDetailsSaveReqVO.java | 85 +++++++++++++++++++ 2 files changed, 146 insertions(+) create mode 100644 nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/iostorinv/vo/AvailableInventoryVO.java create mode 100644 nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/iostorinv/vo/IostorInvWithDetailsSaveReqVO.java diff --git a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/iostorinv/vo/AvailableInventoryVO.java b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/iostorinv/vo/AvailableInventoryVO.java new file mode 100644 index 00000000..b07a9632 --- /dev/null +++ b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/iostorinv/vo/AvailableInventoryVO.java @@ -0,0 +1,61 @@ +package cn.code.nl.module.wms.controller.admin.iostorinv.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.math.BigDecimal; + +/** + * 管理后台 - 可用库存查询结果 VO + * + * @author zhouz + */ +@Schema(description = "管理后台 - 可用库存查询结果 VO") +@Data +public class AvailableInventoryVO { + + @Schema(description = "载具编码(箱号)") + private String vehicleCode; + + @Schema(description = "批次/子卷号") + private String pcsn; + + @Schema(description = "物料编码") + private String materialCode; + + @Schema(description = "物料标识") + private String materialId; + + @Schema(description = "组盘数量") + private BigDecimal qty; + + @Schema(description = "冻结数量") + private BigDecimal frozenQty; + + @Schema(description = "可用数量") + private BigDecimal availableQty; + + @Schema(description = "计量单位标识") + private String qtyUnitId; + + @Schema(description = "计量单位名称") + private String qtyUnitName; + + @Schema(description = "来源单据号") + private String extCode; + + @Schema(description = "来源单据类型") + private String extType; + + @Schema(description = "来源单据明细号") + private String extDtlCode; + + @Schema(description = "仓库标识") + private String storId; + + @Schema(description = "仓库编码") + private String storCode; + + @Schema(description = "仓库名称") + private String storName; +} diff --git a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/iostorinv/vo/IostorInvWithDetailsSaveReqVO.java b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/iostorinv/vo/IostorInvWithDetailsSaveReqVO.java new file mode 100644 index 00000000..a9dfb7e3 --- /dev/null +++ b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/iostorinv/vo/IostorInvWithDetailsSaveReqVO.java @@ -0,0 +1,85 @@ +package cn.code.nl.module.wms.controller.admin.iostorinv.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.Valid; +import jakarta.validation.constraints.*; +import lombok.*; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.*; + +/** + * 管理后台 - 出库单新增(含明细)Request VO + * + * @author zhouz + */ +@Schema(description = "管理后台 - 出库单新增(含明细)Request VO") +@Data +public class IostorInvWithDetailsSaveReqVO { + + @Schema(description = "单据类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "生产领料出库") + @NotEmpty(message = "单据类型不能为空") + private String billType; + + @Schema(description = "仓库标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "12635") + @NotEmpty(message = "仓库标识不能为空") + private String storId; + + @Schema(description = "仓库编码") + private String storCode; + + @Schema(description = "仓库名称", example = "原料仓库") + private String storName; + + @Schema(description = "业务日期", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "业务日期不能为空") + private LocalDateTime bizDate; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "出库明细列表", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "请至少添加一条出库明细") + @Valid + private List details; + + /** + * 出库明细 VO + */ + @Data + public static class DetailVO { + + @Schema(description = "物料编码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "物料编码不能为空") + private String materialCode; + + @Schema(description = "物料标识") + private String materialId; + + @Schema(description = "批次/子卷号") + private String pcsn; + + @Schema(description = "出库重量", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "出库重量不能为空") + private BigDecimal planQty; + + @Schema(description = "计量单位标识") + private String qtyUnitId; + + @Schema(description = "计量单位名称") + private String qtyUnitName; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "来源单据号") + private String sourceBillCode; + + @Schema(description = "来源单据类型") + private String sourceBillType; + + @Schema(description = "来源单据明细标识") + private String sourceBilldtlId; + } +}