From 698008c4a0f97efa3c583967e246b78777b150a7 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期一, 26 五月 2025 10:35:44 +0800
Subject: [PATCH] 回款登记功能修改

---
 src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java    |   21 +++++++
 src/main/java/com/ruoyi/sales/pojo/ReceiptPayment.java                    |   18 ------
 src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java            |   16 +++++
 src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java          |   16 +++++
 src/main/java/com/ruoyi/sales/dto/InvoiceLedgerDto.java                   |    6 ++
 src/main/resources/mapper/sales/ReceiptPaymentMapper.xml                  |   52 +++++++++++++++++
 src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java |   22 +++++++
 src/main/java/com/ruoyi/sales/dto/ReceiptPaymentDto.java                  |   29 +++++++++
 8 files changed, 162 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java b/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
index 7279df7..6549c3b 100644
--- a/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
+++ b/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
@@ -82,4 +82,25 @@
             return AjaxResult.error("鑾峰彇鍚堝悓閲戦澶辫触锛�" + e.getMessage());
         }
     }
+
+    /**
+     * 鏌ヨ宸茬粡缁戝畾鍙戠エ鐨勫紑绁ㄥ彴璐�
+     * @param page
+     * @param receiptPaymentDto
+     * @return
+     */
+    @GetMapping("/bindInvoiceNoRegPage")
+    public AjaxResult bindInvoiceNoRegPage(Page page, ReceiptPaymentDto receiptPaymentDto) {
+        return AjaxResult.success(receiptPaymentService.bindInvoiceNoRegPage(page,receiptPaymentDto));
+    }
+
+    /**
+     * 寮�绁ㄥ彴璐﹁鎯�
+     * @param id
+     * @return
+     */
+    @GetMapping("/invoiceInfo")
+    public AjaxResult invoiceInfo (Integer id) {
+        return AjaxResult.success(receiptPaymentService.invoiceInfo(id));
+    }
 }
diff --git a/src/main/java/com/ruoyi/sales/dto/InvoiceLedgerDto.java b/src/main/java/com/ruoyi/sales/dto/InvoiceLedgerDto.java
index 4f6ecb8..123ae25 100644
--- a/src/main/java/com/ruoyi/sales/dto/InvoiceLedgerDto.java
+++ b/src/main/java/com/ruoyi/sales/dto/InvoiceLedgerDto.java
@@ -33,4 +33,10 @@
 
     @ApiModelProperty(value = "鏈洖娆鹃噾棰�")
     private BigDecimal unReceiptPaymentAmount;
+
+    @ApiModelProperty(value = "绋庣巼")
+    private BigDecimal taxRate;
+
+    @ApiModelProperty(value = "閿�鍞悎鍚屽彿")
+    private String salesContractNo;
 }
diff --git a/src/main/java/com/ruoyi/sales/dto/ReceiptPaymentDto.java b/src/main/java/com/ruoyi/sales/dto/ReceiptPaymentDto.java
index 9462b98..f46e99d 100644
--- a/src/main/java/com/ruoyi/sales/dto/ReceiptPaymentDto.java
+++ b/src/main/java/com/ruoyi/sales/dto/ReceiptPaymentDto.java
@@ -4,6 +4,8 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
+
 @Data
 public class ReceiptPaymentDto extends ReceiptPayment {
 
@@ -16,4 +18,31 @@
     @ApiModelProperty(value = "鏌ヨ鏂囨湰")
     private String searchText;
 
+    @ApiModelProperty(value = "閿�鍞彴璐ales_ledger")
+    private Integer salesLedgerId;
+
+    @ApiModelProperty(value = "閿�鍞悎鍚屽彿")
+    private String salesContractNo;
+
+    @ApiModelProperty(value = "瀹㈡埛鍚嶇ОID")
+    private Integer customerId;
+
+    @ApiModelProperty(value = "鍙戠エ鍙�")
+    private String invoiceNo;
+
+    @ApiModelProperty(value = "鍙戠エ閲戦")
+    private BigDecimal invoiceTotal;
+
+    @ApiModelProperty(value = "绋庣巼")
+    private BigDecimal taxRate;
+
+    @ApiModelProperty(value = "浜у搧澶х被")
+    private String productCategory;
+
+    @ApiModelProperty(value = "鍥炴閲戦")
+    private BigDecimal receiptPaymentAmountTotal;
+
+    @ApiModelProperty(value = "寰呭洖娆鹃噾棰�")
+    private BigDecimal noReceiptAmount;
+
 }
