From 1d9cfc91e7255b9e139b20ff230cb19246f19193 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 09 十一月 2026 14:32:11 +0800
Subject: [PATCH] refactor(erp): 重构ERP单据单号生成逻辑以支持冲突重试

---
 yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/sale/vo/order/ErpSaleOrderSaveReqVO.java |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/sale/vo/order/ErpSaleOrderSaveReqVO.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/sale/vo/order/ErpSaleOrderSaveReqVO.java
index 95dcd7a..e068f34 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/sale/vo/order/ErpSaleOrderSaveReqVO.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/sale/vo/order/ErpSaleOrderSaveReqVO.java
@@ -2,6 +2,7 @@
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -22,12 +23,19 @@
     @Schema(description = "鍏宠仈鍚堝悓缂栧彿", example = "1")
     private Long contractId;
 
-    @Schema(description = "鍚堝悓鍗曞彿", example = "HT001")
+    @Schema(description = "鍚堝悓鍗曞彿锛堝彲鎵嬪伐濉啓锛屽叧鑱斿悎鍚屾椂鑷姩甯﹀嚭锛�", example = "HT001")
+    @Size(max = 64, message = "鍚堝悓鍙蜂笉鑳借秴杩�64涓瓧绗�")
     private String contractNo;
+
+    @Schema(description = "閿�鍞被鍨嬶細1鍐呴攢 2澶栭攢 3鏍峰搧 4鍏朵粬", example = "1")
+    private Integer saleType;
 
     @Schema(description = "涓嬪崟鏃堕棿", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "涓嬪崟鏃堕棿涓嶈兘涓虹┖")
     private LocalDateTime orderTime;
+
+    @Schema(description = "鏀舵鏃ユ湡锛堢敤浜� 30 澶╄处鏈熸彁閱掞級")
+    private LocalDateTime receiptDate;
 
     @Schema(description = "閿�鍞憳缂栧彿", example = "1888")
     private Long saleUserId;
@@ -41,11 +49,11 @@
     @Schema(description = "瀹氶噾閲戦锛屽崟浣嶏細鍏�", example = "7127")
     private BigDecimal depositPrice;
 
-    @Schema(description = "闄勪欢鍦板潃", example = "https://www.iocoder.cn")
-    private String fileUrl;
-
     @Schema(description = "澶囨敞", example = "浣犵寽")
     private String remark;
+
+    @Schema(description = "闄勪欢 blobId 鍒楄〃", example = "[1, 2, 3]")
+    private List<Long> blobIds;
 
     @Schema(description = "璁㈠崟娓呭崟鍒楄〃")
     private List<Item> items;
@@ -59,6 +67,10 @@
         @Schema(description = "浜у搧缂栧彿", requiredMode = Schema.RequiredMode.REQUIRED, example = "3113")
         @NotNull(message = "浜у搧缂栧彿涓嶈兘涓虹┖")
         private Long productId;
+
+        @Schema(description = "閿�鍞骇鍝佹槑缁嗘墜宸ュ綍鍏ョ殑鐩樺彿")
+        @Size(max = 128, message = "鐩樺彿涓嶈兘瓒呰繃128涓瓧绗�")
+        private String reelNo;
 
         @Schema(description = "浜у搧鍗曚綅鍗曚綅", requiredMode = Schema.RequiredMode.REQUIRED, example = "3113")
         @NotNull(message = "浜у搧鍗曚綅鍗曚綅涓嶈兘涓虹┖")
@@ -74,9 +86,12 @@
         @Schema(description = "绋庣巼锛岀櫨鍒嗘瘮", example = "99.88")
         private BigDecimal taxPercent;
 
+        @Schema(description = "鏄惁闇�瑕佺敓浜э紙0=鍚� 1=鏄級", example = "1")
+        private Integer needProduction;
+
         @Schema(description = "澶囨敞", example = "闅忎究")
         private String remark;
 
     }
 
-}
\ No newline at end of file
+}

--
Gitblit v1.9.3