<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.openhis.financial.mapper.PaymentReconciliationMapper">

    <select id="getPaymentAccountContract"
            resultType="com.openhis.financial.model.PaymentReconciliationAccountDel">
        SELECT payment.*,
        account.contract_no AS account_contract_no
        FROM fin_payment_reconciliation payment
        LEFT JOIN fin_payment_rec_detail paydel ON payment."id" = paydel.reconciliation_id
        LEFT JOIN adm_account account ON account."id" = paydel.account_id
        WHERE payment.bill_date &gt; #{startTime} :: timestamp
        AND payment.bill_date &lt; #{endTime} :: timestamp
        AND payment.delete_flag = '0'
        AND payment.status_enum IN (#{success}, #{returnAll})
        AND payment.kind_enum = #{clinic}
        AND account.contract_no IS NOT NULL
        <if test="entererId != null">
            AND payment.enterer_id = #{entererId}
        </if>
        <if test="contractNo != null">
            AND account.contract_no = #{contractNo}
        </if>
        GROUP BY payment.ID,
        account.ID
    </select>
</mapper>