From 18e1abc0c5623137e9689d4bd30701d946e4cd88 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期六, 24 十月 2026 15:44:18 +0800
Subject: [PATCH] fix(营销): 回款流水导出全空(copyBeanProp参数顺序反了+字段名不匹配)、开票台账SQL漏字段invoice_registration_product_id/invoice_total

---
 src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java |   59 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 48 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java b/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
index ec9ce02..8741b58 100644
--- a/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
+++ b/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
@@ -2,12 +2,19 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.framework.web.page.TableDataInfo;
 import com.ruoyi.purchase.dto.InvoicePurchaseDto;
 import com.ruoyi.sales.dto.ReceiptPaymentDto;
+import com.ruoyi.sales.dto.ReceiptPaymentRecordDto;
+import com.ruoyi.sales.dto.SalesLedgerDto;
 import com.ruoyi.sales.pojo.ReceiptPayment;
+import com.ruoyi.sales.pojo.SalesLedger;
 import com.ruoyi.sales.service.ReceiptPaymentService;
 import io.swagger.annotations.ApiModelProperty;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -15,8 +22,10 @@
 
 import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
+import java.time.ZoneId;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -104,18 +113,16 @@
 
     @ApiModelProperty("瀵煎嚭鍥炴鐧昏")
     @PostMapping("/export")
-    public void export(HttpServletResponse response, @RequestParam("ids") String idsStr) {
-        if (idsStr == null || idsStr.trim().isEmpty()) {
-            throw new RuntimeException("璇烽�夋嫨瑕佸鍑虹殑璁板綍");
+    public void export(HttpServletResponse response, String ids) {
+        if (ids == null || ids.isEmpty()) {
+            receiptPaymentService.exportPaymentList(response, null);
+        } else {
+            ArrayList<Long> idList = (ArrayList<Long>) Arrays.stream(ids.split(","))
+                    .map(s -> s.replaceAll("[\\[\\]]", "").trim())
+                    .map(Long::valueOf)
+                    .collect(Collectors.toList());
+            receiptPaymentService.exportPaymentList(response, idList);
         }
-
-        ArrayList<Long> ids = (ArrayList<Long>) Arrays.stream(idsStr.split(","))
-                .map(s -> s.replaceAll("[\\[\\]]", "").trim())
-                .map(Long::valueOf)
-                .collect(Collectors.toList());
-
-
-        receiptPaymentService.exportPaymentList(response, ids);
     }
 
 
@@ -156,6 +163,36 @@
     }
 
     /**
+     * 瀵煎嚭鍥炴娴佹按鍒楄〃
+     */
+    @Log(title = "瀵煎嚭鍥炴娴佹按鍒楄〃", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportOne")
+    public void exportOne(HttpServletResponse response, ReceiptPaymentDto salesLedgerDto) {
+        Page page = new Page();
+        page.setCurrent(-1);
+        page.setSize(-1);
+        IPage<ReceiptPaymentDto> salesLedgerIPage = receiptPaymentHistoryListPage(page, salesLedgerDto);
+        ExcelUtil<ReceiptPaymentRecordDto> util = new ExcelUtil<ReceiptPaymentRecordDto>(ReceiptPaymentRecordDto.class);
+        List<ReceiptPaymentRecordDto> receiptPaymentRecordDtos = new ArrayList<>();
+        salesLedgerIPage.getRecords().forEach(receiptPaymentRecordDto -> {
+            ReceiptPaymentRecordDto receiptPaymentRecordDto1 = new ReceiptPaymentRecordDto();
+            // copyBeanProp(Object dest, Object src)锛氱涓�涓弬鏁版槸鐩爣锛岀浜屼釜鏄簮
+            BeanUtils.copyBeanProp(receiptPaymentRecordDto1, receiptPaymentRecordDto);
+            // 瀛楁鍚嶄笉涓�鑷寸殑鎵嬪姩琛ラ綈
+            receiptPaymentRecordDto1.setReceiptPaymentAmountTotal(receiptPaymentRecordDto.getReceiptPaymentAmount());
+            if (receiptPaymentRecordDto1.getReceiptPaymentType() == null) {
+                receiptPaymentRecordDto1.setReceiptPaymentType(receiptPaymentRecordDto.getReceiptPaymentType());
+            }
+            if (receiptPaymentRecordDto.getCreateTime() != null) {
+                receiptPaymentRecordDto1.setInvoiceDate(Date.from(
+                        receiptPaymentRecordDto.getCreateTime().atZone(ZoneId.systemDefault()).toInstant()));
+            }
+            receiptPaymentRecordDtos.add(receiptPaymentRecordDto1);
+        });
+        util.exportExcel(response, receiptPaymentRecordDtos, "鍥炴娴佹按鍒楄〃");
+    }
+
+    /**
      * 鏌ヨ鍥炴璁板綍涓嶅垎椤�
      */
     @GetMapping("/receiptPaymentHistoryListNoPage")

--
Gitblit v1.9.3