From fa59bd5bf64f818111b26744a3b51b936ab6f389 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期二, 01 七月 2025 09:50:00 +0800
Subject: [PATCH] 2025-07-01 bug修改

---
 src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml |  100 +++++++++++++++++++++++++++++++++++--------------
 1 files changed, 71 insertions(+), 29 deletions(-)

diff --git a/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml b/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
index cf13c1e..e03ea6b 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">
@@ -67,10 +87,12 @@
             T2.customer_contract_no,
             T2.customer_name,
             T3.invoice_no,
-            T3.invoice_total,
+            T3.id as invoice_ledger_id,
+            IFNULL(T3.invoice_total,0) AS invoice_total,
             T3.invoice_person,
             T3.invoice_date,
-            T4.invoiceFileName
+            T4.invoiceFileName,
+            T2.project_name
         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
@@ -80,6 +102,26 @@
                 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.invoiceDateStart != null and invoiceRegistrationProductDto.invoiceDateStart != ''">
+                AND T3.invoice_date &gt;= date_format(#{invoiceRegistrationProductDto.invoiceDateStart}, '%Y-%m-%d')
+            </if>
+            <if test="invoiceRegistrationProductDto.invoiceDateEnd != null and invoiceRegistrationProductDto.invoiceDateEnd != ''">
+                AND T3.invoice_date &lt;= date_format(#{invoiceRegistrationProductDto.invoiceDateEnd}, '%Y-%m-%d')
+            </if>
+            <if test="invoiceRegistrationProductDto.createTimeStart != null ">
+                AND T1.create_time &gt;= date_format(#{invoiceRegistrationProductDto.createTimeStart}, '%Y-%m-%d %H:%i:%s')
+            </if>
+            <if test="invoiceRegistrationProductDto.createTimeEnd != null ">
+                AND T1.create_time &lt;= date_format(#{invoiceRegistrationProductDto.createTimeStart}, '%Y-%m-%d %H:%i:%s')+interval 1 day
+            </if>
+        </where>
         ORDER BY T1.create_time DESC
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3