From c6c1bb0b049a3f9bde1761ab0fbf07c22ccd540a Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期二, 23 九月 2025 09:52:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml | 139 ++++++++++++++++++++++++++++++++++++++--------
1 files changed, 114 insertions(+), 25 deletions(-)
diff --git a/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml b/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
index 5c6f164..3178871 100644
--- a/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
+++ b/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
@@ -6,33 +6,122 @@
<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.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">
+ SELECT
+ 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.id as invoice_ledger_id,
+ IFNULL(T3.invoice_total,0) AS invoice_total,
+ T3.invoice_person,
+ T3.invoice_date,
+ T4.invoiceFileName,
+ T2.project_name
+ FROM invoice_registration_product T1
+ LEFT JOIN sales_ledger T2 ON T1.sales_ledger_id = T2.id
+ RIGHT 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.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 >= date_format(#{invoiceRegistrationProductDto.invoiceDateStart}, '%Y-%m-%d')
+ </if>
+ <if test="invoiceRegistrationProductDto.invoiceDateEnd != null and invoiceRegistrationProductDto.invoiceDateEnd != ''">
+ AND T3.invoice_date <= date_format(#{invoiceRegistrationProductDto.invoiceDateEnd}, '%Y-%m-%d')
+ </if>
+ <if test="invoiceRegistrationProductDto.createTimeStart != null ">
+ AND T1.create_time >= date_format(#{invoiceRegistrationProductDto.createTimeStart}, '%Y-%m-%d %H:%i:%s')
+ </if>
+ <if test="invoiceRegistrationProductDto.createTimeEnd != null ">
+ AND T1.create_time <= 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