From 9f3a45da6d1dc9c71187f15131665eb9806f5588 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期二, 28 十月 2025 15:58:03 +0800
Subject: [PATCH] yys 1.修改配置文件 2.增加模板
---
src/main/resources/mapper/sales/ReceiptPaymentMapper.xml | 416 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 390 insertions(+), 26 deletions(-)
diff --git a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
index 7ff62bf..a52038b 100644
--- a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
+++ b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
@@ -5,35 +5,31 @@
<mapper namespace="com.ruoyi.sales.mapper.ReceiptPaymentMapper">
<select id="receiptPaymentListPage" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto">
SELECT
- T1.id ,
- T1.sales_ledger_id ,
- T1.sales_contract_no ,
- T1.customer_id ,
- T1.invoice_no ,
- T1.invoice_amount ,
- T1.tax_rate ,
- T1.receipt_payment_type ,
- T1.receipt_payment_amount ,
- T1.registrant ,
- T1.receipt_payment_date ,
- T1.create_time ,
- T1.create_user ,
- T1.update_time ,
- T1.update_user ,
- T1.tenant_id,
- T3.customer_contract_no,
- T2.customer_name
- FROM receipt_payment T1
- LEFT JOIN customer T2 ON T1.customer_id = T2.id
- LEFT JOIN sales_ledger T3 ON T1.sales_ledger_id = T3.id
+ T4.customer_id,
+ IFNULL(T5.invoice_total,0) AS invoice_total,
+ T1.receipt_payment_amount,
+ T1.receipt_payment_date
+ FROM
+ receipt_payment T1
+ LEFT JOIN invoice_ledger T2 ON T1.invoice_ledger_id = T2.id
+ LEFT JOIN invoice_registration_product T3 ON T2.invoice_registration_product_id = T3.id
+ LEFT JOIN sales_ledger T4 ON T4.id = T3.sales_ledger_id
+ LEFT JOIN (
+ SELECT
+ T3.customer_id,
+ SUM( invoice_total ) AS invoice_total
+ 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
+ GROUP BY T3.customer_id
+ ) T5 ON T5.customer_id = T4.customer_id
<where>
- <if test="receiptPaymentDto.searchText != null and receiptPaymentDto.searchText != ''">
- AND (
- T2.customer_name LIKE CONCAT('%',#{receiptPaymentDto.searchText},'%')
- OR T1.sales_contract_no LIKE CONCAT('%',#{receiptPaymentDto.searchText},'%')
- )
+ <if test="receiptPaymentDto.customerId != null">
+ AND T4.customer_id = #{receiptPaymentDto.customerId}
</if>
</where>
+ ORDER BY T1.create_time ASC
</select>
<select id="receiptPaymentInfo" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto">
@@ -63,4 +59,372 @@
WHERE T1.id = #{id}
</select>
+ <select id="bindInvoiceNoRegPage" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto">
+ SELECT
+ T1.id ,
+ T1.invoice_no ,
+ T1.invoice_total ,
+ T3.project_name,
+ 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
+ <where>
+ <if test="req.customerName != null and req.customerName !=''">
+ AND T3.customer_name LIKE CONCAT('%',#{req.customerName},'%')
+ </if>
+ <if test="req.invoiceLedgerId != null">
+ AND T1.id = #{req.invoiceLedgerId}
+ </if>
+ <if test="req.customerContractNo != null and req.customerContractNo !=''">
+ AND T3.customer_contract_no LIKE CONCAT('%',#{req.customerContractNo},'%')
+ </if>
+ <if test="req.projectName != null and req.projectName !=''">
+ AND T3.project_name LIKE CONCAT('%',#{req.projectName},'%')
+ </if>
+ <if test="req.invoiceDateStart != null and req.invoiceDateStart != '' ">
+ AND T1.invoice_date >= DATE_FORMAT(#{req.invoiceDateStart},'%Y-%m-%d')
+ </if>
+ <if test="req.invoiceDateEnd != null and req.invoiceDateEnd != '' ">
+ AND T1.invoice_date <= DATE_FORMAT(#{req.invoiceDateEnd},'%Y-%m-%d')
+ </if>
+ </where>
+ 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>
+
+ <select id="getReceiptAmount" resultType="java.math.BigDecimal">
+ SELECT
+ SUM( receipt_payment_amount ) AS total_amount
+ FROM
+ (
+ SELECT
+ T1.receipt_payment_amount
+ FROM
+ receipt_payment T1
+ LEFT JOIN invoice_ledger T2 ON T1.invoice_ledger_id = T2.id
+ LEFT JOIN invoice_registration_product T3 ON T2.invoice_registration_product_id = T3.id
+ LEFT JOIN sales_ledger T4 ON T4.id = T3.sales_ledger_id
+ LEFT JOIN (
+ SELECT
+ T3.customer_id,
+ SUM( invoice_total ) AS invoice_total
+ 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
+ GROUP BY
+ T3.customer_id
+ ) T5 ON T5.customer_id = T4.customer_id
+ WHERE
+ T4.customer_id = #{customerId}
+
+ ORDER BY
+ T1.create_time ASC
+ LIMIT #{total} ) AS limited_rows
+ </select>
+
+ <select id="receiptPaymentHistoryList" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto">
+ SELECT
+ T1.receipt_payment_date,
+ T5.customer_name,
+ T1.receipt_payment_amount,
+ T1.receipt_payment_type,
+ T1.registrant,
+ T1.create_time
+ FROM
+ receipt_payment T1
+ LEFT JOIN
+ invoice_ledger T2 ON T1.invoice_ledger_id = T2.id
+ LEFT JOIN invoice_registration_product T3 ON T2.invoice_registration_product_id = T3.id
+ LEFT JOIN sales_ledger T4 ON T3.sales_ledger_id = T4.id
+ LEFT JOIN customer T5 ON T5.id = T4.customer_id
+ <where>
+ <if test="params.searchText != null and params.searchText != '' ">
+ T5.customer_name LIKE CONCAT('%',#{params.searchText},'%')
+ </if>
+ </where>
+ ORDER BY T1.receipt_payment_date DESC
+ </select>
+
+ <select id="receiptPaymentHistoryListPage" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto">
+ SELECT
+ T1.id,
+ T1.receipt_payment_date,
+ T5.customer_name,
+ T1.receipt_payment_amount,
+ T1.receipt_payment_type,
+ T1.registrant,
+ T1.create_time,
+ T4.project_name,
+ T4.sales_contract_no,
+ T4.customer_contract_no
+ FROM
+ receipt_payment T1
+ LEFT JOIN
+ invoice_ledger T2 ON T1.invoice_ledger_id = T2.id
+ LEFT JOIN invoice_registration_product T3 ON T2.invoice_registration_product_id = T3.id
+ LEFT JOIN sales_ledger T4 ON T3.sales_ledger_id = T4.id
+ LEFT JOIN customer T5 ON T5.id = T4.customer_id
+ <where>
+ <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>
+ <if test="params.projectName != null and params.projectName != '' ">
+ AND T4.project_name LIKE CONCAT('%',#{params.projectName},'%')
+ </if>
+ <if test="params.customerContractNo != null and params.customerContractNo != '' ">
+ AND T4.customer_contract_no LIKE CONCAT('%',#{params.customerContractNo},'%')
+ </if>
+ <if test="params.salesContractNo != null and params.salesContractNo != '' ">
+ AND T4.sales_contract_no LIKE CONCAT('%',#{params.salesContractNo},'%')
+ </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
+ 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">
+ SELECT
+ T1.id,
+ T1.receipt_payment_date,
+ T5.customer_name,
+ T1.receipt_payment_amount,
+ T1.receipt_payment_type,
+ T1.registrant,
+ T1.create_time
+ FROM
+ receipt_payment T1
+ LEFT JOIN
+ invoice_ledger T2 ON T1.invoice_ledger_id = T2.id
+ LEFT JOIN invoice_registration_product T3 ON T2.invoice_registration_product_id = T3.id
+ LEFT JOIN sales_ledger T4 ON T3.sales_ledger_id = T4.id
+ LEFT JOIN customer T5 ON T5.id = T4.customer_id
+ WHERE T1.invoice_ledger_id = #{params.invoiceLedgerId}
+ ORDER BY T1.receipt_payment_date DESC
+ </select>
+
+ <select id="receiptPaymentListByProdRegId" resultType="com.ruoyi.sales.pojo.ReceiptPayment">
+ SELECT
+ T1.*
+ FROM
+ receipt_payment T1
+ LEFT JOIN invoice_ledger T2 ON T1.invoice_ledger_id = T2.id
+ WHERE
+ T2.invoice_registration_product_id = #{invoiceRegistrationProductId}
+ </select>
+ <select id="bindInvoiceNoRegListAll" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto">
+ SELECT
+ T1.id ,
+ T1.invoice_no ,
+ T1.invoice_total ,
+ T3.project_name,
+ 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
+ </select>
+ <select id="bindInvoiceNoRegListByIds" resultType="com.ruoyi.sales.dto.ReceiptPaymentExeclDto">
+ SELECT
+ T1.id ,
+ T1.invoice_no ,
+ T1.invoice_total ,
+ T3.project_name,
+ 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
+ <where>
+ <if test="ids.size() > 0">
+ T1.id IN
+ <foreach item="item" collection="ids" separator="," open="(" close=")">
+ #{item}
+ </foreach>
+ </if>
+ <if test="tenantId != null " >
+ AND T1.tenant_id = #{tenantId}
+ </if>
+ </where>
+
+ </select>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3