From beeba1259f983a5f92e6b8137d2fb05389f184b4 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期二, 27 五月 2025 11:39:43 +0800
Subject: [PATCH] 开票台账功能修改

---
 src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml |   85 +++++++++++++++++++++++++++++-------------
 1 files changed, 58 insertions(+), 27 deletions(-)

diff --git a/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml b/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
index cf13c1e..e239178 100644
--- a/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
+++ b/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
@@ -6,37 +6,57 @@
 
     <select id="invoiceRegistrationProductList" resultType="com.ruoyi.sales.dto.InvoiceRegistrationProductDto">
         SELECT
-            id   ,
-            sales_ledger_id           ,
-            sales_ledger_product_id   ,
-            invoice_registration_id   ,
-            product_category          ,
-            specification_model       ,
-            unit                      ,
-            quantity                  ,
-            tax_rate                  ,
-            tax_inclusive_unit_price  ,
-            tax_inclusive_total_price ,
-            tax_exclusive_total_price ,
-            invoice_type              ,
-            invoice_num               ,
-            invoice_amount            ,
-            no_invoice_num            ,
-            no_invoice_amount         ,
-            create_time               ,
-            create_user               ,
-            update_time               ,
-            update_user               ,
-            tenant_id
-        FROM invoice_registration_product
+        T1.id   ,
+        T1.sales_ledger_id           ,
+        T1.sales_ledger_product_id   ,
+        T1.invoice_registration_id   ,
+        T1.product_category          ,
+        T1.specification_model       ,
+        T1.unit                      ,
+        T1.quantity                  ,
+        T1.tax_rate                  ,
+        T1.tax_inclusive_unit_price  ,
+        T1.tax_inclusive_total_price ,
+        T1.tax_exclusive_total_price ,
+        T1.invoice_type              ,
+        T1.invoice_num               ,
+        T1.invoice_amount            ,
+        T1.no_invoice_num            ,
+        T1.no_invoice_amount         ,
+        T1.create_time               ,
+        T1.create_user               ,
+        T1.update_time               ,
+        T1.update_user               ,
+        T1.tenant_id,
+        T2.sales_contract_no,
+        T2.customer_contract_no,
+        T2.customer_name,
+        T3.invoice_no,
+        T3.invoice_total,
+        T3.invoice_person,
+        T3.invoice_date,
+        T4.invoiceFileName
+        FROM invoice_registration_product T1
+        LEFT JOIN sales_ledger T2 ON T1.sales_ledger_id = T2.id
+        LEFT JOIN invoice_ledger T3 ON T1.id = T3.invoice_registration_product_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 = T3.id
         <where>
-            <if test="invoiceRegistrationProductDto.invoiceRegistrationId != null">
-                invoice_registration_id = #{invoiceRegistrationProductDto.invoiceRegistrationId}
+            <if test="invoiceRegistrationProductDto.searchText != null and invoiceRegistrationProductDto.searchText != '' ">
+                AND (T2.sales_contract_no LIKE CONCAT('%',#{invoiceRegistrationProductDto.searchText},'%')
+                OR
+                T2.customer_name LIKE CONCAT('%',#{invoiceRegistrationProductDto.searchText},'%')
+                )
             </if>
-            <if test="invoiceRegistrationProductDto.salesLedgerId != null">
-                sales_ledger_id = #{invoiceRegistrationProductDto.salesLedgerId}
+            <if test="invoiceRegistrationProductDto.invoiceDate != null">
+                AND T3.invoice_date = #{invoiceRegistrationProductDto.invoiceDate}
             </if>
         </where>
+        ORDER BY T1.create_time DESC
     </select>
 
     <select id="invoiceRegistrationProductPage" resultType="com.ruoyi.sales.dto.InvoiceRegistrationProductDto">
@@ -80,6 +100,17 @@
                 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 = T3.id
+        <where>
+            <if test="invoiceRegistrationProductDto.searchText != null and invoiceRegistrationProductDto.searchText != '' ">
+                AND (T2.sales_contract_no LIKE CONCAT('%',#{invoiceRegistrationProductDto.searchText},'%')
+                         OR
+                     T2.customer_name LIKE CONCAT('%',#{invoiceRegistrationProductDto.searchText},'%')
+                     )
+            </if>
+            <if test="invoiceRegistrationProductDto.invoiceDate != null">
+                AND T3.invoice_date = #{invoiceRegistrationProductDto.invoiceDate}
+            </if>
+        </where>
         ORDER BY T1.create_time DESC
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3