临时存储
This commit is contained in:
parent
6e03f133f2
commit
67f2aefbae
|
@ -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")
|
||||
|
|
Loading…
Reference in New Issue