From d39e4f7d839167c16425086dfa2f8747bccfdff9 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 05 十一月 2026 17:39:01 +0800
Subject: [PATCH] feat: 打通销售采购财务闭环并完成累计业务优化

---
 yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/invoice/vo/invoice/CrmInvoiceSaveReqVO.java |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 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..7fa05cd 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,6 +25,15 @@
     @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")
     private Long ownerUserId;
 
@@ -42,6 +51,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 +73,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