| | |
| | | |
| | | <select id="invoiceLedgerSalesAccount" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto"> |
| | | SELECT |
| | | T2.id, |
| | | T1.sales_contract_no, |
| | | T1.contract_amount AS invoice_total, |
| | | sl.id, |
| | | sl.sales_contract_no, |
| | | sl.contract_amount AS invoice_total, |
| | | sl.entry_date AS receipt_payment_date, |
| | | IFNULL(T2.receipt_payment_amount, 0) AS receipt_payment_amount, |
| | | IFNULL(( |
| | | T1.contract_amount - IFNULL(( |
| | | SELECT SUM(T3.receipt_payment_amount) |
| | | FROM receipt_payment T3 |
| | | WHERE T3.sales_ledger_id = T1.id |
| | | AND ( |
| | | T3.receipt_payment_date < T2.receipt_payment_date |
| | | OR (T3.receipt_payment_date = T2.receipt_payment_date AND T3.id <= T2.id) |
| | | ) |
| | | ), 0) |
| | | ), 0) AS unReceipt_payment_amount, |
| | | T2.receipt_payment_date |
| | | FROM sales_ledger T1 |
| | | INNER JOIN receipt_payment T2 ON T1.id = T2.sales_ledger_id |
| | | IFNULL(T2.unReceipt_payment_amount, 0) AS unReceipt_payment_amount |
| | | FROM sales_ledger sl |
| | | LEFT JOIN ( |
| | | SELECT |
| | | sales_ledger_id, |
| | | SUM(IFNULL(shipped_quantity, 0) * IFNULL(tax_inclusive_unit_price, 0)) AS receipt_payment_amount, |
| | | SUM((IFNULL(stocked_quantity, 0) - IFNULL(shipped_quantity, 0)) * IFNULL(tax_inclusive_unit_price, 0)) AS unReceipt_payment_amount |
| | | FROM sales_ledger_product |
| | | WHERE type = 1 |
| | | GROUP BY sales_ledger_id |
| | | ) T2 ON sl.id = T2.sales_ledger_id |
| | | <where> |
| | | T1.customer_id = #{invoiceLedgerDto.customerId} |
| | | sl.customer_id = #{invoiceLedgerDto.customerId} |
| | | <if test="invoiceLedgerDto.searchText != null and invoiceLedgerDto.searchText != '' "> |
| | | AND T1.customer_name LIKE CONCAT ('%', #{invoiceLedgerDto.searchText}, '%') |
| | | AND sl.customer_name LIKE CONCAT ('%', #{invoiceLedgerDto.searchText}, '%') |
| | | </if> |
| | | </where> |
| | | ORDER BY T2.receipt_payment_date ASC, T2.id ASC |
| | | ORDER BY sl.entry_date ASC, sl.id ASC |
| | | </select> |
| | | |
| | | </mapper> |