chenrui
2025-06-06 ab01a0f611c0adb97662bc8f548ca4a911ec8045
src/main/resources/mapper/sales/InvoiceLedgerMapper.xml
@@ -111,15 +111,22 @@
    <select id="invoiceLedgerSalesAccount" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto">
        SELECT
            customer_id,
            T2.customer_name,
            SUM( invoice_amount ) invoiceAmount
            T4.id,T4.customer_name ,
            SUM(invoice_total) AS invoice_total,
            IFNULL( SUM(T5.receipt_payment_amount) , 0 ) AS receipt_payment_amount,
            (SUM(invoice_total)  - SUM(T5.receipt_payment_amount)) AS unReceipt_payment_amount
        FROM
            invoice_ledger T1
                LEFT JOIN customer T2 ON T1.customer_id = T2.id
        GROUP BY
            customer_id,
            T2.customer_name;
                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 != '' ">
                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">
@@ -160,5 +167,22 @@
        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>