From d1903c17568e1c373ca37a8baddbefbc330d12bf Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期一, 26 五月 2025 16:31:35 +0800 Subject: [PATCH] 开票台账功能修改 --- src/main/resources/mapper/sales/InvoiceLedgerMapper.xml | 137 ++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 128 insertions(+), 9 deletions(-) diff --git a/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml b/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml index d29b8bf..8a33701 100644 --- a/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml +++ b/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml @@ -19,9 +19,19 @@ T1.update_time , T1.update_user , T1.tenant_id , - T2.customer_name + T2.customer_name, + T3.customer_contract_no, + T3.salesman, + T4.invoiceFileName FROM invoice_ledger T1 LEFT JOIN customer T2 ON T1.customer_id = T2.id + LEFT JOIN sales_ledger T3 ON T1.sales_ledger_id = T3.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 <where> <if test="invoiceLedgerDto.searchText != null and invoiceLedgerDto.searchText != ''"> AND ( @@ -36,6 +46,48 @@ </select> <select id="invoiceLedgerList" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto"> + SELECT + T1.id , + T1.sales_ledger_id , + T1.sales_contract_no , + T1.customer_id , + T1.invoice_no , + T1.invoice_amount , + T1.tax_rate , + T1.invoice_person , + T1.invoice_date , + T1.create_time , + T1.create_user , + T1.update_time , + T1.update_user , + T1.tenant_id , + T2.customer_name, + T3.salesman, + T3.customer_contract_no, + T4.invoiceFileName + FROM invoice_ledger T1 + LEFT JOIN customer T2 ON T1.customer_id = T2.id + LEFT JOIN sales_ledger T3 ON T1.sales_ledger_id = T3.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 + <where> + <if test="invoiceLedgerDto.searchText != null and invoiceLedgerDto.searchText != ''"> + AND ( + T2.customer_name LIKE CONCAT('%',#{invoiceLedgerDto.searchText},'%') + OR T1.sales_contract_no LIKE CONCAT('%',#{invoiceLedgerDto.searchText},'%') + ) + </if> + <if test="invoiceLedgerDto.invoiceDate != null"> + AND DATE_FORMAT(T1.invoice_date,'%Y-%m-%d') = DATE_FORMAT(#{invoiceLedgerDto.invoiceDate},'%Y-%m-%d') + </if> + </where> + </select> + + <select id="invoiceLedgerInfo" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto"> SELECT T1.id , T1.sales_ledger_id , @@ -54,16 +106,83 @@ T2.customer_name FROM invoice_ledger T1 LEFT JOIN customer T2 ON T1.customer_id = T2.id + WHERE T1.id = #{id} + </select> + + <select id="invoiceLedgerSalesAccount" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto"> + SELECT + T4.id,T4.customer_name , + SUM(invoice_total) AS invoice_total, + IFNULL( T5.receipt_payment_amount , 0 ) AS receipt_payment_amount, + (invoice_total - receipt_payment_amount) AS unReceipt_payment_amount + 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 + LEFT JOIN customer T4 ON T4.id = T3.customer_id + LEFT JOIN ( SELECT invoice_ledger_id, SUM( receipt_payment_amount ) AS receipt_payment_amount FROM receipt_payment GROUP BY invoice_ledger_id ) T5 ON T5.invoice_ledger_id = T1.id <where> - <if test="invoiceLedgerDto.searchText != null and invoiceLedgerDto.searchText != ''"> - AND ( - T2.customer_name LIKE CONCAT('%',#{invoiceLedgerDto.searchText},'%') - OR T1.sales_contract_no LIKE CONCAT('%',#{invoiceLedgerDto.searchText},'%') - ) - </if> - <if test="invoiceLedgerDto.invoiceDate != null"> - AND DATE_FORMAT(T1.invoice_date,'%Y-%m-%d') = DATE_FORMAT(#{invoiceLedgerDto.invoiceDate},'%Y-%m-%d') + <if test="invoiceLedgerDto.searchText != null and invoiceLedgerDto.searchText != '' "> + T4.customer_name LIKE CONCAT ('%',#{invoiceLedgerDto.searchText},'%') </if> </where> + GROUP BY T4.id,T4.customer_name </select> + + <select id="invoiceLedgerProductInfo" 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.invoice_total, + T3.invoice_person, + T3.invoice_date, + T3.id AS invoice_ledger_id + 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 + WHERE T1.id = #{id} + </select> + + <select id="invoicedTotal" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto"> + SELECT + IFNULL(SUM(T1.invoice_total),0) AS invoice_total, + T2.sales_ledger_id + FROM + invoice_ledger T1 + LEFT JOIN invoice_registration_product T2 ON T1.invoice_registration_product_id = T2.id + <where> + AND T2.sales_ledger_id IN + <foreach collection="salesLedgerIds" item="item" open="(" close=")" separator=","> + #{item} + </foreach> + </where> + GROUP BY + T2.sales_ledger_id + </select> + + </mapper> \ No newline at end of file -- Gitblit v1.9.3