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
b3b578e5
Commit
b3b578e5
authored
Nov 09, 2017
by
Perry_Zhu
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
3e621c60
cd1e68d5
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
110 additions
and
58 deletions
+110
-58
客户实还表-按照放款时间-8月份.py
审计第二阶段/去哪儿/人工控制/客户实还表-按照放款时间-8月份.py
+7
-7
客户实还表-按照还款时间-8月份.py
审计第二阶段/去哪儿/人工控制/客户实还表-按照还款时间-8月份.py
+64
-16
放款表-现金流-8月份.py
审计第二阶段/去哪儿/人工控制/放款表-现金流-8月份.py
+12
-16
还资金方表-按照放款时间.py
审计第二阶段/去哪儿/人工控制/还资金方表-按照放款时间.py
+19
-13
还资金方表.py
审计第二阶段/去哪儿/人工控制/还资金方表.py
+8
-6
No files found.
审计第二阶段/去哪儿/人工控制/客户实还表-按照放款时间-8月份.py
View file @
b3b578e5
...
...
@@ -17,7 +17,7 @@ pd.options.mode.chained_assignment = None
还款表中体现这部分退款,这部分退款处理金额为正,数据库中为负。
'''
max_limit
=
800000
file_path
=
u'E:/
审计出表/人工控制/去哪儿-放款表
/'
file_path
=
u'E:/
量化派/去哪儿/人工控制/还款表-按照放款时间
/'
file_name
=
u'去哪儿还款表-放款时间-
%
s-
%
s.xlsx'
engine_qunaer
=
create_engine
(
'mysql+mysqldb://internal_r:ArbNgtvlJzZHXsEu@172.16.3.201:3306/qunaer_new?charset=utf8'
,
echo
=
False
)
.
connect
()
...
...
@@ -85,13 +85,13 @@ def hk_detail(year, month):
FROM
qunaer_new.repay_detail t1
JOIN qunaer_new.fund_corp fc on fc.fund_code = t1.fund_code
JOIN qunaer_new.
fund_pay_detail pay on t1.product_no = pay.product_no AND t1.fund_code = pay.fund_code
JOIN fund_repayment_plan plan on plan.product_no = t1.product_no AND plan.current_stage_no = t1.current_stage_no
AND t1.fund_code=plan.fund_code
JOIN qunaer_new.
pay_detail pay on t1.product_no = pay.product_no
JOIN fund_repayment_plan plan on plan.product_no = t1.product_no AND plan.current_stage_no = t1.current_stage_no
LEFT JOIN bank_flow bf on bf.flow_id = t1.flow_id
WHERE
pay.trans_time >= '
%
s'
AND pay.trans_time < '
%
s'
AND t1. repay_status = 1 AND pay.status=1
AND t1. repay_status = 1 AND pay.status=1
and t1.fund_code != 1
'''
%
(
start_time
,
end_time
)
# 债转后保理的--
...
...
@@ -119,12 +119,12 @@ def hk_detail(year, month):
qunaer_new.repay_detail t1
JOIN qunaer_new.fund_corp fc on fc.fund_code = t1.fund_code
JOIN qunaer_new.baoli_pay_detail pay on t1.product_no = pay.product_no AND t1.fund_code = pay.fund_code
JOIN
baoli_repayment_plan plan on plan.product_no = t1.product_no AND plan.user_current_stage_no = t1.current_stage_no AND t1.fund_code=plan.fund_code
JOIN
repayment_plan_2017 plan on plan.product_no = t1.product_no AND plan.current_stage_no = t1.current_stage_no
left JOIN bank_flow bf on bf.flow_id = t1.flow_id
WHERE
pay.trans_time >= '
%
s'
AND pay.trans_time < '
%
s'
AND t1. repay_status = 1 AND pay.status=1
;
AND t1. repay_status = 1 AND pay.status=1
and t1.fund_code =1
'''
%
(
start_time
,
end_time
)
# 退款退到还款账户
sql_refund
=
'''
...
...
@@ -187,7 +187,7 @@ if __name__ == '__main__':
# 还款明细
years
=
[
2017
]
months
=
range
(
8
,
10
,
1
)
months
=
range
(
10
,
11
,
1
)
for
year
,
month
in
product
(
years
,
months
):
print
(
'-----
%
s--
%
s'
)
%
(
year
,
month
)
hk_detail
(
year
,
month
)
...
...
审计第二阶段/去哪儿/人工控制/客户实还表-按照还款时间-8月份.py
View file @
b3b578e5
...
...
@@ -16,14 +16,14 @@ pd.options.mode.chained_assignment = None
还款表中体现这部分退款,这部分退款处理金额为正,数据库中为负。
'''
file_path
=
u'E:/
审计出表/人工控制/去哪儿-放款表
/'
file_path
=
u'E:/
量化派/去哪儿/人工控制/还款表-按照实还时间
/'
file_name
=
u'去哪儿还款表-实还时间-
%
s-
%
s.xlsx'
engine_qunaer
=
create_engine
(
'mysql+mysqldb://internal_r:ArbNgtvlJzZHXsEu@172.16.3.201:3306/qunaer_new?charset=utf8'
,
echo
=
False
)
.
connect
()
def
hk_detail
(
year
,
month
,
user_16_plan
=
'repayment_plan_2016'
,
user_17_plan
=
'repayment_plan_2017'
,
fund_plan
=
'fund_repayment_plan'
,
baoli_plan
=
'
baoli_repayment_plan
'
):
fund_plan
=
'fund_repayment_plan'
,
baoli_plan
=
'
repayment_plan_2017
'
):
start_time
=
datetime
.
datetime
(
year
,
month
,
1
,
0
,
0
,
0
)
end_time
=
start_time
+
relativedelta
(
months
=+
1
)
# 实还表====内保的plan_16
...
...
@@ -111,13 +111,13 @@ def hk_detail(year, month, user_16_plan='repayment_plan_2016', user_17_plan='rep
FROM
qunaer_new.repay_detail t1
JOIN qunaer_new.fund_corp fc on fc.fund_code = t1.fund_code
JOIN qunaer_new.
fund_pay_detail pay on t1.product_no = pay.product_no AND t1.fund_code = pay.fund_code
JOIN
%
s plan on plan.product_no = t1.product_no AND plan.current_stage_no = t1.current_stage_no
JOIN qunaer_new.
pay_detail pay on t1.product_no = pay.product_no
JOIN
%
s plan on plan.product_no = t1.product_no AND plan.current_stage_no = t1.current_stage_no
left JOIN bank_flow bf on bf.flow_id = t1.flow_id
WHERE
t1.repay_time >= '
%
s'
AND t1.repay_time < '
%
s'
AND t1. repay_status = 1 AND pay.status=1
;
AND t1. repay_status = 1 AND pay.status=1
AND t1.fund_code != 1
'''
%
(
fund_plan
,
start_time
,
end_time
)
# 债转后保理的--
...
...
@@ -142,13 +142,13 @@ def hk_detail(year, month, user_16_plan='repayment_plan_2016', user_17_plan='rep
FROM
qunaer_new.repay_detail t1
JOIN qunaer_new.fund_corp fc on fc.fund_code = t1.fund_code
JOIN qunaer_new.baoli_pay_detail pay on t1.product_no = pay.product_no
AND t1.fund_code = pay.fund_code
JOIN
%
s plan on plan.product_no = t1.product_no AND plan.
user_
current_stage_no = t1.current_stage_no
JOIN qunaer_new.baoli_pay_detail pay on t1.product_no = pay.product_no
JOIN
%
s plan on plan.product_no = t1.product_no AND plan.current_stage_no = t1.current_stage_no
left JOIN bank_flow bf on bf.flow_id = t1.flow_id
WHERE
t1.repay_time >= '
%
s'
AND t1.repay_time < '
%
s'
AND t1. repay_status = 1 AND pay.status=1
;
AND t1. repay_status = 1 AND pay.status=1
AND t1.fund_code=1
'''
%
(
baoli_plan
,
start_time
,
end_time
)
# 退款退到还款账户
sql_refund
=
'''
...
...
@@ -167,10 +167,54 @@ def hk_detail(year, month, user_16_plan='repayment_plan_2016', user_17_plan='rep
JOIN fund_corp t2 ON t2.fund_code = t1.fund_code
JOIN pay_detail t3 on t1.product_no = t3.product_no and t3.status !=0
left JOIN bank_flow bf on bf.flow_id = t1.flow_id
WHERE t1.refund_time >= '
%
s' and t1.refund_time < '
%
s' and
(t1.flow_id is not NULL or t1.refund_time > '2017-09-01')
WHERE t1.refund_time >= '
%
s' and t1.refund_time < '
%
s' and
t1.flow_id is not NULL
'''
%
(
start_time
,
end_time
)
#=== 失败订单的退还款
# ===放款失败的还款和退款
sql_refund_pay_fail
=
'''
SELECT
t2.fund_name as '资金方',
t1.product_no '产品编号',
'去那儿' as '收款账户',
date(t1.refund_time) '还款时间',
-t1.refund_amount as '还款金额',
-t1.refund_principle as '还款本金',
-t1.refund_due_amount as '还款逾期费',
-t1.refund_fee_amount as '还服务费',
t1.flow_id '流水号'
FROM
qunaer_new.refund_detail t1
JOIN fund_corp t2 ON t2.fund_code = t1.fund_code
JOIN pay_detail t3 on t1.product_no = t3.product_no and t3.status = 0
WHERE t1.refund_time >= '
%
s' and t1.refund_time < '
%
s' and t1.flow_id is not NULL and t1.refund_status=1
'''
%
(
start_time
,
end_time
)
sql_repay_pay_fail
=
'''
SELECT
t2.fund_name as '资金方',
t1.product_no '产品编号',
'去那儿' as '收款账户',
date(t1.repay_time) '还款时间',
t1.repay_amount as '还款金额',
t1.repay_principle as '还款本金',
t1.repay_due_amount as '还款逾期费',
t1.repay_fee_amount as '还服务费',
t1.flow_id '流水号'
FROM
qunaer_new.repay_detail t1
JOIN fund_corp t2 ON t2.fund_code = t1.fund_code
JOIN pay_detail t3 on t1.product_no = t3.product_no and t3.status = 0
WHERE t1.repay_time >= '
%
s' and t1.repay_time < '
%
s' and t1.flow_id is not NULL and t1.repay_status=1
'''
%
(
start_time
,
end_time
)
# 退款
df_refund
=
pd
.
read_sql
(
sql_refund
,
engine_qunaer
)
#==放款失败订单的还款
df_repay_pay_fail
=
pd
.
read_sql
(
sql_repay_pay_fail
,
engine_qunaer
)
df_refund_pay_fail
=
pd
.
read_sql
(
sql_refund_pay_fail
,
engine_qunaer
)
df_pay_fail
=
pd
.
concat
([
df_repay_pay_fail
,
df_refund_pay_fail
],
ignore_index
=
True
)
# 还款计划合并
df_repay_plan_2016
=
pd
.
read_sql
(
sql_repay_plan_2016
,
engine_qunaer
)
df_repay_plan_2017
=
pd
.
read_sql
(
sql_repay_plan_2017
,
engine_qunaer
)
...
...
@@ -180,6 +224,7 @@ def hk_detail(year, month, user_16_plan='repayment_plan_2016', user_17_plan='rep
df_repay
.
fillna
(
0
,
inplace
=
True
)
writer
=
pd
.
ExcelWriter
(
file_path
+
file_name
%
(
year
,
month
))
df_refund
.
to_excel
(
writer
,
sheet_name
=
u'退款到还款账户的表'
,
index
=
None
,
encoding
=
'UTF-8'
)
df_pay_fail
.
to_excel
(
writer
,
sheet_name
=
u'放款失败退还款的表'
,
index
=
None
,
encoding
=
'UTF-8'
)
#应还本金重复的
df_repay
.
loc
[
df_repay
[[
u'资金方'
,
u'产品编号'
,
u'当期期数'
]]
.
duplicated
(),
u'应还本金'
]
=
0
df_repay
[
u'应还本息-实还本息'
]
=
np
.
round
(
df_repay
[
u'应还本金'
]
-
df_repay
[
u'实还本金'
],
2
)
...
...
@@ -194,13 +239,16 @@ if __name__ == '__main__':
# 还款明细
years
=
[
2017
]
months
=
[
9
]
months
=
[
10
]
for
year
,
month
in
product
(
years
,
months
):
print
(
'-----
%
s--
%
s'
)
%
(
year
,
month
)
if
month
==
8
:
hk_detail
(
year
,
month
,
user_16_plan
=
'repayment_plan_2016_201708'
,
user_17_plan
=
'repayment_plan_201708'
,
fund_plan
=
'fund_repayment_plan_201708'
,
baoli_plan
=
'baoli_repayment_plan_201708'
)
elif
month
==
9
:
hk_detail
(
year
,
month
)
# if month == 8:
# hk_detail(year, month,user_16_plan='repayment_plan_2016',
# user_17_plan='repayment_plan_2017',fund_plan='fund_repayment_plan',
# baoli_plan='repayment_plan_2017')
# else:
# hk_detail(year,month)
hk_detail
(
year
,
month
,
user_16_plan
=
'repayment_plan_2016'
,
user_17_plan
=
'repayment_plan_2017'
,
fund_plan
=
'fund_repayment_plan'
,
baoli_plan
=
'repayment_plan_2017'
)
print
'-----------------------main done---------------------------------------'
审计第二阶段/去哪儿/人工控制/放款表-现金流-8月份.py
View file @
b3b578e5
...
...
@@ -13,26 +13,22 @@ reload(sys)
sys
.
setdefaultencoding
(
"utf-8"
)
pd
.
options
.
mode
.
chained_assignment
=
None
max_limit
=
800000
#
# 表名称:
# 白条-去哪儿-核算-放款表:分多种类型,转让保理后的放款表,资金方的放款表,针对用户角度的放款表
#
#
file_path
=
u'E:/审计出表/人工控制/去哪儿-放款表/'
file_path
=
u'E:/量化派/去哪儿/人工控制/放款表-现金流/'
file_name
=
u'去哪儿_放款表_现金流_
%
s_
%
s.xlsx'
engine_qunaer
=
create_engine
(
'mysql+mysqldb://internal_r:ArbNgtvlJzZHXsEu@172.16.3.201:3306/qunaer_new?charset=utf8'
,
echo
=
False
)
.
connect
()
# 债权转让后的保理放款表
def
baoli_pay
(
year
,
month
,
plan_table
=
'
baoli_repayment_plan
'
):
def
baoli_pay
(
year
,
month
,
plan_table
=
'
repayment_plan_2017
'
):
start_time
=
datetime
.
datetime
(
year
,
month
,
1
,
0
,
0
,
0
)
end_time
=
start_time
+
relativedelta
(
months
=+
1
)
sql_pay
=
'''
select
concat(pay.product_no,plan.
user_
current_stage_no) as '唯一编号',
concat(pay.product_no,plan.current_stage_no) as '唯一编号',
pay.product_no '产品编号',
'保理' AS '资金方',
date(pay.trans_time) '贷款时间',
...
...
@@ -40,13 +36,13 @@ def baoli_pay(year, month,plan_table='baoli_repayment_plan'):
pay.loan_amount '合同放款金额',
pay.new_stages '分期数',
'FALSE' AS '是否转分期后订单',
plan.
user_
current_stage_no AS '应还期数',
plan.current_stage_no AS '应还期数',
date(plan.deadline) AS '应还时间',
plan.principle AS '应还本金',
0 as '应还利息-直投',
plan.fee_amount AS '应还服务费'
from qunaer_new.baoli_pay_detail pay
join
%
s plan on pay.product_no = plan.product_no
join
%
s plan on pay.product_no = plan.product_no
AND plan.fund_code=1
where trans_time >='
%
s' and trans_time < '
%
s'
'''
%
(
plan_table
,
start_time
,
end_time
)
df_pay
=
pd
.
read_sql
(
sql_pay
,
engine_qunaer
)
...
...
@@ -73,10 +69,10 @@ def fund_pay(year, month,plan_table='fund_repayment_plan'):
plan.principle '应还本金',
plan.interest as '应还利息-直投',
plan.fee_amount AS '应还服务费'
from qunaer_new.
fund_
pay_detail pay
join
%
s plan on pay.product_no = plan.product_no
from qunaer_new.pay_detail pay
join
%
s plan on pay.product_no = plan.product_no
AND pay.fund_code != 1
join qunaer_new.fund_corp fc on pay.fund_code = fc.fund_code
where trans_time >='
%
s' and trans_time < '
%
s'
where trans_time >='
%
s' and trans_time < '
%
s'
and pay.status=1
'''
%
(
plan_table
,
start_time
,
end_time
)
# 读取sql语句,2分钟左右
df_pay
=
pd
.
read_sql
(
sql_pay
,
engine_qunaer
)
...
...
@@ -141,7 +137,7 @@ def hk(year, month):
select fc.fund_name AS '资金方',product_no '产品编号',current_stage_no '应还期数',sum(repay_principle) '实还本金',0 AS '实还利息-直投'
from repay_detail repay
JOIN fund_corp fc on repay.fund_code= fc.fund_code
where repay_time >= '
%
s'
where repay_time >= '
%
s'
AND repay_status=1
group by 1,2,3
'''
%
start_time
df_hk
=
pd
.
read_sql
(
sql_1
,
engine_qunaer
)
...
...
@@ -150,9 +146,9 @@ def hk(year, month):
if
__name__
==
'__main__'
:
years
=
[
2017
]
months
=
range
(
9
,
10
)
months
=
range
(
10
,
11
)
for
year
,
month
in
product
(
years
,
months
):
df_baoli
=
baoli_pay
(
year
,
month
,
plan_table
=
'
baoli_repayment_plan
'
)
df_baoli
=
baoli_pay
(
year
,
month
,
plan_table
=
'
repayment_plan_2017
'
)
df_fund
=
fund_pay
(
year
,
month
,
plan_table
=
'fund_repayment_plan'
)
df_user
=
user_pay
(
year
,
month
,
plan_table
=
'repayment_plan_2017'
)
df_plan
=
pd
.
concat
([
df_baoli
,
df_fund
,
df_user
],
ignore_index
=
True
)
...
...
审计第二阶段/去哪儿/人工控制/还资金方表-按照放款时间.py
View file @
b3b578e5
...
...
@@ -25,7 +25,8 @@ pd.options.mode.chained_assignment = None
注意:财务说无需出 用户提前还款的-我们提前打款给资金方的
'''
engine_qunaer
=
create_engine
(
'mysql+mysqldb://yulong:ohVU1nPITynSZwR2@172.16.3.201:3306/qunaer_new?charset=utf8'
,
echo
=
False
)
.
connect
()
engine_qunaer
=
create_engine
(
'mysql+mysqldb://internal_r:ArbNgtvlJzZHXsEu@172.16.3.201:3306/qunaer_new?charset=utf8'
,
echo
=
False
)
.
connect
()
file_path
=
u'E:/量化派/去哪儿/人工控制/还资金方-放款时间/'
def
fund_tk
(
year
,
month
):
...
...
@@ -35,12 +36,14 @@ def fund_tk(year,month):
select t3.fund_name 资金方,t1.product_no 产品编号,date(t2.interest_time) 放款时间,t2.loan_amount 放款金额,
date(t1.repay_time) 退还给资金方日,t1.repay_amount 还款金额,t1.repay_principle 实还本金,
t1.repay_interest 实还利息,t1.repay_fee_amount 实还资金方服务费,t1.flow_id 流水号,bf.trans_amount 银行金额,
case t1.type WHEN 4 THEN '正常还款' WHEN 5 THEN '提前结清' WHEN 6 THEN '提前还款' WHEN 7 THEN '退款' END as '类型'
case t1.type WHEN 4 THEN '正常还款' WHEN 5 THEN '提前结清' WHEN 6 THEN '提前还款' WHEN 7 THEN '退款' END as '类型',
date(plan.deadline) 应还款日,plan.principle 应还本金,plan.fee_amount 应还服务费
from qunaer_new.fund_repay_detail t1
JOIN qunaer_new.
fund_
pay_detail t2 on t1.product_no = t2.product_no
JOIN qunaer_new.pay_detail t2 on t1.product_no = t2.product_no
JOIN qunaer_new.fund_corp t3 on t1.fund_code = t3.fund_code
LEFT JOIN qunaer_new.bank_flow bf on bf.flow_id = t1.flow_id
WHERE t2.trans_time >= '
%
s' and t2.trans_time < '
%
s'
JOIN qunaer_new.fund_repayment_plan plan on t1.product_no = plan.product_no and t1.current_stage_no = plan.current_stage_no
WHERE t2.interest_time >= '
%
s' and t2.interest_time < '
%
s'
'''
%
(
start_time
,
end_time
)
#用户退款---用户退单日
sql_user_refund
=
'''
...
...
@@ -54,24 +57,26 @@ def fund_tk(year,month):
sql_user_repay
=
'''
select product_no 产品编号,max(date(repay_time)) 用户退单日
from qunaer_new.repay_detail where
fund_code != 1 AND
fund_code != 1 AND
repay_status=1 AND
product_no in
%
s
group by 1
'''
df_refund
=
pd
.
read_sql
(
sql_refund
,
engine_qunaer
)
df_user_refund
=
pd
.
read_sql
(
sql_user_refund
%
str
(
tuple
(
df_refund
[
u'产品编号'
]
.
astype
(
str
)
.
tolist
())),
engine_qunaer
)
df_user_repay
=
pd
.
read_sql
(
sql_user_repay
%
str
(
tuple
(
df_refund
[
u'产品编号'
]
.
astype
(
str
)
.
tolist
())),
engine_qunaer
)
df_user_refund
=
pd
.
concat
([
df_user_refund
,
df_user_repay
],
ignore_index
=
True
)
df_user_refund
=
df_user_refund
.
groupby
([
u'产品编号'
])[
u'用户退单日'
]
.
max
()
.
reset_index
()
df_refund
=
pd
.
merge
(
df_refund
,
df_user_refund
,
on
=
[
u'产品编号'
],
how
=
'left'
)
# df_user_refund=pd.read_sql(sql_user_refund % str(tuple(df_refund[u'产品编号'].astype(str).tolist())),engine_qunaer)
# df_user_repay = pd.read_sql(sql_user_repay % str(tuple(df_refund[u'产品编号'].astype(str).tolist())), engine_qunaer)
# df_user_refund = pd.concat([df_user_refund,df_user_repay],ignore_index=True)
# df_user_refund=df_user_refund.groupby([u'产品编号'])[u'用户退单日'].max().reset_index()
# df_refund=pd.merge(df_refund,df_user_refund,on=[u'产品编号'],how='left')
df_refund
.
loc
[
df_refund
[[
u'产品编号'
,
u'应还款日'
]]
.
duplicated
(),
u'应还本金'
]
=
0
df_refund
.
loc
[
df_refund
[[
u'产品编号'
,
u'应还款日'
]]
.
duplicated
(),
u'应还服务费'
]
=
0
df_refund
=
df_refund
[[
u'资金方'
,
u'产品编号'
,
u'放款时间'
,
u'退还给资金方日'
,
u'还款金额'
,
u'实还本金'
,
u'实还利息'
,
u'实还资金方服务费'
,
u'流水号'
,
u'银行金额'
]]
df_refund
.
to_excel
(
file_path
+
u'
还资金方表
-
%
s_
%
s.xlsx'
%
(
year
,
month
),
index
=
None
,
encoding
=
'UTF-8'
)
,
u'银行金额'
,
u'应还款日'
,
u'应还本金'
,
u'应还服务费'
]]
df_refund
.
to_excel
(
file_path
+
u'
去哪儿_还资金方表_放款时间
-
%
s_
%
s.xlsx'
%
(
year
,
month
),
index
=
None
,
encoding
=
'UTF-8'
)
if
__name__
==
'__main__'
:
year
=
2017
month
=
8
month
=
10
fund_tk
(
year
,
month
)
\ No newline at end of file
审计第二阶段/去哪儿/人工控制/还资金方表.py
View file @
b3b578e5
...
...
@@ -25,8 +25,9 @@ pd.options.mode.chained_assignment = None
注意:财务说无需出 用户提前还款的-我们提前打款给资金方的
'''
engine_qunaer
=
create_engine
(
'mysql+mysqldb://yulong:ohVU1nPITynSZwR2@172.16.3.201:3306/qunaer_new?charset=utf8'
,
echo
=
False
)
.
connect
()
file_path
=
u'E:/量化派/'
engine_qunaer
=
create_engine
(
'mysql+mysqldb://internal_r:ArbNgtvlJzZHXsEu@172.16.3.201:3306/qunaer_new?charset=utf8'
,
echo
=
False
)
.
connect
()
file_path
=
u'E:/量化派/去哪儿/人工控制/还资金方-退款表/'
def
fund_tk
(
year
,
month
):
start_time
=
datetime
.
date
(
year
,
month
,
1
)
...
...
@@ -37,7 +38,7 @@ def fund_tk(year,month):
t1.repay_interest 实还利息,t1.repay_fee_amount 实还资金方服务费,t1.flow_id 流水号,bf.trans_amount 银行金额,
case t1.type WHEN 4 THEN '正常还款' WHEN 5 THEN '提前结清' WHEN 6 THEN '提前还款' WHEN 7 THEN '退款' END as '类型'
from qunaer_new.fund_repay_detail t1
JOIN qunaer_new.
fund_
pay_detail t2 on t1.product_no = t2.product_no
JOIN qunaer_new.pay_detail t2 on t1.product_no = t2.product_no
JOIN qunaer_new.fund_corp t3 on t1.fund_code = t3.fund_code
LEFT JOIN qunaer_new.bank_flow bf on bf.flow_id = t1.flow_id
WHERE t1.repay_time >= '
%
s' and t1.repay_time < '
%
s'
...
...
@@ -54,7 +55,7 @@ def fund_tk(year,month):
sql_user_repay
=
'''
select product_no 产品编号,max(date(repay_time)) 用户退单日
from qunaer_new.repay_detail where
fund_code != 1 AND
fund_code != 1 AND
repay_status= 1 AND
product_no in
%
s
group by 1
'''
...
...
@@ -67,11 +68,11 @@ def fund_tk(year,month):
df_refund
=
pd
.
merge
(
df_refund
,
df_user_refund
,
on
=
[
u'产品编号'
],
how
=
'left'
)
df_refund
=
df_refund
[[
u'资金方'
,
u'产品编号'
,
u'放款时间'
,
u'期数'
,
u'放款金额'
,
u'退还给资金方日'
,
u'还款金额'
,
u'实还本金'
,
u'实还利息'
,
u'实还资金方服务费'
,
u'流水号'
,
u'银行金额'
,
u'类型'
,
u'用户退单日'
]]
df_refund
.
to_excel
(
file_path
+
u'还资金方表-
%
s_
%
s.xlsx'
%
(
year
,
month
),
index
=
None
,
encoding
=
'UTF-8'
)
df_refund
.
to_excel
(
file_path
+
u'
去哪儿_
还资金方表-
%
s_
%
s.xlsx'
%
(
year
,
month
),
index
=
None
,
encoding
=
'UTF-8'
)
if
__name__
==
'__main__'
:
year
=
2017
month
=
9
month
=
10
fund_tk
(
year
,
month
)
\ No newline at end of file
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