Commit f1115c19 authored by haoyanhui's avatar haoyanhui

非联合贷的还款&逾期sql梳理,删掉没用的注释sql

parent 1f436134
...@@ -332,8 +332,8 @@ ...@@ -332,8 +332,8 @@
<!--3.1百行助贷-非联合贷 实时还款 2019.10.28--> <!--3.1百行助贷-非联合贷 实时还款 2019.10.28-->
<select id="findRealTimeRepayMentInfo" parameterType="cn.quantgroup.report.domain.baihang.BaiHangTimeRecord" <!-- <select id="findRealTimeRepayMentInfo" parameterType="cn.quantgroup.report.domain.baihang.BaiHangTimeRecord"
resultType="cn.quantgroup.report.domain.baihang.RepaymentInfoZhuDai"> resultType="cn.quantgroup.report.domain.baihang.RepaymentInfoZhuDai">-->
<!-- 助贷 --> <!-- 助贷 -->
<!-- <!--
select select
...@@ -437,6 +437,7 @@ ...@@ -437,6 +437,7 @@
if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term); if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term);
--> -->
<!-- 2020.06.02 百行助贷-非联合贷-实时还款,查询原始表,不用bak临时表 --> <!-- 2020.06.02 百行助贷-非联合贷-实时还款,查询原始表,不用bak临时表 -->
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2020.06.17 22:11
select select
a.id reqID a.id reqID
,'A' opCode ,'A' opCode
...@@ -468,19 +469,19 @@ ...@@ -468,19 +469,19 @@
if(c.term_no is null,a.term_no,c.term_no) next_term if(c.term_no is null,a.term_no,c.term_no) next_term
,if(c.deadline is null,a.deadline,c.deadline) next_deadline ,if(c.deadline is null,a.deadline,c.deadline) next_deadline
,b.loan_paid_at ,b.loan_paid_at
-- from xyqb_i_repayment_plan_bak a /* from xyqb_i_repayment_plan_bak a */
-- left join xyqb_i_loan_a_m_history_bak b /* left join xyqb_i_loan_a_m_history_bak b */
from xyqb_i_repayment_plan a from xyqb_i_repayment_plan a
left join xyqb_i_loan_application_manifest_history b left join xyqb_i_loan_application_manifest_history b
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR} on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
-- left join xyqb_i_repayment_plan_bak c on a.loan_application_history_id=c.loan_application_history_id /* left join xyqb_i_repayment_plan_bak c on a.loan_application_history_id=c.loan_application_history_id */
left join xyqb_i_repayment_plan c on a.loan_application_history_id=c.loan_application_history_id left join xyqb_i_repayment_plan c on a.loan_application_history_id=c.loan_application_history_id
and a.term_no=c.term_no-1 and a.term_no=c.term_no-1
where a.repaid_at>= #{startTime,jdbcType=VARCHAR} and a.repaid_at &lt; #{endTime,jdbcType=VARCHAR} and a.repayment_status=3 where a.repaid_at>= #{startTime,jdbcType=VARCHAR} and a.repaid_at &lt; #{endTime,jdbcType=VARCHAR} and a.repayment_status=3
-- funding_corp_id 放开 /* funding_corp_id 放开 */
and b.funding_corp_id in (420,520,580,650,670,810,240,640,700) and b.funding_corp_id in (420,520,580,650,670,810,240,640,700)
and b.contract_term not in (2,3) and b.contract_term not in (2,3)
...@@ -494,14 +495,14 @@ ...@@ -494,14 +495,14 @@
,sum(if(a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR}),if(b.loan_paid_at>='2018-01-01',g.principal,h.principle),0)) dkye ,sum(if(a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR}),if(b.loan_paid_at>='2018-01-01',g.principal,h.principle),0)) dkye
,min(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},a.deadline,null)) min_deadline ,min(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},a.deadline,null)) min_deadline
,max(a.term_no) max_term_no ,max(a.term_no) max_term_no
-- from xyqb_i_repayment_plan_bak a /* from xyqb_i_repayment_plan_bak a */
-- left join xyqb_i_loan_a_m_history_bak b on a.loan_application_history_id=b.loan_application_history_id /* left join xyqb_i_loan_a_m_history_bak b on a.loan_application_history_id=b.loan_application_history_id */
from xyqb_i_repayment_plan a from xyqb_i_repayment_plan a
left join xyqb_i_loan_application_manifest_history b on a.loan_application_history_id=b.loan_application_history_id left join xyqb_i_loan_application_manifest_history b on a.loan_application_history_id=b.loan_application_history_id
left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id
left join xyqb_i_plan_amount_detail h on a.id=h.plan_id left join xyqb_i_plan_amount_detail h on a.id=h.plan_id
-- funding_corp_id 放开 /* funding_corp_id 放开 */
where b.funding_corp_id in (420,520,580,650,670,810,240,640,700) where b.funding_corp_id in (420,520,580,650,670,810,240,640,700)
group by a.loan_application_history_id group by a.loan_application_history_id
...@@ -511,17 +512,17 @@ ...@@ -511,17 +512,17 @@
select a.loan_application_history_id,a.repaid_at,a.deadline,a.term_no select a.loan_application_history_id,a.repaid_at,a.deadline,a.term_no
,max(c.term_no) max_term ,max(c.term_no) max_term
,max(c.deadline) max_deadline ,max(c.deadline) max_deadline
-- from xyqb_i_repayment_plan_bak a /* from xyqb_i_repayment_plan_bak a */
-- left join xyqb_i_loan_a_m_history_bak b /* left join xyqb_i_loan_a_m_history_bak b */
from xyqb_i_repayment_plan a from xyqb_i_repayment_plan a
left join xyqb_i_loan_application_manifest_history b left join xyqb_i_loan_application_manifest_history b
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR} on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
-- left join xyqb_i_repayment_plan_bak c on a.loan_application_history_id=c.loan_application_history_id /* left join xyqb_i_repayment_plan_bak c on a.loan_application_history_id=c.loan_application_history_id */
left join xyqb_i_repayment_plan c on a.loan_application_history_id=c.loan_application_history_id left join xyqb_i_repayment_plan c on a.loan_application_history_id=c.loan_application_history_id
where DATEDIFF(a.repaid_at,c.deadline)>=-1 where DATEDIFF(a.repaid_at,c.deadline)>=-1
-- funding_corp_id 放开 /* funding_corp_id 放开 */
and b.funding_corp_id in (420,520,580,650,670,810,240,640,700) and b.funding_corp_id in (420,520,580,650,670,810,240,640,700)
group by a.loan_application_history_id,a.term_no group by a.loan_application_history_id,a.term_no
...@@ -531,14 +532,14 @@ ...@@ -531,14 +532,14 @@
select a.loan_application_history_id select a.loan_application_history_id
,a.term_no ,a.term_no
,sum(if(d.term_no>a.term_no,d.principal,0)) dkye ,sum(if(d.term_no>a.term_no,d.principal,0)) dkye
-- from xyqb_i_repayment_plan_bak a /* from xyqb_i_repayment_plan_bak a */
-- left join xyqb_i_loan_a_m_history_bak b /* left join xyqb_i_loan_a_m_history_bak b */
from xyqb_i_repayment_plan a from xyqb_i_repayment_plan a
left join xyqb_i_loan_application_manifest_history b left join xyqb_i_loan_application_manifest_history b
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR} on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
left join xyqb_i_repayment_record d on a.loan_application_history_id=d.loan_application_history_id left join xyqb_i_repayment_record d on a.loan_application_history_id=d.loan_application_history_id
-- funding_corp_id 放开 /* funding_corp_id 放开 */
where b.funding_corp_id in (420,520,580,650,670,810,240,640,700) where b.funding_corp_id in (420,520,580,650,670,810,240,640,700)
group by a.loan_application_history_id,a.term_no group by a.loan_application_history_id,a.term_no
...@@ -548,31 +549,33 @@ ...@@ -548,31 +549,33 @@
select a.loan_application_history_id select a.loan_application_history_id
,a.term_no ,a.term_no
,sum(if(e.term_no>a.term_no,h.principle,0)) dkye ,sum(if(e.term_no>a.term_no,h.principle,0)) dkye
-- from xyqb_i_repayment_plan_bak a /* from xyqb_i_repayment_plan_bak a */
-- left join xyqb_i_loan_a_m_history_bak b /* left join xyqb_i_loan_a_m_history_bak b */
from xyqb_i_repayment_plan a from xyqb_i_repayment_plan a
left join xyqb_i_loan_application_manifest_history b left join xyqb_i_loan_application_manifest_history b
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR} on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
-- left join xyqb_i_repayment_plan_bak e on a.loan_application_history_id=e.loan_application_history_id /* left join xyqb_i_repayment_plan_bak e on a.loan_application_history_id=e.loan_application_history_id */
left join xyqb_i_repayment_plan e on a.loan_application_history_id=e.loan_application_history_id left join xyqb_i_repayment_plan e on a.loan_application_history_id=e.loan_application_history_id
left join xyqb_i_plan_amount_detail h on e.id=h.plan_id left join xyqb_i_plan_amount_detail h on e.id=h.plan_id
-- funding_corp_id 放开 /* funding_corp_id 放开 */
where b.funding_corp_id in (420,520,580,650,670,810,240,640,700) where b.funding_corp_id in (420,520,580,650,670,810,240,640,700)
group by a.loan_application_history_id,a.term_no group by a.loan_application_history_id,a.term_no
) i2 ) i2
on a.loan_application_history_id=i2.loan_application_history_id and a.term_no=i2.term_no on a.loan_application_history_id=i2.loan_application_history_id and a.term_no=i2.term_no
-- left join xyqb_i_repayment_plan_bak j on a.loan_application_history_id=j.loan_application_history_id /* left join xyqb_i_repayment_plan_bak j on a.loan_application_history_id=j.loan_application_history_id */
left join xyqb_i_repayment_plan j on a.loan_application_history_id=j.loan_application_history_id left join xyqb_i_repayment_plan j on a.loan_application_history_id=j.loan_application_history_id
and if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term)=j.term_no and if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term)=j.term_no
group by if(d.order_no is null,a.loan_application_history_id,d.order_no), group by if(d.order_no is null,a.loan_application_history_id,d.order_no),
if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term); if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term);
-->
<!-- 2020.06.03 查询bak表,并且使用v2库 --> <!--p2p 2019.12.13-->
<!-- select <!--
select
a.id reqID a.id reqID
,'A' opCode ,'A' opCode
,DATE_FORMAT(now(),'%Y-%m-%dT%H:%i:%S') uploadTs ,DATE_FORMAT(now(),'%Y-%m-%dT%H:%i:%S') uploadTs
...@@ -587,8 +590,8 @@ ...@@ -587,8 +590,8 @@
,f.yqze+sum(a.required_repayment) targetRepayment ,f.yqze+sum(a.required_repayment) targetRepayment
,sum(a.required_repayment) realRepayment ,sum(a.required_repayment) realRepayment
,case when f.yqze=0 then '' ,case when f.yqze=0 then ''
else concat('D',DATEDIFF( #{endTime,jdbcType=VARCHAR},f.min_deadline)+1) end overdueStatus else concat('D',DATEDIFF(#{endTime,jdbcType=VARCHAR},f.min_deadline)+1) end overdueStatus
,DATE_FORMAT( #{endTime,jdbcType=VARCHAR},'%Y-%m-%dT%H:%i:%S') statusConfirmAt ,DATE_FORMAT(#{endTime,jdbcType=VARCHAR},'%Y-%m-%dT%H:%i:%S') statusConfirmAt
,f.yqze overdueAmount ,f.yqze overdueAmount
,min(if(a.loan_paid_at>='2018-01-01',i.dkye,i2.dkye)) remainingAmount ,min(if(a.loan_paid_at>='2018-01-01',i.dkye,i2.dkye)) remainingAmount
,case when f.yqze>0 then '2' ,case when f.yqze>0 then '2'
...@@ -598,85 +601,87 @@ ...@@ -598,85 +601,87 @@
end as loanStatus end as loanStatus
,if(f.yqze>0,'overdue','normal') termStatus ,if(f.yqze>0,'overdue','normal') termStatus
from ( from (
select select /* a.*, */
a.id,a.user_id,a.loan_application_history_id,a.term_no,a.deadline,a.required_repayment,a.repayment_status,a.repaid_at,a.created_at, a.id,a.user_id,a.loan_application_history_id,a.term_no,a.deadline,a.required_repayment,a.repayment_status,a.repaid_at,a.created_at,
if(c.term_no is null,a.term_no,c.term_no) next_term if(c.term_no is null,a.term_no,c.term_no) next_term
,if(c.deadline is null,a.deadline,c.deadline) next_deadline ,if(c.deadline is null,a.deadline,c.deadline) next_deadline
,b.loan_paid_at ,b.loan_paid_at
from rc_syn_to_baihang_report.xyqb_i_repayment_plan_bak a from xyqb_i_repayment_plan_p2p_bak a
left join rc_syn_to_baihang_report.xyqb_i_loan_a_m_history_bak b left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR} on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
left join rc_syn_to_baihang_report.xyqb_i_repayment_plan_bak c on a.loan_application_history_id=c.loan_application_history_id left join xyqb_i_repayment_plan_p2p_bak c on a.loan_application_history_id=c.loan_application_history_id
and a.term_no=c.term_no-1 and a.term_no=c.term_no-1
where a.repaid_at>= #{startTime,jdbcType=VARCHAR} and a.repaid_at &lt; #{endTime,jdbcType=VARCHAR} and a.repayment_status=3 left join xyqb_i_loan_withdraw_record k on a.loan_application_history_id=k.loan_id
/*and b.funding_corp_id in (420,520,580,650,670,810,240,640,700)*/ left join xyqb_i_repayment_plan_p2p_bak g on b.loan_application_history_id=g.loan_application_history_id
and b.contract_term not in (2,3)
and g.term_no=b.contract_term
where a.repaid_at>=#{startTime,jdbcType=VARCHAR} and a.repaid_at &lt; #{endTime,jdbcType=VARCHAR} and a.repayment_status=3
and b.funding_corp_id in (210,540)
and if(b.loan_paid_at>='2018-01-01',b.contract_term >3,b.contract_term >=3)
and (k.id is null or k.status=3)
and g.repayment_status=3 and g.repaid_at &lt; '2019-10-25'
and b.loan_paid_at>='2016-11-01'
) a ) a
left join xyqb_user_i_user_detail b on a.user_id=b.user_id left join xyqb_user_i_user_detail b on a.user_id=b.user_id
left join xyqb_i_loan_account_ext c on a.loan_application_history_id=c.loan_id left join xyqb_i_loan_account_ext c on a.loan_application_history_id=c.loan_id
left join xyqb_i_apply_quota_record d on c.order_no=d.order_no left join xyqb_i_apply_quota_record d on c.order_no=d.order_no
left join ( left join (
select a.loan_application_history_id select a.loan_application_history_id
,sum(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},a.required_repayment,0)) yqze ,sum(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},a.required_repayment,0)) yqze
,sum(if(a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR}),if(b.loan_paid_at>='2018-01-01',g.principal,h.principle),0)) dkye ,sum(if(a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR}),if(b.loan_paid_at>='2018-01-01',g.principal,h.principle),0)) dkye
,min(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},a.deadline,null)) min_deadline ,min(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},a.deadline,null)) min_deadline
,max(a.term_no) max_term_no ,max(a.term_no) max_term_no
from rc_syn_to_baihang_report.xyqb_i_repayment_plan_bak a from xyqb_i_repayment_plan_p2p_bak a
left join rc_syn_to_baihang_report.xyqb_i_loan_a_m_history_bak b on a.loan_application_history_id=b.loan_application_history_id left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/
on a.loan_application_history_id=b.loan_application_history_id
left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id
left join xyqb_i_plan_amount_detail h on a.id=h.plan_id left join xyqb_i_plan_amount_detail h on a.id=h.plan_id
/*where b.funding_corp_id in (420,520,580,650,670,810,240,640,700)*/ where b.funding_corp_id in (210,540)
group by a.loan_application_history_id group by a.loan_application_history_id) f on a.loan_application_history_id=f.loan_application_history_id
) f on a.loan_application_history_id=f.loan_application_history_id
left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id
left join ( left join (
select a.loan_application_history_id,a.repaid_at,a.deadline,a.term_no select a.loan_application_history_id,a.repaid_at,a.deadline,a.term_no
,max(c.term_no) max_term ,max(c.term_no) max_term
,max(c.deadline) max_deadline ,max(c.deadline) max_deadline
from rc_syn_to_baihang_report.xyqb_i_repayment_plan_bak a from xyqb_i_repayment_plan_p2p_bak a
left join rc_syn_to_baihang_report.xyqb_i_loan_a_m_history_bak b left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR} on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
left join rc_syn_to_baihang_report.xyqb_i_repayment_plan_bak c on a.loan_application_history_id=c.loan_application_history_id left join xyqb_i_repayment_plan_p2p_bak c on a.loan_application_history_id=c.loan_application_history_id
where DATEDIFF(a.repaid_at,c.deadline)>=-1 where DATEDIFF(a.repaid_at,c.deadline)>=-1
/*and b.funding_corp_id in (420,520,580,650,670,810,240,640,700)*/ and b.funding_corp_id in (210,540)
group by a.loan_application_history_id,a.term_no group by a.loan_application_history_id,a.term_no) h
) h
on a.loan_application_history_id=h.loan_application_history_id and a.term_no=h.term_no on a.loan_application_history_id=h.loan_application_history_id and a.term_no=h.term_no
left join ( left join (
select a.loan_application_history_id select a.loan_application_history_id
,a.term_no ,a.term_no
,sum(if(d.term_no>a.term_no,d.principal,0)) dkye ,sum(if(d.term_no>a.term_no,d.principal,0)) dkye
from rc_syn_to_baihang_report.xyqb_i_repayment_plan_bak a from xyqb_i_repayment_plan_p2p_bak a
left join rc_syn_to_baihang_report.xyqb_i_loan_a_m_history_bak b left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR} on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
left join xyqb_i_repayment_record d on a.loan_application_history_id=d.loan_application_history_id left join xyqb_i_repayment_record d on a.loan_application_history_id=d.loan_application_history_id
/*where b.funding_corp_id in (420,520,580,650,670,810,240,640,700)*/ where b.funding_corp_id in (210,540)
group by a.loan_application_history_id,a.term_no group by a.loan_application_history_id,a.term_no) i
) i
on a.loan_application_history_id=i.loan_application_history_id and a.term_no=i.term_no on a.loan_application_history_id=i.loan_application_history_id and a.term_no=i.term_no
left join ( left join (
select a.loan_application_history_id select a.loan_application_history_id
,a.term_no ,a.term_no
,sum(if(e.term_no>a.term_no,h.principle,0)) dkye ,sum(if(e.term_no>a.term_no,h.principle,0)) dkye
from rc_syn_to_baihang_report.xyqb_i_repayment_plan_bak a from xyqb_i_repayment_plan_p2p_bak a
left join rc_syn_to_baihang_report.xyqb_i_loan_a_m_history_bak b left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR} on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
left join rc_syn_to_baihang_report.xyqb_i_repayment_plan_bak e on a.loan_application_history_id=e.loan_application_history_id left join xyqb_i_repayment_plan_p2p_bak e on a.loan_application_history_id=e.loan_application_history_id
left join xyqb_i_plan_amount_detail h on e.id=h.plan_id left join xyqb_i_plan_amount_detail h on e.id=h.plan_id
/*where b.funding_corp_id in (420,520,580,650,670,810,240,640,700)*/ where b.funding_corp_id in (210,540)
group by a.loan_application_history_id,a.term_no group by a.loan_application_history_id,a.term_no) i2
) i2
on a.loan_application_history_id=i2.loan_application_history_id and a.term_no=i2.term_no on a.loan_application_history_id=i2.loan_application_history_id and a.term_no=i2.term_no
left join rc_syn_to_baihang_report.xyqb_i_repayment_plan_bak j on a.loan_application_history_id=j.loan_application_history_id left join xyqb_i_repayment_plan_p2p_bak j on a.loan_application_history_id=j.loan_application_history_id
and if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term)=j.term_no and if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term)=j.term_no
group by if(d.order_no is null,a.loan_application_history_id,d.order_no), group by if(d.order_no is null,a.loan_application_history_id,d.order_no),
if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term); if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term);
--> -->
<!-- 2020.0617 22:31 >>>> 2020.06.02 百行助贷-非联合贷-实时还款,查询原始表,不用bak临时表 -->
<select id="findRealTimeRepayMentInfo" parameterType="cn.quantgroup.report.domain.baihang.BaiHangTimeRecord" resultType="cn.quantgroup.report.domain.baihang.RepaymentInfoZhuDai">
<!--p2p 2019.12.13-->
<!--
select select
a.id reqID a.id reqID
,'A' opCode ,'A' opCode
...@@ -692,8 +697,8 @@ ...@@ -692,8 +697,8 @@
,f.yqze+sum(a.required_repayment) targetRepayment ,f.yqze+sum(a.required_repayment) targetRepayment
,sum(a.required_repayment) realRepayment ,sum(a.required_repayment) realRepayment
,case when f.yqze=0 then '' ,case when f.yqze=0 then ''
else concat('D',DATEDIFF(#{endTime,jdbcType=VARCHAR},f.min_deadline)+1) end overdueStatus else concat('D',DATEDIFF( #{endTime,jdbcType=VARCHAR},f.min_deadline)+1) end overdueStatus
,DATE_FORMAT(#{endTime,jdbcType=VARCHAR},'%Y-%m-%dT%H:%i:%S') statusConfirmAt ,DATE_FORMAT( #{endTime,jdbcType=VARCHAR},'%Y-%m-%dT%H:%i:%S') statusConfirmAt
,f.yqze overdueAmount ,f.yqze overdueAmount
,min(if(a.loan_paid_at>='2018-01-01',i.dkye,i2.dkye)) remainingAmount ,min(if(a.loan_paid_at>='2018-01-01',i.dkye,i2.dkye)) remainingAmount
,case when f.yqze>0 then '2' ,case when f.yqze>0 then '2'
...@@ -703,85 +708,79 @@ ...@@ -703,85 +708,79 @@
end as loanStatus end as loanStatus
,if(f.yqze>0,'overdue','normal') termStatus ,if(f.yqze>0,'overdue','normal') termStatus
from ( from (
select /* a.*, */ select
a.id,a.user_id,a.loan_application_history_id,a.term_no,a.deadline,a.required_repayment,a.repayment_status,a.repaid_at,a.created_at, a.id,a.user_id,a.loan_application_history_id,a.term_no,a.deadline,a.required_repayment,a.repayment_status,a.repaid_at,a.created_at,
if(c.term_no is null,a.term_no,c.term_no) next_term if(c.term_no is null,a.term_no,c.term_no) next_term
,if(c.deadline is null,a.deadline,c.deadline) next_deadline ,if(c.deadline is null,a.deadline,c.deadline) next_deadline
,b.loan_paid_at ,b.loan_paid_at
from xyqb_i_repayment_plan_p2p_bak a from xyqb_i_repayment_plan a
left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/ left join xyqb_i_loan_application_manifest_history b
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR} on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
left join xyqb_i_repayment_plan_p2p_bak c on a.loan_application_history_id=c.loan_application_history_id left join xyqb_i_repayment_plan c on a.loan_application_history_id=c.loan_application_history_id
and a.term_no=c.term_no-1 and a.term_no=c.term_no-1
left join xyqb_i_loan_withdraw_record k on a.loan_application_history_id=k.loan_id where a.repaid_at>= #{startTime,jdbcType=VARCHAR} and a.repaid_at &lt; #{endTime,jdbcType=VARCHAR} and a.repayment_status=3
left join xyqb_i_repayment_plan_p2p_bak g on b.loan_application_history_id=g.loan_application_history_id and b.funding_corp_id in (420,520,580,650,670,810,240,640,700)
and b.contract_term not in (2,3)
and g.term_no=b.contract_term
where a.repaid_at>=#{startTime,jdbcType=VARCHAR} and a.repaid_at &lt; #{endTime,jdbcType=VARCHAR} and a.repayment_status=3
and b.funding_corp_id in (210,540)
and if(b.loan_paid_at>='2018-01-01',b.contract_term >3,b.contract_term >=3)
and (k.id is null or k.status=3)
and g.repayment_status=3 and g.repaid_at &lt; '2019-10-25'
and b.loan_paid_at>='2016-11-01'
) a ) a
left join xyqb_user_i_user_detail b on a.user_id=b.user_id left join xyqb_user_i_user_detail b on a.user_id=b.user_id
left join xyqb_i_loan_account_ext c on a.loan_application_history_id=c.loan_id left join xyqb_i_loan_account_ext c on a.loan_application_history_id=c.loan_id
left join xyqb_i_apply_quota_record d on c.order_no=d.order_no left join xyqb_i_apply_quota_record d on c.order_no=d.order_no
left join ( left join (
select a.loan_application_history_id select a.loan_application_history_id
,sum(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},a.required_repayment,0)) yqze ,sum(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},a.required_repayment,0)) yqze
,sum(if(a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR}),if(b.loan_paid_at>='2018-01-01',g.principal,h.principle),0)) dkye ,sum(if(a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR}),if(b.loan_paid_at>='2018-01-01',g.principal,h.principle),0)) dkye
,min(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},a.deadline,null)) min_deadline ,min(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},a.deadline,null)) min_deadline
,max(a.term_no) max_term_no ,max(a.term_no) max_term_no
from xyqb_i_repayment_plan_p2p_bak a from xyqb_i_repayment_plan a
left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/ left join xyqb_i_loan_application_manifest_history b on a.loan_application_history_id=b.loan_application_history_id
on a.loan_application_history_id=b.loan_application_history_id
left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id
left join xyqb_i_plan_amount_detail h on a.id=h.plan_id left join xyqb_i_plan_amount_detail h on a.id=h.plan_id
where b.funding_corp_id in (210,540) where b.funding_corp_id in (420,520,580,650,670,810,240,640,700)
group by a.loan_application_history_id) f on a.loan_application_history_id=f.loan_application_history_id group by a.loan_application_history_id
) f on a.loan_application_history_id=f.loan_application_history_id
left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id
left join ( left join (
select a.loan_application_history_id,a.repaid_at,a.deadline,a.term_no select a.loan_application_history_id,a.repaid_at,a.deadline,a.term_no
,max(c.term_no) max_term ,max(c.term_no) max_term
,max(c.deadline) max_deadline ,max(c.deadline) max_deadline
from xyqb_i_repayment_plan_p2p_bak a from xyqb_i_repayment_plan a
left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/ left join xyqb_i_loan_application_manifest_history b
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR} on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
left join xyqb_i_repayment_plan_p2p_bak c on a.loan_application_history_id=c.loan_application_history_id left join xyqb_i_repayment_plan c on a.loan_application_history_id=c.loan_application_history_id
where DATEDIFF(a.repaid_at,c.deadline)>=-1 where DATEDIFF(a.repaid_at,c.deadline)>=-1
and b.funding_corp_id in (210,540) and b.funding_corp_id in (420,520,580,650,670,810,240,640,700)
group by a.loan_application_history_id,a.term_no) h group by a.loan_application_history_id,a.term_no
) h
on a.loan_application_history_id=h.loan_application_history_id and a.term_no=h.term_no on a.loan_application_history_id=h.loan_application_history_id and a.term_no=h.term_no
left join ( left join (
select a.loan_application_history_id select a.loan_application_history_id
,a.term_no ,a.term_no
,sum(if(d.term_no>a.term_no,d.principal,0)) dkye ,sum(if(d.term_no>a.term_no,d.principal,0)) dkye
from xyqb_i_repayment_plan_p2p_bak a from xyqb_i_repayment_plan a
left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/ left join xyqb_i_loan_application_manifest_history b
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR} on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
left join xyqb_i_repayment_record d on a.loan_application_history_id=d.loan_application_history_id left join xyqb_i_repayment_record d on a.loan_application_history_id=d.loan_application_history_id
where b.funding_corp_id in (210,540) where b.funding_corp_id in (420,520,580,650,670,810,240,640,700)
group by a.loan_application_history_id,a.term_no) i group by a.loan_application_history_id,a.term_no
) i
on a.loan_application_history_id=i.loan_application_history_id and a.term_no=i.term_no on a.loan_application_history_id=i.loan_application_history_id and a.term_no=i.term_no
left join ( left join (
select a.loan_application_history_id select a.loan_application_history_id
,a.term_no ,a.term_no
,sum(if(e.term_no>a.term_no,h.principle,0)) dkye ,sum(if(e.term_no>a.term_no,h.principle,0)) dkye
from xyqb_i_repayment_plan_p2p_bak a from xyqb_i_repayment_plan a
left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/ left join xyqb_i_loan_application_manifest_history b
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR} on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
left join xyqb_i_repayment_plan_p2p_bak e on a.loan_application_history_id=e.loan_application_history_id left join xyqb_i_repayment_plan e on a.loan_application_history_id=e.loan_application_history_id
left join xyqb_i_plan_amount_detail h on e.id=h.plan_id left join xyqb_i_plan_amount_detail h on e.id=h.plan_id
where b.funding_corp_id in (210,540) where b.funding_corp_id in (420,520,580,650,670,810,240,640,700)
group by a.loan_application_history_id,a.term_no) i2 group by a.loan_application_history_id,a.term_no
) i2
on a.loan_application_history_id=i2.loan_application_history_id and a.term_no=i2.term_no on a.loan_application_history_id=i2.loan_application_history_id and a.term_no=i2.term_no
left join xyqb_i_repayment_plan_p2p_bak j on a.loan_application_history_id=j.loan_application_history_id left join xyqb_i_repayment_plan j on a.loan_application_history_id=j.loan_application_history_id
and if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term)=j.term_no and if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term)=j.term_no
group by if(d.order_no is null,a.loan_application_history_id,d.order_no), group by if(d.order_no is null,a.loan_application_history_id,d.order_no),
if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term); if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term);
-->
</select> </select>
<!--3.2百行助贷-联合贷 实时还款 2019.10.28--> <!--3.2百行助贷-联合贷 实时还款 2019.10.28-->
...@@ -874,8 +873,8 @@ ...@@ -874,8 +873,8 @@
<!--4.1百行助贷-非联合贷 实时逾期还款 2019.10.28--> <!--4.1百行助贷-非联合贷 实时逾期还款 2019.10.28-->
<select id="findRealTimeRepayMentOverdue" parameterType="cn.quantgroup.report.domain.baihang.BaiHangTimeRecord" <!-- <select id="findRealTimeRepayMentOverdue" parameterType="cn.quantgroup.report.domain.baihang.BaiHangTimeRecord"
resultType="cn.quantgroup.report.domain.baihang.RepaymentInfoZhuDai"> resultType="cn.quantgroup.report.domain.baihang.RepaymentInfoZhuDai">-->
<!-- 助贷 --> <!-- 助贷 -->
<!-- <!--
select select
...@@ -934,6 +933,7 @@ ...@@ -934,6 +933,7 @@
--> -->
<!-- 2020.06.02 4.1助贷-非联合贷实时逾期,查询原始表,不用bak临时表 --> <!-- 2020.06.02 4.1助贷-非联合贷实时逾期,查询原始表,不用bak临时表 -->
<!--
select select
a.id reqID a.id reqID
,'A' opCode ,'A' opCode
...@@ -961,8 +961,8 @@ ...@@ -961,8 +961,8 @@
from ( from (
select select
a.id,a.user_id,a.loan_application_history_id,a.term_no,a.deadline,a.required_repayment,a.repayment_status,a.repaid_at,a.repayment_received_at a.id,a.user_id,a.loan_application_history_id,a.term_no,a.deadline,a.required_repayment,a.repayment_status,a.repaid_at,a.repayment_received_at
-- from xyqb_i_repayment_plan_bak a /* from xyqb_i_repayment_plan_bak a */
-- left join xyqb_i_loan_a_m_history_bak b /**xyqb_i_loan_application_manifest_history*/ /* left join xyqb_i_loan_a_m_history_bak b */ /**xyqb_i_loan_application_manifest_history*/
from xyqb_i_repayment_plan a from xyqb_i_repayment_plan a
left join xyqb_i_loan_application_manifest_history b left join xyqb_i_loan_application_manifest_history b
...@@ -970,7 +970,7 @@ ...@@ -970,7 +970,7 @@
where (a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR})) and where (a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR})) and
if(b.contract_term>a.term_no,DATEDIFF( #{endTime,jdbcType=VARCHAR},a.deadline)=0,DATEDIFF( #{endTime,jdbcType=VARCHAR},a.deadline)>=0) if(b.contract_term>a.term_no,DATEDIFF( #{endTime,jdbcType=VARCHAR},a.deadline)=0,DATEDIFF( #{endTime,jdbcType=VARCHAR},a.deadline)>=0)
and floor(DATEDIFF( #{endTime,jdbcType=VARCHAR},a.deadline)/30)=DATEDIFF( #{endTime,jdbcType=VARCHAR},a.deadline)/30 and floor(DATEDIFF( #{endTime,jdbcType=VARCHAR},a.deadline)/30)=DATEDIFF( #{endTime,jdbcType=VARCHAR},a.deadline)/30
-- funding_corp_id 放开 /* funding_corp_id 放开 */
and b.funding_corp_id in (420,520,580,650,670,810,240,640,700) and b.funding_corp_id in (420,520,580,650,670,810,240,640,700)
and b.transaction_status in (2,5) and b.transaction_status in (2,5)
...@@ -984,23 +984,24 @@ ...@@ -984,23 +984,24 @@
,sum(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},if(b.loan_paid_at>='2018-01-01',g.principal+g.interest+g.service_fee,h.principle+h.interest+h.service_fee_per_term),0)) yqze ,sum(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},if(b.loan_paid_at>='2018-01-01',g.principal+g.interest+g.service_fee,h.principle+h.interest+h.service_fee_per_term),0)) yqze
,sum(if(a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR}),if(b.loan_paid_at>='2018-01-01',g.principal,h.principle),0)) dkye ,sum(if(a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR}),if(b.loan_paid_at>='2018-01-01',g.principal,h.principle),0)) dkye
,min(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},a.deadline,null)) min_deadline ,min(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},a.deadline,null)) min_deadline
-- from xyqb_i_repayment_plan_bak a /* from xyqb_i_repayment_plan_bak a */
-- left join xyqb_i_loan_a_m_history_bak b on a.loan_application_history_id=b.loan_application_history_id /* left join xyqb_i_loan_a_m_history_bak b on a.loan_application_history_id=b.loan_application_history_id */
from xyqb_i_repayment_plan a from xyqb_i_repayment_plan a
left join xyqb_i_loan_application_manifest_history b on a.loan_application_history_id=b.loan_application_history_id left join xyqb_i_loan_application_manifest_history b on a.loan_application_history_id=b.loan_application_history_id
left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id
left join xyqb_i_plan_amount_detail h on a.id=h.plan_id left join xyqb_i_plan_amount_detail h on a.id=h.plan_id
-- funding_corp_id 放开 /* funding_corp_id 放开 */
where b.funding_corp_id in (420,520,580,650,670,810,240,640,700) where b.funding_corp_id in (420,520,580,650,670,810,240,640,700)
group by a.loan_application_history_id group by a.loan_application_history_id
) f on a.loan_application_history_id=f.loan_application_history_id ) f on a.loan_application_history_id=f.loan_application_history_id
left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id; left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id;
-->
<!-- p2p 2019.12.13 -->
<!-- 2020.06.03 查询bak表,并且使用v2库 --> <!--
<!-- select select
a.id reqID a.id reqID
,'A' opCode ,'A' opCode
,DATE_FORMAT(now(),'%Y-%m-%dT%H:%i:%S') uploadTs ,DATE_FORMAT(now(),'%Y-%m-%dT%H:%i:%S') uploadTs
...@@ -1015,8 +1016,8 @@ ...@@ -1015,8 +1016,8 @@
,f.yqze targetRepayment ,f.yqze targetRepayment
,0 realRepayment ,0 realRepayment
,case when f.yqze=0 then '' ,case when f.yqze=0 then ''
else concat('D',DATEDIFF( #{endTime,jdbcType=VARCHAR},f.min_deadline)+1) end overdueStatus else concat('D',DATEDIFF(#{endTime,jdbcType=VARCHAR},f.min_deadline)+1) end overdueStatus
,DATE_FORMAT( #{endTime,jdbcType=VARCHAR},'%Y-%m-%dT%H:%i:%S') statusConfirmAt ,DATE_FORMAT(#{endTime,jdbcType=VARCHAR},'%Y-%m-%dT%H:%i:%S') statusConfirmAt
,f.yqze overdueAmount ,f.yqze overdueAmount
,f.dkye remainingAmount ,f.dkye remainingAmount
,case when f.yqze>0 then '2' ,case when f.yqze>0 then '2'
...@@ -1024,39 +1025,42 @@ ...@@ -1024,39 +1025,42 @@
when f.yqze=0 and f.dkye>0 then '1' when f.yqze=0 and f.dkye>0 then '1'
end as loanStatus end as loanStatus
,'overdue' termStatus ,'overdue' termStatus
from ( from (select /* a.* */
select
a.id,a.user_id,a.loan_application_history_id,a.term_no,a.deadline,a.required_repayment,a.repayment_status,a.repaid_at,a.repayment_received_at a.id,a.user_id,a.loan_application_history_id,a.term_no,a.deadline,a.required_repayment,a.repayment_status,a.repaid_at,a.repayment_received_at
from rc_syn_to_baihang_report.xyqb_i_repayment_plan_bak a from xyqb_i_repayment_plan_p2p_bak a
left join rc_syn_to_baihang_report.xyqb_i_loan_a_m_history_bak b left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR} on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
where (a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR})) and left join xyqb_i_loan_withdraw_record k on a.loan_application_history_id=k.loan_id
if(b.contract_term>a.term_no,DATEDIFF( #{endTime,jdbcType=VARCHAR},a.deadline)=0,DATEDIFF( #{endTime,jdbcType=VARCHAR},a.deadline)>=0) left join xyqb_i_repayment_plan_p2p_bak g on b.loan_application_history_id=g.loan_application_history_id
and floor(DATEDIFF( #{endTime,jdbcType=VARCHAR},a.deadline)/30)=DATEDIFF( #{endTime,jdbcType=VARCHAR},a.deadline)/30 and b.contract_term=g.term_no
/**and b.funding_corp_id in (420,520,580,650,670,810,240,640,700)*/ where (a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR})) and
if(b.contract_term>a.term_no,DATEDIFF(#{endTime,jdbcType=VARCHAR},a.deadline)=0,DATEDIFF(#{endTime,jdbcType=VARCHAR},a.deadline)>=0)
and floor(DATEDIFF(#{endTime,jdbcType=VARCHAR},a.deadline)/30)=DATEDIFF(#{endTime,jdbcType=VARCHAR},a.deadline)/30
and b.funding_corp_id in (210,540)
and b.transaction_status in (2,5) and b.transaction_status in (2,5)
and b.contract_term not in (2,3) and if(b.loan_paid_at>='2018-01-01',b.contract_term >3,b.contract_term >=3)
and (k.id is null or k.status=3)
and g.repayment_status=3 and g.repaid_at &lt; '2019-10-25'
and b.loan_paid_at>='2016-11-01'
) a ) a
left join xyqb_user_i_user_detail b on a.user_id=b.user_id left join xyqb_user_i_user_detail b on a.user_id=b.user_id
left join xyqb_i_loan_account_ext c on a.loan_application_history_id=c.loan_id left join xyqb_i_loan_account_ext c on a.loan_application_history_id=c.loan_id
left join xyqb_i_apply_quota_record d on c.order_no=d.order_no left join xyqb_i_apply_quota_record d on c.order_no=d.order_no
left join ( left join (select a.loan_application_history_id
select a.loan_application_history_id ,sum(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},if(b.loan_paid_at>='2018-01-01',g.principal+g.interest+g.service_fee,h.principle+h.interest+h.service_fee_per_term),0)) yqze
,sum(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},if(b.loan_paid_at>='2018-01-01',g.principal+g.interest+g.service_fee,h.principle+h.interest+h.service_fee_per_term),0)) yqze ,sum(if(a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR}),if(b.loan_paid_at>='2018-01-01',g.principal,h.principle),0)) dkye
,sum(if(a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR}),if(b.loan_paid_at>='2018-01-01',g.principal,h.principle),0)) dkye ,min(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},a.deadline,null)) min_deadline
,min(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},a.deadline,null)) min_deadline from xyqb_i_repayment_plan_p2p_bak a
from rc_syn_to_baihang_report.xyqb_i_repayment_plan_bak a left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/
left join rc_syn_to_baihang_report.xyqb_i_loan_a_m_history_bak b on a.loan_application_history_id=b.loan_application_history_id on a.loan_application_history_id=b.loan_application_history_id
left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id
left join xyqb_i_plan_amount_detail h on a.id=h.plan_id left join xyqb_i_plan_amount_detail h on a.id=h.plan_id
/** where b.funding_corp_id in (420,520,580,650,670,810,240,640,700)*/ where b.funding_corp_id in (210,540)
group by a.loan_application_history_id group by a.loan_application_history_id) f on a.loan_application_history_id=f.loan_application_history_id
) f on a.loan_application_history_id=f.loan_application_history_id
left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id; left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id;
--> -->
<!-- 2020.0617 22:31 >>>> 2020.06.02 4.1助贷-非联合贷实时逾期,查询原始表,不用bak临时表 -->
<!-- p2p 2019.12.13 --> <select id="findRealTimeRepayMentOverdue" parameterType="cn.quantgroup.report.domain.baihang.BaiHangTimeRecord" resultType="cn.quantgroup.report.domain.baihang.RepaymentInfoZhuDai">
<!--
select select
a.id reqID a.id reqID
,'A' opCode ,'A' opCode
...@@ -1072,8 +1076,8 @@ ...@@ -1072,8 +1076,8 @@
,f.yqze targetRepayment ,f.yqze targetRepayment
,0 realRepayment ,0 realRepayment
,case when f.yqze=0 then '' ,case when f.yqze=0 then ''
else concat('D',DATEDIFF(#{endTime,jdbcType=VARCHAR},f.min_deadline)+1) end overdueStatus else concat('D',DATEDIFF( #{endTime,jdbcType=VARCHAR},f.min_deadline)+1) end overdueStatus
,DATE_FORMAT(#{endTime,jdbcType=VARCHAR},'%Y-%m-%dT%H:%i:%S') statusConfirmAt ,DATE_FORMAT( #{endTime,jdbcType=VARCHAR},'%Y-%m-%dT%H:%i:%S') statusConfirmAt
,f.yqze overdueAmount ,f.yqze overdueAmount
,f.dkye remainingAmount ,f.dkye remainingAmount
,case when f.yqze>0 then '2' ,case when f.yqze>0 then '2'
...@@ -1081,41 +1085,36 @@ ...@@ -1081,41 +1085,36 @@
when f.yqze=0 and f.dkye>0 then '1' when f.yqze=0 and f.dkye>0 then '1'
end as loanStatus end as loanStatus
,'overdue' termStatus ,'overdue' termStatus
from (select /* a.* */ from (
select
a.id,a.user_id,a.loan_application_history_id,a.term_no,a.deadline,a.required_repayment,a.repayment_status,a.repaid_at,a.repayment_received_at a.id,a.user_id,a.loan_application_history_id,a.term_no,a.deadline,a.required_repayment,a.repayment_status,a.repaid_at,a.repayment_received_at
from xyqb_i_repayment_plan_p2p_bak a from xyqb_i_repayment_plan a
left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/ left join xyqb_i_loan_application_manifest_history b
on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR} on a.loan_application_history_id=b.loan_application_history_id and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
left join xyqb_i_loan_withdraw_record k on a.loan_application_history_id=k.loan_id where (a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR})) and
left join xyqb_i_repayment_plan_p2p_bak g on b.loan_application_history_id=g.loan_application_history_id if(b.contract_term>a.term_no,DATEDIFF( #{endTime,jdbcType=VARCHAR},a.deadline)=0,DATEDIFF( #{endTime,jdbcType=VARCHAR},a.deadline)>=0)
and b.contract_term=g.term_no and floor(DATEDIFF( #{endTime,jdbcType=VARCHAR},a.deadline)/30)=DATEDIFF( #{endTime,jdbcType=VARCHAR},a.deadline)/30
where (a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR})) and and b.funding_corp_id in (420,520,580,650,670,810,240,640,700)
if(b.contract_term>a.term_no,DATEDIFF(#{endTime,jdbcType=VARCHAR},a.deadline)=0,DATEDIFF(#{endTime,jdbcType=VARCHAR},a.deadline)>=0)
and floor(DATEDIFF(#{endTime,jdbcType=VARCHAR},a.deadline)/30)=DATEDIFF(#{endTime,jdbcType=VARCHAR},a.deadline)/30
and b.funding_corp_id in (210,540)
and b.transaction_status in (2,5) and b.transaction_status in (2,5)
and if(b.loan_paid_at>='2018-01-01',b.contract_term >3,b.contract_term >=3) and b.contract_term not in (2,3)
and (k.id is null or k.status=3)
and g.repayment_status=3 and g.repaid_at &lt; '2019-10-25'
and b.loan_paid_at>='2016-11-01'
) a ) a
left join xyqb_user_i_user_detail b on a.user_id=b.user_id left join xyqb_user_i_user_detail b on a.user_id=b.user_id
left join xyqb_i_loan_account_ext c on a.loan_application_history_id=c.loan_id left join xyqb_i_loan_account_ext c on a.loan_application_history_id=c.loan_id
left join xyqb_i_apply_quota_record d on c.order_no=d.order_no left join xyqb_i_apply_quota_record d on c.order_no=d.order_no
left join (select a.loan_application_history_id left join (
,sum(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},if(b.loan_paid_at>='2018-01-01',g.principal+g.interest+g.service_fee,h.principle+h.interest+h.service_fee_per_term),0)) yqze select a.loan_application_history_id
,sum(if(a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR}),if(b.loan_paid_at>='2018-01-01',g.principal,h.principle),0)) dkye ,sum(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},if(b.loan_paid_at>='2018-01-01',g.principal+g.interest+g.service_fee,h.principle+h.interest+h.service_fee_per_term),0)) yqze
,min(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>=#{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},a.deadline,null)) min_deadline ,sum(if(a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR}),if(b.loan_paid_at>='2018-01-01',g.principal,h.principle),0)) dkye
from xyqb_i_repayment_plan_p2p_bak a ,min(if((a.repayment_status !=3 or (a.repayment_status =3 and a.repaid_at>= #{endTime,jdbcType=VARCHAR})) and a.deadline &lt;= #{endTime,jdbcType=VARCHAR},a.deadline,null)) min_deadline
left join xyqb_i_loan_a_m_history_p2p_bak b /**xyqb_i_loan_application_manifest_history b*/ from xyqb_i_repayment_plan a
on a.loan_application_history_id=b.loan_application_history_id left join xyqb_i_loan_application_manifest_history b on a.loan_application_history_id=b.loan_application_history_id
left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id
left join xyqb_i_plan_amount_detail h on a.id=h.plan_id left join xyqb_i_plan_amount_detail h on a.id=h.plan_id
where b.funding_corp_id in (210,540) where b.funding_corp_id in (420,520,580,650,670,810,240,640,700)
group by a.loan_application_history_id) f on a.loan_application_history_id=f.loan_application_history_id group by a.loan_application_history_id
) f on a.loan_application_history_id=f.loan_application_history_id
left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id; left join xyqb_i_repayment_record g on a.id=g.repayment_plan_id;
--> </select>
</select>
<!--4.2百行助贷-联合贷 实时逾期还款 2019.10.28--> <!--4.2百行助贷-联合贷 实时逾期还款 2019.10.28-->
<select id="findRealTimeRepayMentOverdueLh" parameterType="cn.quantgroup.report.domain.baihang.BaiHangTimeRecord" <select id="findRealTimeRepayMentOverdueLh" parameterType="cn.quantgroup.report.domain.baihang.BaiHangTimeRecord"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment