From d2885d323c9a75e62e49b7cb5ba48165e0e489bf Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 19 六月 2025 16:51:44 +0800
Subject: [PATCH] 2025-06-19  参数修改

---
 src/main/resources/mapper/sales/ReceiptPaymentMapper.xml |  131 +++++++++++++++++++++++++++++--------------
 1 files changed, 88 insertions(+), 43 deletions(-)

diff --git a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
index 3e288af..6f7a62d 100644
--- a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
+++ b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
@@ -64,6 +64,7 @@
             T1.id                ,
             T1.invoice_no        ,
             T1.invoice_total    ,
+            T3.project_name,
             T1.invoice_person    ,
             T1.invoice_date      ,
             T1.create_time       ,
@@ -172,7 +173,8 @@
         T1.receipt_payment_amount,
         T1.receipt_payment_type,
         T1.registrant,
-        T1.create_time
+        T1.create_time,
+        T4.project_name
         FROM
         receipt_payment T1
         LEFT JOIN
@@ -184,55 +186,98 @@
             <if test="params.searchText != null and params.searchText != '' ">
                 T5.customer_name LIKE CONCAT('%',#{params.searchText},'%')
             </if>
+            <if test="params.receiptPaymentDateStart != null and params.receiptPaymentDateStart != '' ">
+                AND T1.receipt_payment_date &gt;= date_format(#{params.receiptPaymentDateStart},'%Y-%m-%d')
+            </if>
+            <if test="params.receiptPaymentDateEnd != null and params.receiptPaymentDateEnd != '' ">
+                AND T1.receipt_payment_date &lt;= date_format(#{params.receiptPaymentDateEnd}, '%Y-%m-%d')
+            </if>
         </where>
         ORDER BY T1.receipt_payment_date DESC
     </select>
 
+
+
+
+<!--    SELECT-->
+<!--    *-->
+<!--    FROM-->
+<!--    (-->
+<!--    SELECT-->
+<!--    receipt_payment_amount AS receiptAmount,-->
+<!--    receipt_payment_date AS happenTime,-->
+<!--    0 AS type,-->
+<!--    0 AS invoiceAmount-->
+<!--    FROM-->
+<!--    receipt_payment-->
+<!--    WHERE-->
+<!--    invoice_ledger_id IN (-->
+<!--    SELECT-->
+<!--    id-->
+<!--    FROM-->
+<!--    invoice_ledger-->
+<!--    WHERE-->
+<!--    invoice_registration_product_id IN (-->
+<!--    SELECT-->
+<!--    id-->
+<!--    FROM-->
+<!--    invoice_registration_product-->
+<!--    WHERE-->
+<!--    sales_ledger_id IN ( SELECT id FROM sales_ledger WHERE customer_id =  #{customerId} ))) UNION-->
+<!--    SELECT-->
+<!--    0 AS receiptAmount,-->
+<!--    invoice_date AS happenTime,-->
+<!--    1 AS type,-->
+<!--    invoice_total AS invoiceAmount-->
+<!--    FROM-->
+<!--    invoice_ledger-->
+<!--    WHERE-->
+<!--    invoice_registration_product_id IN (-->
+<!--    SELECT-->
+<!--    id-->
+<!--    FROM-->
+<!--    invoice_registration_product-->
+<!--    WHERE-->
+<!--    sales_ledger_id IN ( SELECT id FROM sales_ledger WHERE customer_id = #{customerId} ))-->
+<!--    AND invoice_date IS NOT NULL-->
+<!--    ) T1-->
+<!--    ORDER BY-->
+<!--    T1.happenTime ASC-->
+
+
     <select id="customerInteractions" resultType="com.ruoyi.sales.dto.CustomerInteractionDto">
         SELECT
-            *
+            rp.receipt_payment_amount AS receiptAmount,
+            rp.receipt_payment_date   AS happenTime,
+            0                          AS type,
+            0                          AS invoiceAmount
         FROM
-            (
-                SELECT
-                    receipt_payment_amount AS receiptAmount,
-                    receipt_payment_date AS happenTime,
-                    0 AS type,
-                    0 AS invoiceAmount
-                FROM
-                    receipt_payment
-                WHERE
-                    invoice_ledger_id IN (
-                        SELECT
-                            id
-                        FROM
-                            invoice_ledger
-                        WHERE
-                            invoice_registration_product_id IN (
-                                SELECT
-                                    id
-                                FROM
-                                    invoice_registration_product
-                                WHERE
-                                    sales_ledger_id IN ( SELECT id FROM sales_ledger WHERE customer_id =  #{customerId} ))) UNION
-                SELECT
-                    0 AS receiptAmount,
-                    invoice_date AS happenTime,
-                    1 AS type,
-                    invoice_total AS invoiceAmount
-                FROM
-                    invoice_ledger
-                WHERE
-                    invoice_registration_product_id IN (
-                        SELECT
-                            id
-                        FROM
-                            invoice_registration_product
-                        WHERE
-                            sales_ledger_id IN ( SELECT id FROM sales_ledger WHERE customer_id = #{customerId} ))
-                  AND invoice_date IS NOT NULL
-            ) T1
-        ORDER BY
-            T1.happenTime ASC
+            receipt_payment rp
+        WHERE EXISTS (
+            SELECT 1
+            FROM invoice_ledger il
+                     JOIN invoice_registration_product irp ON il.invoice_registration_product_id = irp.id
+                     JOIN sales_ledger sl ON irp.sales_ledger_id = sl.id
+            WHERE sl.customer_id = #{customerId}
+              AND rp.invoice_ledger_id = il.id
+        )
+
+        UNION ALL
+
+        SELECT
+            0 AS receiptAmount,
+            il.invoice_date AS happenTime,
+            1 AS type,
+            il.invoice_total AS invoiceAmount
+        FROM
+            invoice_ledger il
+                JOIN invoice_registration_product irp ON il.invoice_registration_product_id = irp.id
+                JOIN sales_ledger sl ON irp.sales_ledger_id = sl.id
+        WHERE
+            sl.customer_id =  #{customerId}
+          AND il.invoice_date IS NOT NULL
+
+        ORDER BY happenTime ASC;
     </select>
 
     <select id="receiptPaymentHistoryListNoPage" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto">

--
Gitblit v1.9.3