| | |
| | | <select id="invoiceLedgerPage" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto"> |
| | | SELECT |
| | | T1.id , |
| | | T1.sales_ledger_id , |
| | | T1.sales_contract_no , |
| | | T1.customer_id , |
| | | T5.sales_ledger_id AS sales_ledger_id, |
| | | T3.sales_contract_no AS sales_contract_no, |
| | | T3.customer_id AS customer_id, |
| | | T1.invoice_no , |
| | | T1.invoice_amount , |
| | | T1.tax_rate , |
| | | T1.invoice_total AS invoice_amount, |
| | | T5.tax_rate AS tax_rate, |
| | | T1.invoice_person , |
| | | T1.invoice_date , |
| | | T1.create_time , |
| | |
| | | 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 |
| | | <!-- 2026-10-12 修复:invoice_ledger 表里没有 sales_ledger_id / sales_contract_no / customer_id / |
| | | invoice_amount / tax_rate 这 5 列(它们在 invoice_registration_product 上), |
| | | 原来的 T1.xxx 必然抛 ER_BAD_FIELD_ERROR。改为按真实结构关联。 --> |
| | | LEFT JOIN invoice_registration_product T5 ON T5.id = T1.invoice_registration_product_id |
| | | LEFT JOIN sales_ledger T3 ON T3.id = T5.sales_ledger_id |
| | | LEFT JOIN customer T2 ON T2.id = T3.customer_id |
| | | LEFT JOIN ( |
| | | SELECT |
| | | invoice_ledger_id, |
| | |
| | | <select id="invoiceLedgerList" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto"> |
| | | SELECT |
| | | T1.id , |
| | | T1.sales_ledger_id , |
| | | T1.sales_contract_no , |
| | | T1.customer_id , |
| | | T5.sales_ledger_id AS sales_ledger_id, |
| | | T3.sales_contract_no AS sales_contract_no, |
| | | T3.customer_id AS customer_id, |
| | | T1.invoice_no , |
| | | T1.invoice_amount , |
| | | T1.tax_rate , |
| | | T1.invoice_total AS invoice_amount, |
| | | T5.tax_rate AS tax_rate, |
| | | T1.invoice_person , |
| | | T1.invoice_date , |
| | | T1.create_time , |
| | |
| | | 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 |
| | | <!-- 2026-10-12 修复:同 invoiceLedgerPage,改为按真实表结构关联 --> |
| | | LEFT JOIN invoice_registration_product T5 ON T5.id = T1.invoice_registration_product_id |
| | | LEFT JOIN sales_ledger T3 ON T3.id = T5.sales_ledger_id |
| | | LEFT JOIN customer T2 ON T2.id = T3.customer_id |
| | | LEFT JOIN ( |
| | | SELECT |
| | | invoice_ledger_id, |
| | |
| | | <select id="invoiceLedgerInfo" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto"> |
| | | SELECT |
| | | T1.id , |
| | | T1.sales_ledger_id , |
| | | T1.sales_contract_no , |
| | | T1.customer_id , |
| | | T5.sales_ledger_id AS sales_ledger_id, |
| | | T3.sales_contract_no AS sales_contract_no, |
| | | T3.customer_id AS customer_id, |
| | | T1.invoice_no , |
| | | T1.invoice_amount , |
| | | T1.tax_rate , |
| | | T1.invoice_total AS invoice_amount, |
| | | T5.tax_rate AS tax_rate, |
| | | T1.invoice_person , |
| | | T1.invoice_date , |
| | | T1.create_time , |
| | |
| | | T1.tenant_id , |
| | | T2.customer_name |
| | | FROM invoice_ledger T1 |
| | | LEFT JOIN customer T2 ON T1.customer_id = T2.id |
| | | <!-- 2026-10-12 修复:同 invoiceLedgerPage,改为按真实表结构关联 --> |
| | | LEFT JOIN invoice_registration_product T5 ON T5.id = T1.invoice_registration_product_id |
| | | LEFT JOIN sales_ledger T3 ON T3.id = T5.sales_ledger_id |
| | | LEFT JOIN customer T2 ON T2.id = T3.customer_id |
| | | WHERE T1.id = #{id} |
| | | </select> |
| | | |
| | |
| | | SELECT |
| | | T1.customer_id as id, |
| | | T1.customer_name, |
| | | SUM(contract_amount) AS invoice_total, |
| | | IFNULL( SUM(T2.receipt_payment_amount) , 0 ) AS receipt_payment_amount, |
| | | IFNULL((IFNULL(SUM(contract_amount),0) - IFNULL(SUM(T2.receipt_payment_amount),0)),0) AS unReceipt_payment_amount |
| | | IFNULL(SUM(T1.contract_amount), 0) AS invoice_total, |
| | | IFNULL(SUM(T2.paid), 0) AS receipt_payment_amount, |
| | | IFNULL(SUM(T1.contract_amount), 0) - IFNULL(SUM(T2.paid), 0) AS unReceipt_payment_amount |
| | | FROM sales_ledger T1 |
| | | LEFT JOIN receipt_payment T2 ON T1.id = T2.sales_ledger_id |
| | | <!-- 2026-10-13 修复:原来直接 LEFT JOIN receipt_payment 再 SUM(contract_amount), |
| | | 一笔台账有几笔回款,合同额就被重复累加几次(客户往来页的「合同金额/应收金额」因此虚高, |
| | | 例如客户 1108 实际合同 15.37 万被算成 78.35 万)。改成先按台账汇总回款再 JOIN。 --> |
| | | LEFT JOIN ( |
| | | SELECT sales_ledger_id, SUM(receipt_payment_amount) AS paid |
| | | FROM receipt_payment WHERE sales_ledger_id IS NOT NULL GROUP BY sales_ledger_id |
| | | ) T2 ON T2.sales_ledger_id = T1.id |
| | | <where> |
| | | <if test="invoiceLedgerDto.searchText != null and invoiceLedgerDto.searchText != '' "> |
| | | T1.customer_name LIKE CONCAT ('%',#{invoiceLedgerDto.searchText},'%') |
| | | </if> |
| | | </where> |
| | | GROUP BY T1.customer_name |
| | | GROUP BY T1.customer_id, T1.customer_name |
| | | </select> |
| | | |
| | | <select id="invoiceLedgerProductInfo" resultType="com.ruoyi.sales.dto.InvoiceRegistrationProductDto"> |