临时存储

This commit is contained in:
王思川 2021-12-21 17:31:26 +08:00
parent 6e03f133f2
commit 67f2aefbae
1 changed files with 144 additions and 56 deletions

View File

@ -1,4 +1,3 @@
import copy
import json
import time
import requests
@ -37,67 +36,83 @@ def basic_info_etl(cid, company_name):
Returns:
-
"""
data = read_json_file(file_path('/company/static/template/基本信息.json'))
# Params
basic_info = find_data_in_tyc('公司背景', '基本信息', {"企业名称": company_name})
holder_info = find_data_in_tyc('公司背景', '企业股东', {"企业名称": company_name})
member_info = find_data_in_tyc('公司背景', '主要人员', {"企业名称": company_name})
data['企业ID'] = cid
data['更新日期'] = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
data['企业名称'] = basic_info[0]['企业名称']
data['工商信息']['企业状态'] = basic_info[0]['基本信息']['regStatus']
data['工商信息']['法定代表人'] = basic_info[0]['基本信息']['legalPersonName']
data['工商信息']['企业类型'] = basic_info[0]['基本信息']['companyOrgType']
data['工商信息']['纳税人识别号'] = basic_info[0]['基本信息']['taxNumber']
data['工商信息']['经营范围'] = basic_info[0]['基本信息']['businessScope']
data['工商信息']['注册资本'] = basic_info[0]['基本信息']['regCapital']
data['工商信息']['实缴资本'] = basic_info[0]['基本信息']['actualCapital']
data['工商信息']['注册地址'] = basic_info[0]['基本信息']['regLocation']
data['工商信息']['登记机关'] = basic_info[0]['基本信息']['regInstitute']
data['工商信息']['行业'] = basic_info[0]['基本信息']['industry']
data['工商信息']['人员规模'] = basic_info[0]['基本信息']['staffNumRange']
data['工商信息']['参保人数'] = basic_info[0]['基本信息']['socialStaffNum']
data['工商信息']['小微企业'] = "" if basic_info[0]['基本信息']['regStatus'] == 1 else ""
# Returns
data = read_json_file(file_path('/company/static/template/基本信息.json'))
data['股东信息'] = []
for holder in holder_info[0]['企业股东']['result']:
info = dict()
info['股东'] = holder['name']
info['股东类型'] = "公司" if holder['type'] == 1 else ("个人" if holder['type'] == 2 else "其他")
# 处理工商信息
def business_data():
data['企业ID'] = cid
data['更新日期'] = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
data['企业名称'] = basic_info[0]['企业名称']
data['工商信息']['企业状态'] = basic_info[0]['基本信息']['regStatus']
data['工商信息']['法定代表人'] = basic_info[0]['基本信息']['legalPersonName']
data['工商信息']['企业类型'] = basic_info[0]['基本信息']['companyOrgType']
data['工商信息']['纳税人识别号'] = basic_info[0]['基本信息']['taxNumber']
data['工商信息']['经营范围'] = basic_info[0]['基本信息']['businessScope']
data['工商信息']['注册资本'] = basic_info[0]['基本信息']['regCapital']
data['工商信息']['实缴资本'] = basic_info[0]['基本信息']['actualCapital']
data['工商信息']['注册地址'] = basic_info[0]['基本信息']['regLocation']
data['工商信息']['登记机关'] = basic_info[0]['基本信息']['regInstitute']
data['工商信息']['行业'] = basic_info[0]['基本信息']['industry']
data['工商信息']['人员规模'] = basic_info[0]['基本信息']['staffNumRange']
data['工商信息']['参保人数'] = basic_info[0]['基本信息']['socialStaffNum']
data['工商信息']['小微企业'] = "" if basic_info[0]['基本信息']['regStatus'] == 1 else ""
if holder['capital']:
info['持股比例'] = None if holder['capital'][0]['percent'] == '' else holder['capital'][0]['percent']
info['认缴金额'] = None if holder['capital'][0]['amomon'] == '' else holder['capital'][0]['amomon']
info['认缴日期'] = None if holder['capital'][0]['time'] == '' else holder['capital'][0]['time']
else:
info['持股比例'] = None
info['认缴金额'] = None
info['认缴日期'] = None
# 处理股东信息
def share_holders():
data['股东信息'] = []
for holder in holder_info[0]['企业股东']['result']:
info = dict()
info['股东'] = holder['name']
info['股东类型'] = "公司" if holder['type'] == 1 else ("个人" if holder['type'] == 2 else "其他")
if holder['capitalActl']:
info['实缴金额'] = []
info['实缴方式'] = []
info['实缴时间'] = []
for capital_actl in holder['capitalActl']:
info['实缴金额'].append(capital_actl['amomon'])
info['实缴方式'].append(capital_actl['paymet'])
info['实缴时间'].append(capital_actl['time'])
else:
info['实缴金额'] = []
info['实缴方式'] = []
info['实缴时间'] = []
if holder['capital']:
info['持股比例'] = None if holder['capital'][0]['percent'] == '' else holder['capital'][0]['percent']
info['认缴金额'] = None if holder['capital'][0]['amomon'] == '' else holder['capital'][0]['amomon']
info['认缴日期'] = None if holder['capital'][0]['time'] == '' else holder['capital'][0]['time']
else:
info['持股比例'] = None
info['认缴金额'] = None
info['认缴日期'] = None
data['股东信息'].append(info)
if holder['capitalActl']:
info['实缴金额'] = []
info['实缴方式'] = []
info['实缴时间'] = []
for capital_actl in holder['capitalActl']:
info['实缴金额'].append(capital_actl['amomon'])
info['实缴方式'].append(capital_actl['paymet'])
info['实缴时间'].append(capital_actl['time'])
else:
info['实缴金额'] = []
info['实缴方式'] = []
info['实缴时间'] = []
data['主要成员'] = []
for member in member_info[0]['主要人员']['result']:
info = dict()
info['姓名'] = member['name']
info['职务'] = member['typeJoin']
data['股东信息'].append(info)
data['主要成员'].append(info)
# 处理主要成员信息
def main_members():
data['主要成员'] = []
for member in member_info[0]['主要人员']['result']:
info = dict()
info['姓名'] = member['name']
info['职务'] = member['typeJoin']
data['主要成员'].append(info)
insert_data_to_tfse('企业', '公司基本信息', data)
# 保存处理后的数据
def save_result():
insert_data_to_tfse('企业', '公司基本信息', data)
# 执行方法
business_data()
share_holders()
main_members()
save_result()
def general_rating_etl(rid):
@ -112,7 +127,6 @@ def general_rating_etl(rid):
# Parameters
rating_result = find_data_in_tfse('评价', '评价结果', {"评价ID": rid})[0]
rating_record = find_data_in_tfse('评价', '评价结果', {"企业ID": rating_result['企业ID']})
df_records = pd.DataFrame(rating_record).sort_values('评价时间', ascending=False)
# Returns
@ -271,13 +285,87 @@ def financial_analysis(rid):
result['同行对比表'] = json.loads((df['今年值']/df['平均值']-1).apply(lambda x: '{}%'.format(round(x * 100, 2))).T.to_json())
# 指标详情
result['指标详情'] = json.loads(df_this[
['净资产收益率', '存货周转率', '已获利息倍数', '应收账款周转率', '总资产周转率', '总资产增长率', '总资产报酬率', '技术投入比率', '营业增长率', '资产负债率',
'速动比率']].apply(lambda x: '{}%'.format(x.values[0]) if '' in x.name else x.values[0]).T.to_json())
index_value = json.loads(df_this[['净资产收益率', '总资产报酬率', '总资产周转率', '应收账款周转率', '存货周转率', '资产负债率', '已获利息倍数', '速动比率', '营业增长率', '总资产增长率', '技术投入比率']].apply(lambda x: '{}%'.format(x.values[0]) if '' in x.name else x.values[0]).T.to_json())
rate = dict()
rate['净资产收益率'] = rating_result['财务评分']['盈利能力']['净资产收益率']/8
rate['总资产报酬率'] = rating_result['财务评分']['盈利能力']['总资产报酬率']/8
rate['总资产周转率'] = rating_result['财务评分']['资产质量']['总资产周转率']/6
rate['存货周转率'] = rating_result['财务评分']['资产质量']['存货周转率']/6
rate['应收账款周转率'] = rating_result['财务评分']['资产质量']['应收账款周转率']/6
rate['资产负债率'] = rating_result['财务评分']['债务风险']['资产负债率']/8
rate['已获利息倍数'] = rating_result['财务评分']['债务风险']['已获利息倍数']/5
rate['速动比率'] = rating_result['财务评分']['债务风险']['速动比率']/5
rate['营业增长率'] = rating_result['财务评分']['经营增长']['营业增长率']/8
rate['总资产增长率'] = rating_result['财务评分']['经营增长']['总资产增长率']/5
rate['技术投入比率'] = rating_result['财务评分']['经营增长']['技术投入比率']/5
df_rate = pd.DataFrame([rate])
index_level = json.loads(df_rate.apply(lambda x: '' if x.values[0] >= 1 else ('' if x.values[0] >= 0.75 else ('' if x.values[0] >= 0.5 else ('' if x.values[0] >= 0.25 else '')))).to_json())
df_index = pd.DataFrame({'': index_value, "级别": index_level})
reslist = []
for row in df_index.iterrows():
index, data = row
reslist.append([index] + data.tolist())
result['指标详情'] = reslist
insert_data_to_tfse('企业', '财务要素分析', result)
def risk_analysis_etl(rid):
"""
风险要素分析
Parameters:
rid str 评价ID
Returns:
-
"""
# Params
risk_data = find_data_in_tfse('评价', '风险数据', {"评价ID": rid})[0]
# Returns
result = dict()
# 统计风险占比
def stat_risk_parts():
return {
"诉讼": 10,
"开庭公告": 5
}
# 计算风险级别
def risk_level():
return ''
# 统计风险数量
def stat_risk_num():
return 10
# 判断失信人
def is_break_trust():
return ''
# 合规风险表格
def table_01():
return []
# 经营风险表格
def table_02():
return []
# 关联风险表格
def table_03():
return []
# 变更记录表格
def table_04():
return []
# 汇总数据处理结果
pass
if __name__ == '__main__':
# general_rating_etl("kSVoCeJ1")
financial_analysis("bR2n0mV0")
# financial_analysis("bR2n0mV0")
risk_analysis_etl("bR2n0mV0")