gongchunyi
2 天以前 0997eacb098ca63a7e83d08a0d40140bef72b18b
src/main/resources/mapper/sales/InvoiceLedgerMapper.xml
@@ -111,27 +111,33 @@
    <select id="invoiceLedgerSalesAccount" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto">
        SELECT
    T1.customer_id AS id,
    T1.customer_name,
    SUM(T1.contract_amount) AS invoice_total,
    IFNULL(SUM(T2.receipt_payment_amount), 0) AS receipt_payment_amount,
    IFNULL(SUM(T1.contract_amount) - IFNULL(SUM(T2.receipt_payment_amount), 0), 0) AS unReceipt_payment_amount
FROM (
    SELECT id,customer_id, customer_name, SUM(contract_amount) contract_amount
    FROM sales_ledger
    GROUP BY customer_id, customer_name
) T1
LEFT JOIN (
    SELECT sales_ledger_id, SUM(receipt_payment_amount) receipt_payment_amount
    FROM receipt_payment
    GROUP BY sales_ledger_id
) T2 ON T1.id  = T2.sales_ledger_id
<where>
    <if test="invoiceLedgerDto.searchText != null and invoiceLedgerDto.searchText != '' ">
        T1.customer_name LIKE CONCAT('%',#{invoiceLedgerDto.searchText},'%')
    </if>
</where>
GROUP BY T1.customer_id, T1.customer_name
        T1.customer_id AS id,
        T1.customer_name,
        T1.invoice_total,
        IFNULL(T2.receipt_payment_amount, 0) AS receipt_payment_amount,
        IFNULL(T2.unReceipt_payment_amount, 0) AS unReceipt_payment_amount
        FROM (
        SELECT
        customer_id,
        customer_name,
        SUM(contract_amount) AS invoice_total
        FROM sales_ledger
        GROUP BY customer_id, customer_name
        ) T1
        LEFT JOIN (
            SELECT
                sl.customer_id,
                SUM(IFNULL(slp.shipped_quantity, 0) * IFNULL(slp.tax_inclusive_unit_price, 0)) AS receipt_payment_amount,
                SUM((IFNULL(slp.stocked_quantity, 0) - IFNULL(slp.shipped_quantity, 0)) * IFNULL(slp.tax_inclusive_unit_price, 0)) AS unReceipt_payment_amount
            FROM sales_ledger sl
            JOIN sales_ledger_product slp ON sl.id = slp.sales_ledger_id AND slp.type = 1
            GROUP BY sl.customer_id
        ) T2 ON T1.customer_id = T2.customer_id
        <where>
            <if test="invoiceLedgerDto.searchText != null and invoiceLedgerDto.searchText != '' ">
                T1.customer_name LIKE CONCAT('%',#{invoiceLedgerDto.searchText},'%')
            </if>
        </where>
    </select>
    <select id="invoiceLedgerProductInfo" resultType="com.ruoyi.sales.dto.InvoiceRegistrationProductDto">