liyong
2026-04-24 8ed9be0eaff405580e87715bbd5b018b8b067eab
src/main/resources/mapper/purchase/PaymentRegistrationMapper.xml
@@ -151,20 +151,22 @@
    <select id="paymentHistoryListPage" resultType="com.ruoyi.purchase.dto.PaymentRegistrationDto">
        SELECT
        T1.id,
        T1.payment_date,
        T2.supplier_name,
        T1.current_payment_amount,
        T1.payment_method,
        T3.nick_name AS registrant,
        T1.registrationt_date,
        t4.purchase_contract_number
        t4.purchase_contract_number,
        t5.invoice_amount,
        t5.invoice_number
        FROM
        payment_registration T1
            LEFT JOIN purchase_ledger t4 ON t4.id = T1.purchase_ledger_id
        LEFT JOIN
        supplier_manage T2 ON T1.supplier_id = T2.id
        LEFT JOIN
        sys_user T3 ON T3.user_id = T1.registrant_id
        LEFT JOIN purchase_ledger t4 ON t4.id = T1.purchase_ledger_id
        LEFT JOIN supplier_manage T2 ON T1.supplier_id = T2.id
        LEFT JOIN sys_user T3 ON T3.user_id = T1.registrant_id
        left join ticket_registration t5 on t5.id = T1.ticket_registration_id
        <where>
            <if test="params.searchText != null and params.searchText != '' ">
                AND T2.supplier_name LIKE CONCAT('%',#{params.searchText},'%')
@@ -175,8 +177,53 @@
            <if test="params.paymentDateEnd != null and params.paymentDateEnd !='' ">
                AND T1.payment_date &lt;= date_format(#{params.paymentDateEnd},'%Y-%m-%d')
            </if>
            <if test="params.purchaseContractNumber != null and params.purchaseContractNumber !='' ">
                AND t4.purchase_contract_number LIKE CONCAT('%',#{params.purchaseContractNumber},'%')
            </if>
        </where>
        ORDER BY T1.payment_date,T1.create_time DESC
    </select>
    <select id="supplierNameListPage" resultType="com.ruoyi.purchase.dto.PaymentRegistrationDto">
        SELECT
        T1.supplier_id ,
        T1.supplier_name,
        SUM(T1.contract_amount) AS invoiceAmount,
        IFNULL(SUM(T2.current_payment_amount), 0) AS paymentAmount,
        IFNULL(SUM(T1.contract_amount) - IFNULL(SUM(T2.current_payment_amount), 0), 0) AS payableAmount
        FROM (
        SELECT id,supplier_id, supplier_name, SUM(contract_amount) contract_amount
        FROM purchase_ledger
        GROUP BY supplier_id, supplier_name,id
        ) T1
        LEFT JOIN (
        SELECT purchase_ledger_id, SUM(current_payment_amount) current_payment_amount
        FROM payment_registration
        GROUP BY purchase_ledger_id
        ) T2 ON T1.id = T2.purchase_ledger_id
        <where>
            <if test="req.supplierName != null and req.supplierName != '' ">
                T1.supplier_name LIKE CONCAT ('%',#{req.supplierName},'%')
            </if>
        </where>
        GROUP BY T1.supplier_id, T1.supplier_name
    </select>
</mapper>
    <select id="supplierNameListPageDetails" resultType="com.ruoyi.purchase.dto.PaymentRegistrationDto">
         SELECT
    T1.purchase_contract_number,
    T1.contract_amount AS invoiceAmount,
    IFNULL(SUM(T2.current_payment_amount), 0) AS paymentAmount,
    IFNULL((T1.contract_amount - IFNULL(SUM(T2.current_payment_amount), 0)), 0) AS payableAmount,
    T2.payment_date
    FROM purchase_ledger T1
    INNER JOIN payment_registration T2 ON T1.id = T2.purchase_ledger_id
    <where>
        T1.supplier_id = #{req.supplierId}
        <if test="req.supplierName != null and req.supplierName != '' ">
            AND T1.supplier_name LIKE CONCAT ('%', #{req.supplierName}, '%')
        </if>
    </where>
    GROUP BY T1.id, T1.purchase_contract_number, T1.contract_amount, T2.payment_date
    </select>
</mapper>