From 2aa97d1237b7f720b33f9952f9901ddf7ae9833a Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 16 一月 2026 10:28:08 +0800
Subject: [PATCH] fix: 发货审核异常未回滚导致的脏数据,添加判空操作

---
 src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml b/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
index 823ecac..cfd47e5 100644
--- a/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
+++ b/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
@@ -91,10 +91,11 @@
             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
+        RIGHT JOIN invoice_ledger T3 ON T1.id = T3.invoice_registration_product_id
         LEFT JOIN (
             SELECT
                 invoice_ledger_id,
@@ -109,10 +110,16 @@
                      )
             </if>
             <if test="invoiceRegistrationProductDto.invoiceDateStart != null and invoiceRegistrationProductDto.invoiceDateStart != ''">
-                AND T3.invoice_date &gt;= date_format(#{invoiceRegistrationProductDto.invoiceDateStart}, '%Y-%m-%d')
+                AND T3.invoice_date &gt;= str_to_date(#{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')
+                AND T3.invoice_date &lt; date_add(str_to_date(#{invoiceRegistrationProductDto.invoiceDateEnd}, '%Y-%m-%d'), interval 1 day)
+            </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

--
Gitblit v1.9.3