cast(CASE WHEN contract_amount IS null THEN 0 ELSE contract_amount END as decimal(18,2)) ,
(select cast(total_reback_view.sum as decimal(18,2)) from total_reback_view where total_reback_view.contract_unid=tb_contract.contract_unid) as total_reback_amount,
-- <!--(select cast(total_recv_amount_view.total_recv_amount as decimal(18,2)) from total_recv_amount_view where tb_contract.contract_unid=total_recv_amount_view.contract_unid) as total_receive_amount ,-->
(cast(CASE WHEN contract_amount IS NULL THEN 0 ELSE contract_amount END as decimal(18,2))-(select cast(CASE WHEN total_reback_view.sum IS NULL THEN 0 ELSE total_reback_view.sum END as decimal(18,2)) from total_reback_view where total_reback_view.contract_unid=tb_contract.contract_unid)-cast(CASE WHEN deduct_amount IS NULL THEN 0 ELSE deduct_amount end as decimal(18,2))-cast(CASE WHEN stop_amount IS NULL THEN 0 ELSE stop_amount END as decimal(18,2))
-cast(CASE WHEN exemptions_amount IS NULL THEN 0 ELSE exemptions_amount END as decimal(18,2))-cast(CASE WHEN bad_amount IS NULL THEN 0 ELSE bad_amount END as decimal(18,2))) as contract_remain,
(select receive_amount_view.leave_amount_point from receive_amount_view where receive_amount_view.contract_unid=tb_contract.contract_unid) as total_amount_remain
from tb_contract where 1=1
<iftest="contract_unid !=null and contract_unid !=''">
<iftest="overdays_start_point !=null and overdays_end_point == null">
and
<!--逾期天数-->contract_unid in (select over_days_view.contract_unid from over_days_view where over_days <![CDATA[>=]]> #{overdays_start_point})
</if>
<iftest="overdays_start_point !=null and overdays_end_point !=null ">
and
<!--逾期天数-->contract_unid in (select over_days_view.contract_unid from over_days_view where over_days <![CDATA[>=]]> #{overdays_start_point} and over_days <![CDATA[<=]]> #{overdays_end_point})
</if>
<iftest="overdays_start_point ==null and overdays_end_point !=null">
contract_unid in (select over_days_view.contract_unid from over_days_view where over_days <![CDATA[<=]]> #{overdays_end_point})
</if>
<iftest="leave_amount_start_point !=null ">
<!--应收款余额-->and
contract_unid in (select receive_amount_view.contract_unid from receive_amount_view where receive_amount_view.leave_amount_point <![CDATA[>=]]> #{leave_amount_start_point})
</if>
<iftest="leave_amount_end_point !=null ">
and
contract_unid in (select receive_amount_view.contract_unid from receive_amount_view where receive_amount_view.leave_amount_point <![CDATA[<=]]> #{leave_amount_end_point})