gongchunyi
21 小时以前 0997eacb098ca63a7e83d08a0d40140bef72b18b
src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
@@ -435,31 +435,29 @@
    <select id="invoiceLedgerSalesAccount" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto">
        SELECT
        T2.id,
        T1.sales_contract_no,
        T1.contract_amount AS invoice_total,
        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 &lt; T2.receipt_payment_date
        OR (T3.receipt_payment_date = T2.receipt_payment_date AND T3.id &lt;= 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
            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>
        ORDER BY T2.receipt_payment_date ASC, T2.id ASC
        ORDER BY sl.entry_date ASC, sl.id ASC
    </select>
</mapper>