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
fa6eac43
Commit
fa6eac43
authored
Nov 13, 2017
by
Perry_Zhu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
非去哪儿白条人工控制实还
parent
08edf60d
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
287 additions
and
0 deletions
+287
-0
白条直投还资金方明细V2.py
白条/人工控制核对/白条直投还资金方明细V2.py
+176
-0
白条直投退资金方明细V2.py
白条/人工控制核对/白条直投退资金方明细V2.py
+111
-0
No files found.
白条/人工控制核对/白条直投还资金方明细V2.py
0 → 100644
View file @
fa6eac43
# -*- coding:utf-8 -*-
# Author: Perry_Zhu
import
sys
import
pandas
as
pd
from
sqlalchemy
import
create_engine
reload
(
sys
)
sys
.
setdefaultencoding
(
'utf8'
)
# 注意修改数据源
engine_new_transaction
=
create_engine
(
'mysql+mysqldb://internal_r:ArbNgtvlJzZHXsEu@172.16.4.60:3306/new_transaction?charset=utf8'
,
echo
=
True
)
path
=
u'E:/数据汇总/白条/还资金方/2017-10/'
query_loan
=
"""
SELECT tt.order_no 产品编号,tt.term_no 期数,tt.fund_name 资金方,max(tt.loan_paid_at) 放款时间,
max(tt.repaid_at)实还时间,tt.flow_id 流水号,tt.total_amount 账单金额 FROM (
SELECT
t4.order_no,
r.term_no,
t2.fund_name,
DATE(t4.loan_paid_at) loan_paid_at,
date(r.repaid_at) repaid_at,
r.flow_id ,
b.total_amount
FROM
baitiao_audit.baitiao_order t4
JOIN baitiao_audit.fund_corp t2 ON t4.funding_corp_id = t2.id AND t4.is_active = 1 AND t4.funding_corp_id = 5
JOIN new_transaction.bt_funding_repayment_record r ON r.ref_id = t4.ref_id
JOIN baitiao_audit.account_type t3 ON r.principal_account = t3.account_type
JOIN baitiao_audit.baitiao_finance_record b ON r.finance_record_id = b.batch_no AND b.type = 1
WHERE
t4.loan_paid_at>='
%
s'
AND t4.loan_paid_at<'
%
s'
UNION all
SELECT
t4.order_no,
r.term_no,
t2.fund_name,
DATE(t4.train_cancel_at) loan_paid_at,
date(r.repaid_at) repaid_at,
r.flow_id ,
b.total_amount
FROM
baitiao_audit.baitiao_order t4
JOIN baitiao_audit.fund_corp t2 ON t4.funding_corp_id = t2.id AND t4.is_active = -2 AND t4.funding_corp_id = 5
JOIN new_transaction.bt_funding_repayment_record r ON r.ref_id = t4.ref_id
JOIN baitiao_audit.account_type t3 ON r.principal_account = t3.account_type
JOIN baitiao_audit.baitiao_finance_record b ON r.finance_record_id = b.batch_no AND b.type = 1
WHERE
t4.loan_paid_at>='
%
s'
AND t4.loan_paid_at<'
%
s'
)tt
GROUP BY 1,2
"""
query_repay_principal
=
"""
SELECT
r.order_no 产品编号,
r.term_no 期数,
sum(r.principal) 实还本金
FROM
bt_funding_repayment_record r
WHERE
r.repaid_at >='
%
s'
AND r.repaid_at <'
%
s'
AND r.refund_status!=3
and r.order_no is not null
GROUP BY 1,2
"""
query_repay_interest
=
"""
select tt.order_no 产品编号,tt.term_no 期数,sum(tt.interest) 实还利息 from(
SELECT
r.order_no,
r.term_no,
r.interest
FROM
bt_funding_repayment_record r
WHERE
r.refund_status!=3
and r.order_no is not null
AND r.repaid_at >='
%
s'
AND r.repaid_at <'
%
s'
UNION ALL
SELECT
r.order_no,
r.term_no,
r.interest
FROM
bt_funding_repayment_record r
WHERE
r.refund_status=3
AND r.interest_account!=3
and r.order_no is not null
AND r.repaid_at >='
%
s'
AND r.repaid_at <'
%
s'
)tt
GROUP BY 1,2
"""
# query_repay_discount = """
# SELECT
# r.order_no 产品编号,
# r.term_no 期数,
# sum(r.discount) 实还贴息
# FROM
# bt_funding_repayment_record r
# WHERE
# r.refund_status!=3
# and r.order_no is not null
# AND r.repaid_at >='%s'
# AND r.repaid_at <'%s'
# GROUP BY 1,2
# """
query_repay_discount
=
"""
SELECT
r.order_no 产品编号,
r.term_no 期数,
sum(r.discount) 实还贴息
FROM
bt_funding_repayment_record r
WHERE
r.refund_status!=3
and r.order_no is not null
AND r.discount_repaid_at >='
%
s'
AND r.discount_repaid_at <'
%
s'
GROUP BY 1,2
"""
start_time
=
'2017-08-01'
end_time
=
'2017-11-01'
def
tj
():
df_loan_all
=
pd
.
read_sql
(
query_loan
%
(
start_time
,
end_time
,
start_time
,
end_time
),
engine_new_transaction
)
df_loan_all
[
u'产品编号'
]
=
df_loan_all
[
u'产品编号'
]
.
astype
(
str
)
df_loan_all
[
u'期数'
]
=
df_loan_all
[
u'期数'
]
.
astype
(
int
)
df_p
=
pd
.
read_sql
(
query_repay_principal
%
(
start_time
,
end_time
),
engine_new_transaction
)
df_p
[
u'产品编号'
]
=
df_p
[
u'产品编号'
]
.
astype
(
str
)
df_p
[
u'期数'
]
=
df_p
[
u'期数'
]
.
astype
(
int
)
print
df_p
[
u'实还本金'
]
.
sum
()
# 实还本金
df_i
=
pd
.
read_sql
(
query_repay_interest
%
(
start_time
,
end_time
,
start_time
,
end_time
),
engine_new_transaction
)
df_i
[
u'产品编号'
]
=
df_i
[
u'产品编号'
]
.
astype
(
str
)
df_i
[
u'期数'
]
=
df_i
[
u'期数'
]
.
astype
(
int
)
# 实还利息
df_i
=
df_i
[[
u'产品编号'
,
u'期数'
,
u'实还利息'
]]
df_d
=
pd
.
read_sql
(
query_repay_discount
%
(
start_time
,
end_time
),
engine_new_transaction
)
df_d
[
u'产品编号'
]
=
df_d
[
u'产品编号'
]
.
astype
(
str
)
df_d
[
u'期数'
]
=
df_d
[
u'期数'
]
.
astype
(
int
)
# 实还贴息
df_d
=
df_d
[[
u'产品编号'
,
u'期数'
,
u'实还贴息'
]]
df
=
pd
.
concat
([
df_p
,
df_i
,
df_d
],
ignore_index
=
True
,
axis
=
0
)
df
.
fillna
(
0
,
inplace
=
True
)
# df_t1 = df.groupby([u'产品编号', u'期数'])[u'实还本金'].sum().reset_index()
# df_t2 = df.groupby([u'产品编号', u'期数'])[u'实还利息'].sum().reset_index()
# df_t3 = df.groupby([u'产品编号', u'期数'])[u'实还贴息'].sum().reset_index()
# df_1 = pd.merge(df_t1, df_t2, on=[u'产品编号', u'期数'], how='outer')
# df_t = pd.merge(df_1, df_t3, on=[u'产品编号', u'期数'], how='outer')
df_t
=
df
.
groupby
([
u'产品编号'
,
u'期数'
])[
u'实还本金'
,
u'实还利息'
,
u'实还贴息'
]
.
agg
(
'sum'
)
.
reset_index
()
df
=
pd
.
merge
(
df_loan_all
,
df_t
,
on
=
[
u'产品编号'
,
u'期数'
])
df
.
loc
[
df
[
u'流水号'
]
.
duplicated
(),
[
u'账单金额'
]]
=
0
df
[
u'实还总额'
]
=
df
[
u'实还本金'
]
+
df
[
u'实还利息'
]
df
=
df
[[
u'资金方'
,
u'产品编号'
,
u'放款时间'
,
u'期数'
,
u'实还时间'
,
u'实还总额'
,
u'实还本金'
,
u'实还利息'
,
u'流水号'
,
u'账单金额'
]]
# df.to_excel(path + u'直投白条还资金方明细-2017-10.xlsx', index=None)
df
.
to_excel
(
path
+
u'人工控制-直投白条还资金方(按实还时间)-2017-10.xlsx'
,
index
=
None
)
tj
()
白条/人工控制核对/白条直投退资金方明细V2.py
0 → 100644
View file @
fa6eac43
# -*- coding:utf-8 -*-
# Author: Perry_Zhu
import
datetime
import
multiprocessing
as
mtp
import
sys
from
itertools
import
product
import
pandas
as
pd
from
dateutil.relativedelta
import
relativedelta
from
sqlalchemy
import
create_engine
reload
(
sys
)
sys
.
setdefaultencoding
(
'utf8'
)
# 注意修改数据源
engine_new_transaction
=
create_engine
(
'mysql+mysqldb://internal_r:ArbNgtvlJzZHXsEu@172.16.3.201:3306/new_transaction?charset=utf8'
,
echo
=
True
)
path
=
u'E:/数据汇总/白条/还资金方/2017-10/'
query_repay_principal
=
"""
SELECT
t2.fund_name 资金方,
r.order_no 产品编号,
r.term_no,
t4.loan_paid_at 放款时间,
t4.funding_loan_amount 放款金额,
DATE(r.refund_time) 客户退单日,
DATE(r.repaid_at) 退还给资金方日,
sum(r.principal) 退款本金,
r.flow_id 流水号,
b.total_amount 账单金额
FROM
bt_funding_repayment_record r
JOIN baitiao_audit.fund_corp t2 ON r.funding_code = t2.id
JOIN baitiao_audit.account_type t3 ON r.principal_account = t3.account_type AND r.refund_status=3
JOIN baitiao_audit.baitiao_order t4 ON r.ref_id=t4.ref_id
JOIN baitiao_audit.baitiao_finance_record b ON r.finance_record_id=b.batch_no AND b.type=1
WHERE r.repaid_at >='
%
s'
AND r.repaid_at <'
%
s'
GROUP BY 2,3
"""
query_repay_interest
=
"""
SELECT
r.order_no 产品编号,
r.term_no,
sum(ifnull(r.interest,0)) 退款利息
FROM
bt_funding_repayment_record r
WHERE
r.refund_status=3
AND r.interest_account=3
AND r.repaid_at >='
%
s'
AND r.repaid_at <'
%
s'
GROUP BY 1,2
"""
# query_repay_discount = """
# SELECT
# r.order_no 产品编号,
# r.term_no,
# sum(ifnull(r.discount,0)) 退款贴息
# FROM
# bt_funding_repayment_record r
# WHERE
# r.refund_status=3
# AND r.repaid_at >='%s'
# AND r.repaid_at <'%s'
# GROUP BY 1,2
# """
query_repay_discount
=
"""
SELECT
r.order_no 产品编号,
r.term_no,
sum(ifnull(r.discount,0)) 退款贴息
FROM
bt_funding_repayment_record r
WHERE
r.refund_status=3
AND r.discount_repaid_at >='
%
s'
AND r.discount_repaid_at <'
%
s'
GROUP BY 1,2
"""
start_time
=
'2017-08-01'
end_time
=
'2017-11-01'
def
tj
():
df_p
=
pd
.
read_sql
(
query_repay_principal
%
(
start_time
,
end_time
),
engine_new_transaction
)
df_i
=
pd
.
read_sql
(
query_repay_interest
%
(
start_time
,
end_time
),
engine_new_transaction
)
df_d
=
pd
.
read_sql
(
query_repay_discount
%
(
start_time
,
end_time
),
engine_new_transaction
)
df_p
[
u'产品编号'
]
=
df_p
[
u'产品编号'
]
.
astype
(
str
)
df_p
.
term_no
=
df_p
.
term_no
.
astype
(
int
)
df_i
[
u'产品编号'
]
=
df_i
[
u'产品编号'
]
.
astype
(
str
)
df_i
.
term_no
=
df_i
.
term_no
.
astype
(
int
)
df_d
[
u'产品编号'
]
=
df_d
[
u'产品编号'
]
.
astype
(
str
)
df_d
.
term_no
=
df_d
.
term_no
.
astype
(
int
)
df_t
=
pd
.
merge
(
df_p
,
df_i
,
on
=
[
u'产品编号'
,
'term_no'
],
how
=
'left'
)
df
=
pd
.
merge
(
df_t
,
df_d
,
on
=
[
u'产品编号'
,
'term_no'
],
how
=
'left'
)
df
.
loc
[
df
[
u'流水号'
]
.
duplicated
(),
[
u'账单金额'
]]
=
0
df
.
fillna
(
0
,
inplace
=
True
)
df
[
u'退款总额'
]
=
df
[
u'退款本金'
]
+
df
[
u'退款利息'
]
df
=
df
[
[
u'资金方'
,
u'产品编号'
,
u'放款时间'
,
u'放款金额'
,
u'客户退单日'
,
u'退还给资金方日'
,
u'退款总额'
,
u'退款本金'
,
u'退款利息'
,
u'流水号'
,
u'账单金额'
]]
# df.to_excel(path + u'直投白条退资金方款明细-2017-10.xlsx', index=None)
df
.
to_excel
(
path
+
u'人工控制-直投白条退资金方款明细-2017-10.xlsx'
,
index
=
None
)
tj
()
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