Commit ae4240b2 authored by 郝彦辉's avatar 郝彦辉

存量报送补全2016.11.01以后p2p的50万数据

parent bd5029fb
...@@ -704,7 +704,9 @@ public class BaiHangZhuDaiService { ...@@ -704,7 +704,9 @@ public class BaiHangZhuDaiService {
try { try {
ApplyLoanInfoZhuDai applyLoanInfo = applyLoanInfoList.get(i); ApplyLoanInfoZhuDai applyLoanInfo = applyLoanInfoList.get(i);
applyLoanInfo.setUploadTs(upladTs); applyLoanInfo.setUploadTs(upladTs);
applyLoanInfo.setReqID(UUID.randomUUID().toString().replaceAll("-", "")); String uuid = UUID.randomUUID().toString().replaceAll("-", "");
log.info("history log A1 oldReqID="+applyLoanInfo.getReqID()+",newReqID="+uuid);
applyLoanInfo.setReqID(uuid);
//邮箱有错误的就不传 //邮箱有错误的就不传
if(!TuoMinUtils.checkEmail(applyLoanInfo.getEmailAddress())){ if(!TuoMinUtils.checkEmail(applyLoanInfo.getEmailAddress())){
...@@ -850,6 +852,7 @@ public class BaiHangZhuDaiService { ...@@ -850,6 +852,7 @@ public class BaiHangZhuDaiService {
}else{ }else{
log.warn("比较还款总期数&账单日列表totalTerm="+loanInfoZhuDaiVo.getTotalTerm()+",targetRepaymentDayList is null."); log.warn("比较还款总期数&账单日列表totalTerm="+loanInfoZhuDaiVo.getTotalTerm()+",targetRepaymentDayList is null.");
} }
log.info("history log D2 oldReqID="+loanInfoZhuDaiVo.getReqID()+",newReqID="+id);
loanInfoZhuDaiVo.setReqID(id); loanInfoZhuDaiVo.setReqID(id);
//2019.11.18 //2019.11.18
...@@ -965,6 +968,7 @@ public class BaiHangZhuDaiService { ...@@ -965,6 +968,7 @@ public class BaiHangZhuDaiService {
for (int j = 0; j < repaymentInfoList.size(); j++) { for (int j = 0; j < repaymentInfoList.size(); j++) {
RepaymentInfoZhuDai repaymentInfo = repaymentInfoList.get(j); RepaymentInfoZhuDai repaymentInfo = repaymentInfoList.get(j);
String id = UUID.randomUUID().toString().replaceAll("-", ""); String id = UUID.randomUUID().toString().replaceAll("-", "");
log.info("history log D3 oldReqID="+repaymentInfo.getReqID()+",newReqID="+id);
repaymentInfo.setReqID(id); repaymentInfo.setReqID(id);
//2019.11.18 //2019.11.18
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
<!--1.1百行助贷-非联合贷 申请实时 2019.10.28--> <!--1.1百行助贷-非联合贷 申请实时 2019.10.28-->
<select id="findRealTimeApplyLoanZhuDai" parameterType="cn.quantgroup.report.domain.baihang.BaiHangTimeRecord" resultType="cn.quantgroup.report.domain.baihang.ApplyLoanInfoZhuDai"> <select id="findRealTimeApplyLoanZhuDai" parameterType="cn.quantgroup.report.domain.baihang.BaiHangTimeRecord" resultType="cn.quantgroup.report.domain.baihang.ApplyLoanInfoZhuDai">
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
...@@ -108,6 +108,58 @@ ...@@ -108,6 +108,58 @@
and case when i.created_at is null and h.created_at &lt;=f.created_at then h.created_at and case when i.created_at is null and h.created_at &lt;=f.created_at then h.created_at
when i.created_at is null and h.created_at>f.created_at then f.created_at when i.created_at is null and h.created_at>f.created_at then f.created_at
else i.created_at end &lt; #{endTime,jdbcType=VARCHAR}; else i.created_at end &lt; #{endTime,jdbcType=VARCHAR};
p2p 2019.12.13
-->
select
a.id reqID
,'A' opCode
,DATE_FORMAT(now(),'%Y-%m-%dT%H:%i:%S') uploadTs
,'1' isFinTechAgencyBusiness
,DATE_FORMAT(case when i.created_at is null and h.created_at &lt;= f.created_at then h.created_at
when i.created_at is null and h.created_at>f.created_at then f.created_at
else i.created_at end,'%Y-%m-%dT%H:%i:%S') as applyDate
,if(d.order_no is null,a.loan_application_history_id,d.order_no) applyId
,'1' applyType
,b.name name
,'1' idType
,b.id_no pid
,b.phone_no mobile
,b.email emailAddress
,case when j.education=1 then '10'
when j.education=2 then '20'
when j.education=3 then '30'
when j.education in (4,6) then '40'
when j.education=5 then '50'
when j.education in (7,8) then '60'
else '70' end eduBackground
,'500' degree
,'1' guaranteeType
,'1' loanPurpose
,'99' customType
,'-1' applyAmount
,'8' livingCondition
,case when j.marry_status=1 then '10'
when j.marry_status=2 then '20'
when j.marry_status=4 then '30'
when j.marry_status=3 then '40'
else '90' end marriageStatus
from xyqb_i_loan_application_manifest_history a
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_apply_quota_record d on c.order_no=d.order_no
left join xyqb_i_loan_submit_info f on a.loan_application_history_id=f.loan_id
left join xyqb_i_loan_application_history h on a.loan_application_history_id=h.id
left join xyqb_i_quota_credit i on d.order_no=i.order_no
left join xyqb_i_loan_base_info j on a.loan_application_history_id=j.loan_id
where a.funding_corp_id in (540,210)
and a.contract_term >=3
and a.transaction_status in (2,5)
and case when i.created_at is null and h.created_at &lt;= f.created_at then h.created_at
when i.created_at is null and h.created_at>f.created_at then f.created_at
else i.created_at end >= #{startTime,jdbcType=VARCHAR}
and case when i.created_at is null and h.created_at &lt;= f.created_at then h.created_at
when i.created_at is null and h.created_at>f.created_at then f.created_at
else i.created_at end &lt; #{endTime,jdbcType=VARCHAR};
</select> </select>
<!--1.2百行助贷-联合贷 申请实时 2019.10.28--> <!--1.2百行助贷-联合贷 申请实时 2019.10.28-->
......
...@@ -294,11 +294,12 @@ ...@@ -294,11 +294,12 @@
<!--2.1百行助贷-非联合贷 放款实时 2019.10.28--> <!--2.1百行助贷-非联合贷 放款实时 2019.10.28-->
<select id="findRealTimeLoanInfoZhuDai" parameterType="cn.quantgroup.report.domain.baihang.BaiHangTimeRecord" resultType="cn.quantgroup.report.domain.baihang.LoanInfoZhuDai"> <select id="findRealTimeLoanInfoZhuDai" parameterType="cn.quantgroup.report.domain.baihang.BaiHangTimeRecord" resultType="cn.quantgroup.report.domain.baihang.LoanInfoZhuDai">
<!--p2p 2019.12.13-->
select a.loan_application_history_id reqID select a.loan_application_history_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
,if(a.funding_corp_id in (240,640,700),'深圳市小赢科技有限责任公司','广州惠金小额贷款有限公司') institutionalFundingPartner ,if(a.funding_corp_id=210,'大连金州广源小额贷款有限公司','广州惠金小额贷款有限公司') institutionalFundingPartner
,if(a.funding_corp_id in (240,640,700),'91440300MA5DMXHN4R','91440101MA59G7X78Y') institutionalFundingPartnerID ,if(a.funding_corp_id=210,'91210200696039834G','91440101MA59G7X78Y') institutionalFundingPartnerID
,j.corp_loan_id relationID ,j.corp_loan_id relationID
,'' institutionalFundingPartnerLoanID ,'' institutionalFundingPartnerLoanID
,if(d.order_no is null,a.loan_application_history_id,d.order_no) orderID ,if(d.order_no is null,a.loan_application_history_id,d.order_no) orderID
...@@ -333,11 +334,13 @@ ...@@ -333,11 +334,13 @@
left join xyqb_i_loan_application_history h on a.loan_application_history_id=h.id left join xyqb_i_loan_application_history h on a.loan_application_history_id=h.id
left join xyqb_i_quota_credit i on d.order_no=i.order_no left join xyqb_i_quota_credit i on d.order_no=i.order_no
left join xyqb_i_waiting_funding_corp_operate_people j on a.loan_application_history_id=j.loan_application_history_id left join xyqb_i_waiting_funding_corp_operate_people j on a.loan_application_history_id=j.loan_application_history_id
where a.funding_corp_id in (420,520,580,650,670,810,240,640,700) and left join xyqb_i_loan_withdraw_record k on a.loan_application_history_id=k.loan_id
e.term_no=a.contract_term and g.term_no=1 where a.funding_corp_id in (540,210) and g.term_no=1
and a.contract_term not in (2,3) and e.term_no=a.contract_term and e.repayment_status=3 and e.repaid_at &lt; '2019-10-25'
and if(a.loan_paid_at>='2018-01-01',a.contract_term >3,a.contract_term >=3)
and a.transaction_status in (2,5) and a.transaction_status in (2,5)
and a.loan_paid_at>= #{startTime,jdbcType=VARCHAR} and (k.id is null or k.status=3)
and a.loan_paid_at >= #{startTime,jdbcType=VARCHAR}
and a.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}; and a.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR};
</select> </select>
......
...@@ -432,7 +432,7 @@ ...@@ -432,7 +432,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);
--> -->
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
...@@ -469,7 +469,7 @@ ...@@ -469,7 +469,7 @@
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
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
-- 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)
) 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
...@@ -485,7 +485,7 @@ ...@@ -485,7 +485,7 @@
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
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 (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
...@@ -498,7 +498,7 @@ ...@@ -498,7 +498,7 @@
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
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 (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
) 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
...@@ -510,7 +510,7 @@ ...@@ -510,7 +510,7 @@
left join xyqb_i_loan_a_m_history_bak b left join xyqb_i_loan_a_m_history_bak 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 (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
) 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
...@@ -523,7 +523,7 @@ ...@@ -523,7 +523,7 @@
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_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 (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
...@@ -531,7 +531,107 @@ ...@@ -531,7 +531,107 @@
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);
/*p2p 2019.12.13*/
-->
select
a.id reqID
,'A' opCode
,DATE_FORMAT(now(),'%Y-%m-%dT%H:%i:%S') uploadTs
,if(d.order_no is null,a.loan_application_history_id,d.order_no) loanId
,b.name name
,b.id_no pid
,b.phone_no mobile
,if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term) termNo
,date(DATE_sub(if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.deadline,h.max_deadline),INTERVAL 1 second)) targetRepaymentDate
,DATE_FORMAT(a.repaid_at,'%Y-%m-%dT%H:%i:%S') realRepaymentDate
,j.required_repayment plannedPayment
,f.yqze+sum(a.required_repayment) targetRepayment
,sum(a.required_repayment) realRepayment
,case when f.yqze=0 then ''
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
,f.yqze overdueAmount
,min(if(a.loan_paid_at>='2018-01-01',i.dkye,i2.dkye)) remainingAmount
,case when f.yqze>0 then '2'
when min(if(a.loan_paid_at>='2018-01-01',i.dkye,i2.dkye))=0 and if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term) &lt; f.max_term_no then '2'
when min(if(a.loan_paid_at>='2018-01-01',i.dkye,i2.dkye))=0 and if(DATEDIFF(a.next_deadline,a.repaid_at)>1,a.term_no,h.max_term)= f.max_term_no then '3'
when f.yqze=0 and min(if(a.loan_paid_at>='2018-01-01',i.dkye,i2.dkye))>0 then '1'
end as loanStatus
,if(f.yqze>0,'overdue','normal') termStatus
from (
select a.*,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
,b.loan_paid_at
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 and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
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
left join xyqb_i_loan_withdraw_record k on a.loan_application_history_id=k.loan_id
left join xyqb_i_repayment_plan g on b.loan_application_history_id=g.loan_application_history_id
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
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_apply_quota_record d on c.order_no=d.order_no
left join (
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}),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
,max(a.term_no) max_term_no
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_repayment_record g on a.id=g.repayment_plan_id
left join xyqb_i_plan_amount_detail h on a.id=h.plan_id
where b.funding_corp_id in (210,540)
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 (
select a.loan_application_history_id,a.repaid_at,a.deadline,a.term_no
,max(c.term_no) max_term
,max(c.deadline) max_deadline
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 and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
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
and b.funding_corp_id in (210,540)
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
left join (
select a.loan_application_history_id
,a.term_no
,sum(if(d.term_no>a.term_no,d.principal,0)) dkye
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 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
where b.funding_corp_id in (210,540)
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
left join (
select a.loan_application_history_id
,a.term_no
,sum(if(e.term_no>a.term_no,h.principle,0)) dkye
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 and b.loan_paid_at &lt; #{endTime,jdbcType=VARCHAR}
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
where b.funding_corp_id in (210,540)
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
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
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);
</select> </select>
<!--3.2百行助贷-联合贷 实时还款 2019.10.28--> <!--3.2百行助贷-联合贷 实时还款 2019.10.28-->
...@@ -680,7 +780,7 @@ ...@@ -680,7 +780,7 @@
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
a.id reqID a.id reqID
,'A' opCode ,'A' opCode
...@@ -706,15 +806,15 @@ ...@@ -706,15 +806,15 @@
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 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*/
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 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
-- 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)
and b.contract_term not in (2,3) and b.contract_term not in (2,3)
) a ) a
...@@ -730,10 +830,68 @@ ...@@ -730,10 +830,68 @@
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
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 (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
-->
select
a.id reqID
,'A' opCode
,DATE_FORMAT(now(),'%Y-%m-%dT%H:%i:%S') uploadTs
,if(d.order_no is null,a.loan_application_history_id,d.order_no) loanId
,b.name name
,b.id_no pid
,b.phone_no mobile
,a.term_no termNo
,date(DATE_sub(a.deadline,INTERVAL 1 second)) targetRepaymentDate
,'' realRepaymentDate
,a.required_repayment plannedPayment
,f.yqze targetRepayment
,0 realRepayment
,case when f.yqze=0 then ''
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
,f.yqze overdueAmount
,f.dkye remainingAmount
,case when f.yqze>0 then '2'
when f.dkye=0 then '3'
when f.yqze=0 and f.dkye>0 then '1'
end as loanStatus
,'overdue' termStatus
from (select 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 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
left join xyqb_i_repayment_plan g on b.loan_application_history_id=g.loan_application_history_id
and b.contract_term=g.term_no
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 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
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_apply_quota_record d on c.order_no=d.order_no
left join (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}),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
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_repayment_record g on a.id=g.repayment_plan_id
left join xyqb_i_plan_amount_detail h on a.id=h.plan_id
where b.funding_corp_id in (210,540)
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;
</select> </select>
<!--4.2百行助贷-联合贷 实时逾期还款 2019.10.28--> <!--4.2百行助贷-联合贷 实时逾期还款 2019.10.28-->
......
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