diff --git a/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java b/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java
index 62b772e..9801d3d 100644
--- a/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java
+++ b/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.sales.dto.InvoiceLedgerDto;
 import com.ruoyi.sales.dto.ReceiptPaymentDto;
 import com.ruoyi.sales.pojo.ReceiptPayment;
 import org.apache.ibatis.annotations.Param;
@@ -12,4 +13,19 @@
     IPage<ReceiptPaymentDto> receiptPaymentListPage(Page page, @Param("receiptPaymentDto") ReceiptPaymentDto receiptPaymentDto);
 
     ReceiptPaymentDto receiptPaymentInfo(Integer id);
+
+    /**
+     * 鏌ヨ宸茬粡缁戝畾鍙戠エ鐨勫紑绁ㄥ彴璐�
+     * @param page
+     * @param receiptPaymentDto
+     * @return
+     */
+    IPage<ReceiptPaymentDto> bindInvoiceNoRegPage(Page page, ReceiptPaymentDto receiptPaymentDto);
+
+    /**
+     * 寮�绁ㄥ彴璐﹁鎯�
+     * @param id
+     * @return
+     */
+    InvoiceLedgerDto invoiceInfo(Integer id);
 }
diff --git a/src/main/java/com/ruoyi/sales/pojo/ReceiptPayment.java b/src/main/java/com/ruoyi/sales/pojo/ReceiptPayment.java
index 6f9a67a..755830e 100644
--- a/src/main/java/com/ruoyi/sales/pojo/ReceiptPayment.java
+++ b/src/main/java/com/ruoyi/sales/pojo/ReceiptPayment.java
@@ -22,24 +22,6 @@
     @TableId(type = IdType.AUTO)
     private Integer id;
 
-    @ApiModelProperty(value = "閿�鍞彴璐ales_ledger")
-    private Integer salesLedgerId;
-
-    @ApiModelProperty(value = "閿�鍞悎鍚屽彿")
-    private String salesContractNo;
-
-    @ApiModelProperty(value = "瀹㈡埛鍚嶇ОID")
-    private Integer customerId;
-
-    @ApiModelProperty(value = "鍙戠エ鍙�")
-    private String invoiceNo;
-
-    @ApiModelProperty(value = "鍙戠エ閲戦")
-    private BigDecimal invoiceAmount;
-
-    @ApiModelProperty(value = "绋庣巼")
-    private BigDecimal taxRate;
-
     @ApiModelProperty(value = "鍥炴褰㈠紡 0鐢垫眹1鎵垮厬")
     private String receiptPaymentType;
 
diff --git a/src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java b/src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java
index 0689fcf..c77cb8d 100644
--- a/src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java
+++ b/src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.sales.dto.InvoiceLedgerDto;
 import com.ruoyi.sales.dto.ReceiptPaymentDto;
 import com.ruoyi.sales.pojo.ReceiptPayment;
 
@@ -47,4 +48,19 @@
     ReceiptPaymentDto receiptPaymentInfo(Integer id);
 
     BigDecimal getReceiptAmount();
+
+    /**
+     * 鏌ヨ宸茬粡缁戝畾鍙戠エ鐨勫紑绁ㄥ彴璐�
+     * @param page
+     * @param receiptPaymentDto
+     * @return
+     */
+    IPage<ReceiptPaymentDto> bindInvoiceNoRegPage(Page page, ReceiptPaymentDto receiptPaymentDto);
+
+    /**
+     * 寮�绁ㄥ彴璐﹁鎯�
+     * @param id
+     * @return
+     */
+    InvoiceLedgerDto invoiceInfo(Integer id);
 }
