Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
duizhang_tools
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
data—王林芳
duizhang_tools
Commits
36d38ab4
Commit
36d38ab4
authored
Nov 07, 2017
by
data—王林芳
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
在贷-未处理负数Done,金额=放款-退款-还款
parent
cb2d7b6f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
38 deletions
+14
-38
在贷.py
审计第二阶段/去哪儿/在贷-林芳版本/在贷.py
+14
-38
No files found.
审计第二阶段/去哪儿/在贷-林芳版本/在贷.py
View file @
36d38ab4
...
...
@@ -49,7 +49,7 @@ def zaidai(listen_time,user_plan_2016='repayment_plan_2016',user_plan_2017='repa
sql_pre_refund
=
'''
select product_no,-sum(refund_principle) pre_refund_principle from
qunaer_new.refund_detail
where refund_time < '
%
s' AND fund_code=1
AND flow_id is NULL
AND refund_status = 1
where refund_time < '
%
s' AND fund_code=1 AND refund_status = 1
GROUP by 1
'''
%
listen_time
# ==观察点时间前的还款
...
...
@@ -59,43 +59,30 @@ def zaidai(listen_time,user_plan_2016='repayment_plan_2016',user_plan_2017='repa
where repay_time < '
%
s' AND fund_code = 1 AND repay_status = 1
GROUP by 1
'''
%
listen_time
# ==观察点时间前的退款
sql_pre_repay2
=
'''
select product_no,-sum(refund_principle) pre_repay_principle from
qunaer_new.refund_detail
where refund_time < '
%
s' AND fund_code = 1 and flow_id is not NULL AND refund_status = 1
GROUP by 1
'''
%
listen_time
##==观察点时间后的退款
sql_after_refund
=
'''
select t1.product_no ,-sum(refund_principle) after_refund_principle from
qunaer_new.refund_detail t1
JOIN qunaer_new.pay_detail t2 on t1.product_no = t2.product_no
where t1.refund_time >= '
%
s' AND t
1.fund_code = 1 AND t1.flow_id is NULL AND t2.status =
1
where t1.refund_time >= '
%
s' AND t
2.trans_time < '
%
s' AND t1.fund_code = 1 AND t2.status = 1 AND t1.refund_status =
1
GROUP by 1
'''
%
(
listen_time
)
'''
%
(
listen_time
,
listen_time
)
##==观察点时间后的还款
sql_after_repay
=
'''
select t1.product_no ,sum(repay_principle) after_repay_principle from
qunaer_new.repay_detail t1
JOIN qunaer_new.pay_detail t2 on t1.product_no = t2.product_no
where t1.repay_time >= '
%
s' AND t1.fund_code = 1 AND t2.status=1 AND t1.repay_status = 1
GROUP by 1
'''
%
(
listen_time
)
##==观察点时间后的退款
sql_after_repay2
=
'''
select t1.product_no ,-sum(refund_principle) after_repay_principle from
qunaer_new.refund_detail t1
JOIN qunaer_new.pay_detail t2 on t1.product_no = t2.product_no
where t1.refund_time >= '
%
s' AND t1.fund_code = 1 AND t1.flow_id is not NULL AND t2.status= 1 AND t1.refund_status = 1
where t1.repay_time >= '
%
s' AND t2.trans_time < '
%
s' AND t1.fund_code = 1 AND t2.status=1 AND t1.repay_status = 1
GROUP by 1
'''
%
(
listen_time
)
'''
%
(
listen_time
,
listen_time
)
##==未到期的,user_plan_2016
sql_after_deadline
=
'''
select t1.product_no,sum(principle) after_deadline
from
%
s t1
JOIN qunaer_new.pay_detail t2 on t1.product_no = t2.product_no
where t2.
loan
_time < '
%
s' AND t1.status = 1 AND t1.deadline >= '
%
s' AND t2.fund_code = 1
where t2.
trans
_time < '
%
s' AND t1.status = 1 AND t1.deadline >= '
%
s' AND t2.fund_code = 1
GROUP by 1
'''
%
(
user_plan_2016
,
listen_time
,
listen_time
)
##==未到期的,user_plan_2017
...
...
@@ -103,17 +90,10 @@ def zaidai(listen_time,user_plan_2016='repayment_plan_2016',user_plan_2017='repa
select t1.product_no,sum(principle) after_deadline
from
%
s t1
JOIN qunaer_new.pay_detail t2 on t1.product_no = t2.product_no
where t2.
loan
_time < '
%
s' AND t1.status = 1 AND t1.deadline >= '
%
s' AND t1.fund_code = 1 AND t2.status = 1
where t2.
trans
_time < '
%
s' AND t1.status = 1 AND t1.deadline >= '
%
s' AND t1.fund_code = 1 AND t2.status = 1
GROUP by 1
'''
%
(
user_plan_2017
,
listen_time
,
listen_time
)
#==债转后的未到期的还款计划
sql_after_deadline_baoli
=
'''
select t1.product_no,sum(principle) after_deadline
from qunaer_new.repayment_plan_2017 t1
JOIN qunaer_new.baoli_pay_detail t2 on t1.product_no = t2.product_no
where t2.trans_time < '
%
s' AND t1.status = 1 AND t1.deadline >= '
%
s' AND t1.fund_code = 1
GROUP by 1
'''
%
(
listen_time
,
listen_time
)
# all 放款
df_loan
=
pd
.
read_sql
(
sql_loan
,
engine_qunaer
)
df_loan_1
=
pd
.
read_sql
(
sql_loan_2
,
engine_qunaer
)
...
...
@@ -121,19 +101,13 @@ def zaidai(listen_time,user_plan_2016='repayment_plan_2016',user_plan_2017='repa
#== 观察点前的退还款
df_pre_refund
=
pd
.
read_sql
(
sql_pre_refund
,
engine_qunaer
)
df_pre_repay
=
pd
.
read_sql
(
sql_pre_repay
,
engine_qunaer
)
df_pre_repay2
=
pd
.
read_sql
(
sql_pre_repay2
,
engine_qunaer
)
df_pre_repay
=
pd
.
concat
([
df_pre_repay
,
df_pre_repay2
],
ignore_index
=
True
)
# == 观察点后的退还款
df_after_refund
=
pd
.
read_sql
(
sql_after_refund
,
engine_qunaer
)
df_after_repay
=
pd
.
read_sql
(
sql_after_repay
,
engine_qunaer
)
df_after_repay2
=
pd
.
read_sql
(
sql_after_repay2
,
engine_qunaer
)
df_after_repay
=
pd
.
concat
([
df_after_repay
,
df_after_repay2
],
ignore_index
=
True
)
#未到期的
df_after_deadline
=
pd
.
read_sql
(
sql_after_deadline
,
engine_qunaer
)
df_after_deadline
_2016
=
pd
.
read_sql
(
sql_after_deadline
,
engine_qunaer
)
df_after_deadline_2017
=
pd
.
read_sql
(
sql_after_deadline_2017
,
engine_qunaer
)
df_after_deadline_baoli
=
pd
.
read_sql
(
sql_after_deadline_baoli
,
engine_qunaer
)
df_after_deadline
=
pd
.
concat
([
df_after_deadline
,
df_after_deadline_2017
,
df_after_deadline_baoli
],
ignore_index
=
True
)
df_after_deadline
=
pd
.
concat
([
df_after_deadline_2016
,
df_after_deadline_2017
,],
ignore_index
=
True
)
df_after_deadline
=
df_after_deadline
.
groupby
([
'product_no'
])[
'after_deadline'
]
.
sum
()
.
reset_index
()
#==合并
df
=
pd
.
merge
(
df_loan
,
df_pre_refund
,
on
=
'product_no'
,
how
=
'left'
)
...
...
@@ -143,6 +117,8 @@ def zaidai(listen_time,user_plan_2016='repayment_plan_2016',user_plan_2017='repa
df
=
pd
.
merge
(
df
,
df_after_deadline
,
on
=
'product_no'
,
how
=
'left'
)
df
.
fillna
(
0
,
inplace
=
True
)
df
[
'zaidai'
]
=
np
.
round
(
df
[
'loan_amount'
]
-
df
[
'pre_refund_principle'
]
-
df
[
'pre_repay_principle'
],
2
)
#== 剔除在贷为 0 的数据
df
=
df
.
ix
[
df
.
zaidai
!=
0
]
df
[
'贷后还款'
]
=
np
.
round
(
df
[
'after_refund_principle'
]
+
df
[
'after_repay_principle'
]
+
df
[
'after_deadline'
],
2
)
df
[
'剩余'
]
=
np
.
round
(
df
[
'loan_amount'
]
-
df
[
'pre_refund_principle'
]
-
df
[
'pre_repay_principle'
]
-
df
[
'after_refund_principle'
]
-
df
[
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment