From f02d0df2f1dfc7a8b775cf50d45375e57628a5ef Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 10 十一月 2026 11:26:22 +0800
Subject: [PATCH] feat(ncr): 完善NCR处置联动逻辑与关闭校验

---
 yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/invoice/vo/invoice/CrmInvoiceSaveReqVO.java |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/invoice/vo/invoice/CrmInvoiceSaveReqVO.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/invoice/vo/invoice/CrmInvoiceSaveReqVO.java
index 21cf8be..bc2d4ad 100644
--- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/invoice/vo/invoice/CrmInvoiceSaveReqVO.java
+++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/invoice/vo/invoice/CrmInvoiceSaveReqVO.java
@@ -25,7 +25,17 @@
     @NotNull(message = "鍚堝悓缂栧彿涓嶈兘涓虹┖")
     private Long contractId;
 
+    @Schema(description = "鍏宠仈閿�鍞鍗�")
+    private Long saleOrderId;
+
+    @Schema(description = "鍏宠仈鍑哄簱鍗�")
+    private Long saleOutId;
+
+    @Schema(description = "鍑哄簱鍗曞彿锛堝悗绔寜 saleOutId 鍥炲~锛屽墠绔棤闇�浼犻�掞級", hidden = true)
+    private String saleOutCode;
+
     @Schema(description = "璐熻矗浜虹紪鍙�", example = "25682")
+    @NotNull(message = "寮�绁ㄨ礋璐d汉涓嶈兘涓虹┖锛岃閫夋嫨璐熻矗浜�")
     private Long ownerUserId;
 
     @Schema(description = "鍙戠エ绫诲瀷", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@@ -42,6 +52,18 @@
     @NotNull(message = "寮�绁ㄩ噾棰濅笉鑳戒负绌�")
     private BigDecimal price;
 
+    @Schema(description = "鍚堝悓閲戦")
+    private BigDecimal contractAmount;
+
+    @Schema(description = "棰勪粯娆鹃噾棰�")
+    private BigDecimal prepaymentAmount;
+
+    @Schema(description = "鍒拌揣娆鹃噾棰�")
+    private BigDecimal deliveryAmount;
+
+    @Schema(description = "楠屾敹娆鹃噾棰�")
+    private BigDecimal acceptanceAmount;
+
     @Schema(description = "寮�绁ㄦ棩鏈�", requiredMode = Schema.RequiredMode.REQUIRED, example = "2024-02-02")
     @NotNull(message = "寮�绁ㄦ棩鏈熶笉鑳戒负绌�")
     private LocalDateTime invoiceTime;
@@ -52,4 +74,25 @@
     @Schema(description = "鍙戠エ闄勪欢 BlobId 鍒楄〃")
     private List<Long> blobIds;
 
+    @Schema(description = "鏀舵鑺傜偣锛堝悎鍚屾/棰勪粯娆�/鍒拌揣娆�/楠屾敹娆�/璐ㄤ繚閲戯級")
+    private List<PaymentNode> paymentNodes;
+
+    @Schema(description = "鏀舵鑺傜偣")
+    @Data
+    public static class PaymentNode {
+
+        @Schema(description = "闃舵锛�1鍚堝悓娆� 2棰勪粯娆� 3鍒拌揣娆� 4楠屾敹娆� 5璐ㄤ繚閲�", requiredMode = Schema.RequiredMode.REQUIRED)
+        private Integer stage;
+
+        @Schema(description = "閲戦", requiredMode = Schema.RequiredMode.REQUIRED)
+        private BigDecimal amount;
+
+        @Schema(description = "璁″垝鍥炴鏃堕棿", requiredMode = Schema.RequiredMode.REQUIRED)
+        private LocalDateTime returnTime;
+
+        @Schema(description = "澶囨敞")
+        private String remark;
+
+    }
+
 }

--
Gitblit v1.9.3