From 8168aef3c7557c9e1361892270a1ebe35dbddba5 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 10 十一月 2026 11:42:19 +0800
Subject: [PATCH] refactor(erp): 采购申请与询价比价流程重构

---
 yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/vo/request/ErpPurchaseRequestSaveReqVO.java |   81 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 81 insertions(+), 0 deletions(-)

diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/vo/request/ErpPurchaseRequestSaveReqVO.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/vo/request/ErpPurchaseRequestSaveReqVO.java
new file mode 100644
index 0000000..cc2363f
--- /dev/null
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/vo/request/ErpPurchaseRequestSaveReqVO.java
@@ -0,0 +1,81 @@
+package cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.request;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Schema(description = "绠$悊鍚庡彴 - ERP 閲囪喘鐢宠鏂板/淇敼 Request VO")
+@Data
+public class ErpPurchaseRequestSaveReqVO {
+
+    @Schema(description = "缂栧彿锛堜慨鏀规椂蹇呭~锛�", example = "1")
+    private Long id;
+
+    @Schema(description = "鐢宠鏃堕棿", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "鐢宠鏃堕棿涓嶈兘涓虹┖")
+    private LocalDateTime requestTime;
+
+    @Schema(description = "鐢宠鐞嗙敱", example = "鐢熶骇闇�瑕�")
+    private String requestReason;
+
+    @Schema(description = "渚涘簲鍟嗙紪鍙凤紙鍙�夛紝瀹℃壒閫氳繃鐢熸垚閲囪喘鍙拌处鏃跺彲鍐嶉�夋嫨锛�", example = "1")
+    private Long supplierId;
+
+    @Schema(description = "澶囨敞", example = "澶囨敞")
+    private String remark;
+
+    @Schema(description = "闄勪欢 blobId 鍒楄〃", example = "[1, 2, 3]")
+    private List<Long> blobIds;
+
+    @Schema(description = "鐢宠鏄庣粏鍒楄〃", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "鐢宠鏄庣粏涓嶈兘涓虹┖")
+    @Valid
+    private List<Item> items;
+
+    @Schema(description = "鐢宠鏄庣粏椤�")
+    @Data
+    public static class Item {
+
+        @Schema(description = "缂栧彿锛堜慨鏀规椂蹇呭~锛�", example = "1")
+        private Long id;
+
+        @Schema(description = "浜у搧缂栧彿", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+        @NotNull(message = "浜у搧缂栧彿涓嶈兘涓虹┖")
+        private Long productId;
+
+        @Schema(description = "浜у搧鍗曚綅缂栧彿", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+        @NotNull(message = "浜у搧鍗曚綅涓嶈兘涓虹┖")
+        private Long productUnitId;
+
+        @Schema(description = "鏁伴噺", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
+        @NotNull(message = "鏁伴噺涓嶈兘涓虹┖")
+        private BigDecimal count;
+
+        @Schema(description = "闇�姹傛棩鏈�")
+        private LocalDate demandTime;
+
+        @Schema(description = "澶囨敞", example = "澶囨敞")
+        private String remark;
+
+        @Schema(description = "鏄惁闇�瑕佹潵鏂欐楠�", example = "true")
+        private Boolean qcCheckFlag;
+
+        @Schema(description = "浜у搧鍚嶇О锛堝墠绔睍绀虹敤锛屽悗绔拷鐣ワ級", example = "浜у搧A")
+        private String productName;
+
+        @Schema(description = "浜у搧鏉$爜锛堝墠绔睍绀虹敤锛屽悗绔拷鐣ワ級", example = "12345678")
+        private String productBarCode;
+
+        @Schema(description = "浜у搧鍗曚綅鍚嶇О锛堝墠绔睍绀虹敤锛屽悗绔拷鐣ワ級", example = "涓�")
+        private String productUnitName;
+
+    }
+
+}
\ No newline at end of file

--
Gitblit v1.9.3