gongchunyi
2026-06-23 0997eacb098ca63a7e83d08a0d40140bef72b18b
src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
@@ -435,20 +435,29 @@
    <select id="invoiceLedgerSalesAccount" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto">
        SELECT
        T1.sales_contract_no,
        T1.contract_amount AS invoice_total,
        IFNULL(SUM(T2.receipt_payment_amount), 0) AS receipt_payment_amount,
        IFNULL((T1.contract_amount - IFNULL(SUM(T2.receipt_payment_amount), 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
            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(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>
        GROUP BY T1.id, T1.sales_contract_no, T1.contract_amount, T2.receipt_payment_date
        ORDER BY sl.entry_date ASC, sl.id ASC
    </select>
</mapper>