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-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/vo/order/ErpPurchaseOrderRespVO.java |   72 ++++++++++++++++++++++++++++++++---
 1 files changed, 65 insertions(+), 7 deletions(-)

diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/vo/order/ErpPurchaseOrderRespVO.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/vo/order/ErpPurchaseOrderRespVO.java
index dae576f..bbbed5a 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/vo/order/ErpPurchaseOrderRespVO.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/vo/order/ErpPurchaseOrderRespVO.java
@@ -2,6 +2,10 @@
 
 import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
 import cn.idev.excel.annotation.ExcelProperty;
+import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
+import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
+import cn.iocoder.yudao.module.erp.enums.DictTypeConstants;
+import cn.iocoder.yudao.module.system.api.storage.dto.StorageBlobRespDTO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;
@@ -24,12 +28,13 @@
     private String no;
 
     @Schema(description = "閲囪喘鐘舵��", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
-    @ExcelProperty("閲囪喘鐘舵��")
+    @ExcelProperty(value = "閲囪喘鐘舵��", converter = DictConvert.class)
+    @DictFormat(DictTypeConstants.AUDIT_STATUS)
     private Integer status;
 
     @Schema(description = "渚涘簲鍟嗙紪鍙�", requiredMode = Schema.RequiredMode.REQUIRED, example = "1724")
     private Long supplierId;
-    @Schema(description = "渚涘簲鍟嗗悕绉�", example = "鑺嬮亾")
+    @Schema(description = "渚涘簲鍟嗗悕绉�", example = "瓒呯骇绠$悊鍛�")
     @ExcelProperty("渚涘簲鍟嗗悕绉�")
     private String supplierName;
 
@@ -40,6 +45,30 @@
     @Schema(description = "閲囪喘鏃堕棿", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("閲囪喘鏃堕棿")
     private LocalDateTime orderTime;
+
+    // ========== 閲囪喘鍙拌处 ==========
+
+    @Schema(description = "閲囪喘绫诲瀷锛�1鐢熶骇 2鍔炲叕鐢ㄥ搧 3鍏朵粬", example = "1")
+    @ExcelProperty(value = "閲囪喘绫诲瀷", converter = DictConvert.class)
+    @DictFormat(DictTypeConstants.PURCHASE_TYPE)
+    private Integer purchaseType;
+
+    @Schema(description = "鍚堝悓鍙凤紙瀹㈡埛鎵嬪伐杈撳叆锛屼笉鑷姩鐢熸垚锛�", example = "HT2026110001")
+    @ExcelProperty("鍚堝悓鍙�")
+    private String contractNo;
+
+    @Schema(description = "椤圭洰鍚嶇О锛堥潪蹇呭~锛�", example = "1鍙蜂骇绾挎敼閫�")
+    @ExcelProperty("椤圭洰鍚嶇О")
+    private String projectName;
+
+    @Schema(description = "浠樻鏃ユ湡")
+    @ExcelProperty("浠樻鏃ユ湡")
+    private LocalDateTime paymentDate;
+
+    @Schema(description = "浠樻鏂瑰紡锛�1鐢垫眹 2姹囩エ 3鐜伴噾 4鎵嬫満鏀粯", example = "1")
+    @ExcelProperty(value = "浠樻鏂瑰紡", converter = DictConvert.class)
+    @DictFormat(DictTypeConstants.PAYMENT_METHOD)
+    private Integer paymentMethod;
 
     @Schema(description = "鍚堣鏁伴噺", requiredMode = Schema.RequiredMode.REQUIRED, example = "15663")
     @ExcelProperty("鍚堣鏁伴噺")
@@ -54,6 +83,9 @@
     @Schema(description = "鍚堣绋庨锛屽崟浣嶏細鍏�", requiredMode = Schema.RequiredMode.REQUIRED, example = "7127")
     private BigDecimal totalTaxPrice;
 
+    @Schema(description = "鍓╀綑鍙紑绁ㄩ噾棰濓紙璁㈠崟鎬婚噾棰� - 宸叉潵绁ㄩ噾棰濓級锛屽崟浣嶏細鍏�", example = "100.00")
+    private BigDecimal remainInvoicePrice;
+
     @Schema(description = "浼樻儬鐜囷紝鐧惧垎姣�", requiredMode = Schema.RequiredMode.REQUIRED, example = "99.88")
     private BigDecimal discountPercent;
 
@@ -63,17 +95,30 @@
     @Schema(description = "瀹氶噾閲戦锛屽崟浣嶏細鍏�", requiredMode = Schema.RequiredMode.REQUIRED, example = "7127")
     private BigDecimal depositPrice;
 
-    @Schema(description = "闄勪欢鍦板潃", example = "https://www.iocoder.cn")
-    @ExcelProperty("闄勪欢鍦板潃")
-    private String fileUrl;
+    @Schema(description = "鏉ユ簮绫诲瀷", example = "1")
+    @ExcelProperty("鏉ユ簮绫诲瀷")
+    private Integer sourceType;
+
+    @Schema(description = "鏉ユ簮鍗曞彿", example = "GD20260730001")
+    @ExcelProperty("鏉ユ簮鍗曞彿")
+    private String sourceNo;
+
+    @Schema(description = "鏉ユ簮鍗曟嵁缂栧彿", example = "48")
+    private Long sourceId;
+
+    @Schema(description = "鏉ユ簮绫诲瀷鍚嶇О", example = "鐢熶骇宸ュ崟")
+    private String sourceTypeName;
 
     @Schema(description = "澶囨敞", example = "浣犵寽")
     @ExcelProperty("澶囨敞")
     private String remark;
 
-    @Schema(description = "鍒涘缓浜�", example = "鑺嬮亾")
+    @Schema(description = "闄勪欢鍒楄〃")
+    private List<StorageBlobRespDTO> attachmentList;
+
+    @Schema(description = "鍒涘缓浜�", example = "瓒呯骇绠$悊鍛�")
     private String creator;
-    @Schema(description = "鍒涘缓浜哄悕绉�", example = "鑺嬮亾")
+    @Schema(description = "鍒涘缓浜哄悕绉�", example = "瓒呯骇绠$悊鍛�")
     private String creatorName;
 
     @Schema(description = "鍒涘缓鏃堕棿", requiredMode = Schema.RequiredMode.REQUIRED)
@@ -86,6 +131,10 @@
     @Schema(description = "浜у搧淇℃伅", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("浜у搧淇℃伅")
     private String productNames;
+
+    @Schema(description = "浜у搧缂栧彿淇℃伅", example = "MDM001锛孧DM002")
+    @ExcelProperty("浜у搧缂栧彿")
+    private String productCodes;
 
     // ========== 閲囪喘鍏ュ簱 ==========
 
@@ -109,6 +158,9 @@
         @Schema(description = "浜у搧缂栧彿", requiredMode = Schema.RequiredMode.REQUIRED, example = "3113")
         private Long productId;
 
+        @Schema(description = "浜у搧缂栧彿锛圡DM 鐗╂枡缂栫爜锛�", example = "MDM001")
+        private String productCode;
+
         @Schema(description = "浜у搧鍗曚綅鍗曚綅", requiredMode = Schema.RequiredMode.REQUIRED, example = "3113")
         private Long productUnitId;
 
@@ -125,6 +177,12 @@
         @Schema(description = "绋庨锛屽崟浣嶏細鍏�", example = "100.00")
         private BigDecimal taxPrice;
 
+        @Schema(description = "鍚堣浜у搧閲戦锛屽崟浣嶏細鍏�", example = "100.00")
+        private BigDecimal totalProductPrice;
+
+        @Schema(description = "浠风◣鍚堣锛屽崟浣嶏細鍏�", example = "100.00")
+        private BigDecimal totalPrice;
+
         @Schema(description = "澶囨敞", example = "闅忎究")
         private String remark;
 

--
Gitblit v1.9.3