diff --git a/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
index 93d3783..f1038ae 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.sales.dto.InvoiceLedgerDto;
 import com.ruoyi.sales.dto.ReceiptPaymentDto;
 import com.ruoyi.sales.mapper.ReceiptPaymentMapper;
 import com.ruoyi.sales.pojo.ReceiptPayment;
@@ -100,4 +101,25 @@
 
         return totalContractAmount;
     }
+
+    /**
+     * 鏌ヨ宸茬粡缁戝畾鍙戠エ鐨勫紑绁ㄥ彴璐�
+     * @param page
+     * @param receiptPaymentDto
+     * @return
+     */
+    @Override
+    public IPage<ReceiptPaymentDto> bindInvoiceNoRegPage(Page page, ReceiptPaymentDto receiptPaymentDto) {
+        return receiptPaymentMapper.bindInvoiceNoRegPage(page, receiptPaymentDto);
+    }
+
+    /**
+     * 寮�绁ㄥ彴璐﹁鎯�
+     * @param id
+     * @return
+     */
+    @Override
+    public InvoiceLedgerDto invoiceInfo(Integer id) {
+        return receiptPaymentMapper.invoiceInfo(id);
+    }
 }
diff --git a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
index 14587ee..a282e1a 100644
--- a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
+++ b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
@@ -67,4 +67,56 @@
         WHERE T1.id = #{id}
     </select>
 
+    <select id="bindInvoiceNoRegPage" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto">
+        SELECT
+            T1.id                ,
+            T1.invoice_no        ,
+            T1.invoice_total    ,
+            T1.invoice_person    ,
+            T1.invoice_date      ,
+            T1.create_time       ,
+            T1.create_user       ,
+            T1.update_time       ,
+            T1.update_user       ,
+            T1.tenant_id         ,
+            T2.tax_rate,
+            T3.sales_contract_no,
+            T3.customer_contract_no,
+            T3.customer_name,
+            T4.invoiceFileName,
+            T5.product_category,
+            IFNULL(T6.receipt_payment_amount_total ,0) AS receipt_payment_amount_total,
+            (T1.invoice_total  - IFNULL(T6.receipt_payment_amount_total ,0)) AS no_receipt_amount
+        FROM invoice_ledger T1
+                 LEFT JOIN invoice_registration_product T2 ON T2.id = T1.invoice_registration_product_id
+                 LEFT JOIN sales_ledger T3 ON T3.id = T2.sales_ledger_id
+                 LEFT JOIN (
+            SELECT
+                invoice_ledger_id,
+                GROUP_CONCAT( name ORDER BY id ASC SEPARATOR ' | ') AS invoiceFileName
+            FROM invoice_ledger_file GROUP BY invoice_ledger_id
+        ) T4 ON T4.invoice_ledger_id = T1.id
+                 LEFT JOIN sales_ledger_product T5 ON T2.sales_ledger_product_id = T5.id
+                 LEFT JOIN (
+            SELECT SUM(receipt_payment_amount) AS receipt_payment_amount_total,invoice_ledger_id FROM receipt_payment GROUP BY invoice_ledger_id
+        )  T6 ON T1.id = T6.invoice_ledger_id
+        ORDER BY T2.create_time DESC
+    </select>
+
+    <select id="invoiceInfo" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto">
+        SELECT
+            T1.id,
+            T1.invoice_no,
+            T1.invoice_total ,
+            T2.tax_rate,
+            T3.customer_name,
+            T3.sales_contract_no
+        FROM
+            invoice_ledger T1
+                LEFT JOIN
+            invoice_registration_product T2 ON T1.invoice_registration_product_id = T2.id
+                LEFT JOIN sales_ledger T3 ON T3.id = T2.sales_ledger_id
+        WHERE T1.id = #{id}
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3