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 >= date_format(#{params.receiptPaymentDateStart},'%Y-%m-%d') + </if> + <if test="params.receiptPaymentDateEnd != null and params.receiptPaymentDateEnd != '' "> + AND T1.receipt_payment_date <= 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