chenrui
2025-06-06 3e03f3d957c44ff2e4909b9fb4fff8621d466d10
src/main/resources/mapper/purchase/PaymentRegistrationMapper.xml
@@ -88,4 +88,65 @@
        where pr.id = #{id}
    </select>
    <select id="paymentHistoryList" resultType="com.ruoyi.purchase.dto.PaymentRegistrationDto">
        SELECT
            T1.payment_date,
            T2.supplier_name,
            T1.current_payment_amount,
            T1.payment_method,
            T3.nick_name AS registrant,
            T1.registrationt_date
        FROM
            payment_registration T1
                LEFT JOIN
            supplier_manage T2 ON T1.supplier_id = T2.id
                LEFT JOIN
            sys_user T3 ON T3.user_id = T1.registrant_id
        <where>
            <if test="params.searchText != null and params.searchText != '' ">
                AND T2.supplier_name LIKE CONCAT('%',#{params.searchText},'%')
            </if>
        </where>
        ORDER BY T1.payment_date,T1.create_time DESC
    </select>
    <select id="countPaymentTotalByTicketRegId" resultType="com.ruoyi.purchase.dto.PaymentRegistrationDto">
        SELECT
            IFNULL(SUM(current_payment_amount),0) AS paymentAmountTotal,
            ticket_registration_id
        FROM
            payment_registration
        <where>
            ticket_registration_id IN
            <foreach collection="ticketRegistrationIds" separator="," open="(" close=")" item="item">
                #{item}
            </foreach>
        </where>
        GROUP BY ticket_registration_id
    </select>
    <select id="getPaymentRecordList" resultType="com.ruoyi.purchase.dto.PaymentHistoryRecordVo">
        SELECT * FROM(
             SELECT
                 T1.issue_date AS happenTime,
                 IFNULL(T1.invoice_amount,0) AS invoiceAmount,
                 '1' AS type,
                 0 AS currentPaymentAmount
             FROM
                 ticket_registration T1
                     LEFT JOIN purchase_ledger T2 ON T1.purchase_ledger_id = T2.id
             WHERE T2.supplier_id = #{supplierId}
             UNION
             SELECT
                 payment_date AS happenTime,
                 0 AS invoiceAmount,
                 '0' AS type,
                 current_payment_amount AS currentPaymentAmount
             FROM payment_registration
             WHERE supplier_id = #{supplierId}
        ) T1
        ORDER BY T1.happenTime ASC
    </select>
</mapper>