tfse-etl-api-v0.2/RatingData/scripts/report/company_profile.py

882 lines
34 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import datetime
from RatingData.scripts.common import *
from Utils.ObjUtil import SpecObject
def company_background(param1, param2):
"""
公司背景
清洗数据库数据,根据需要返回
Parameters:
param1: 企业名称
param2: 数据库数据
Returns:
公司背景数据
"""
# Params
data_01 = param2['基本信息']['基本信息']
data_02 = param2['企业股东']
data_03 = param2['综合评价填报']['财务填报']
# Returns
result = list()
def para_01():
part_01 = dict()
part_01['company'] = param1
# 年限
part_01['year_03'] = data_03['资产负债表'][0]['报告期'][:4]
# 成立时间
part_01['found_date'] = time_stamp(data_01['estiblishTime'])
# 注册资本
part_01['register_assets'] = data_01['regCapital']
# 实收资本
part_01['paid_assets'] = data_01['actualCapital']
try:
if '企业股东' in data_02:
# 股份持有人
part_01['share_holders'] = data_02['企业股东']['result'][0]['name']
# 股份
part_01['share_rates'] = data_02['企业股东']['result'][0]['capital'][0]['percent']
else:
part_01['share_holders'] = data_02['十大股东']['holderList'][0]['name']
# 股份
part_01['share_rates'] = data_02['十大股东']['holderList'][0]['capital'][0]['proportion']
except KeyError:
# 股份持有人
part_01['share_holders'] = '-'
# 股份
part_01['share_rates'] = '-'
except IndexError:
if '企业股东' in data_02:
# 股份持有人
part_01['share_holders'] = data_02['企业股东']['result'][0]['name']
else:
part_01['share_holders'] = data_02['十大股东']['holderList'][0]['name']
# 股份
part_01['share_rates'] = '-'
# 实际控制人
part_01['real_boss'] = part_01['share_holders']
# 经营范围
part_01['business_scope'] = data_01['businessScope']
return part_01
def para_02():
part_02 = dict()
# 年限
part_02['year_03'] = data_03['资产负债表'][0]['报告期'][:4]
total_assets_01 = data_03['资产负债表'][0]['资产总计']
total_assets_02 = data_03['资产负债表'][1]['资产总计']
# 公司总资产
part_02['total_assets'] = modify_unit(total_assets_01)
# 总资产同比增长
part_02['year_03_total_assets_variety'] = str(calculate_growth_rate(total_assets_01, total_assets_02))
net_assets_01 = data_03['资产负债表'][0]['所有者权益合计']
net_assets_02 = data_03['资产负债表'][1]['所有者权益合计']
# 净资产(所有者权益)
part_02['net_assets'] = modify_unit(net_assets_01)
# 净资产同比增长
part_02['year_03_net_assets_variety'] = str(calculate_growth_rate(net_assets_01, net_assets_02))
income_01 = data_03['利润表'][0]['营业收入']
income_02 = data_03['利润表'][1]['营业收入']
# 营业收入
part_02['income'] = modify_unit(income_01)
# 营业收入同比增长
part_02['year_03_income_variety'] = str(calculate_growth_rate(income_01, income_02))
profit_01 = data_03['利润表'][0]['净利润']
profit_02 = data_03['利润表'][1]['净利润']
# 净利润
part_02['profit'] = modify_unit(profit_01)
# 净利润同比增长
part_02['year_03_profit_variety'] = str(calculate_growth_rate(profit_01, profit_02))
return part_02
result.append(para_01())
result.append(para_02())
return result
def shareholder_strength(param):
"""
股东实力
清洗数据库数据,根据需要返回
Parameters:
param: 数据库数据
Returns:
股东实力数据
"""
# Params
data_01 = param['企业股东']
# Returns
result = list()
def para_01():
part_01 = dict()
# 大股东名称
shareholder = data_01['企业股东']['result'][0]['name']
part_01['company'] = shareholder
# 股东数据
shareholder_data = shareholder_strength_data(shareholder)
# 股东-基本信息
data_02 = shareholder_data['基本信息']['基本信息']
# 股东-企业股东
data_03 = shareholder_data['企业股东']['企业股东']
# 成立时间
part_01['found_date'] = time_stamp(data_02['estiblishTime'])
# 注册资本
part_01['registered_capital'] = data_02['regCapital']
try:
# 股东企业股份持有人
part_01['share_holders'] = data_03['result'][0]['name']
# 股东企业股份持有份额
part_01['share_rates'] = data_03['result'][0]['capital'][0]['percent']
except KeyError:
part_01['share_holders'] = '-'
part_01['share_rates'] = '-'
# 股东企业经营范围
part_01['business_scope'] = data_02['businessScope']
return part_01
def para_01_01():
part_01 = dict()
# 大股东名称
shareholder = data_01['十大股东']['holderList'][0]['name']
part_01['company'] = shareholder
# 股东数据
shareholder_data = ten_shareholder_data(shareholder)
if shareholder_data['基本信息']['基本信息']:
# 股东-基本信息
data_02 = shareholder_data['基本信息']['基本信息']
# 成立时间
part_01['found_date'] = time_stamp(data_02['estiblishTime'])
# 注册资本
part_01['registered_capital'] = data_02['regCapital']
if '企业股东' in shareholder_data:
# 股东-企业股东
data_03 = shareholder_data['企业股东']['企业股东']['result']
try:
# 股东企业股份持有人
part_01['share_holders'] = data_03[0]['name']
# 股东企业股份持有份额
part_01['share_rates'] = data_03[0]['capital'][0]['percent']
except KeyError:
part_01['share_holders'] = '-'
part_01['share_rates'] = '-'
else:
# 股东-十大股东
data_03 = SpecObject.get_attr(shareholder_data['十大股东'], 'holderList')
try:
# 股东企业股份持有人
part_01['share_holders'] = data_03[0]['name']
# 股东企业股份持有份额
part_01['share_rates'] = data_03[0]['proportion']
except KeyError:
part_01['share_holders'] = '-'
part_01['share_rates'] = '-'
except TypeError:
part_01['share_holders'] = '-'
part_01['share_rates'] = '-'
# 股东企业经营范围
part_01['business_scope'] = data_02['businessScope']
else:
part_01['found_date'] = '-'
part_01['registered_capital'] = '-'
part_01['share_holders'] = '-'
part_01['share_rates'] = '-'
part_01['business_scope'] = '-'
return part_01
def para_02(part_01):
part_02 = dict()
def establish_time():
# 成立时间
try:
esatablish = datetime.datetime.today().year - int(part_01['found_date'][:4])
except ValueError:
esatablish = 0
if esatablish >= 5:
part_02['establish_time'] = '较长'
else:
part_02['establish_time'] = '较短'
def capital_support():
try:
# 注册资本
regcapital = float(part_01['registered_capital'].replace('万人民币', ''))
except AttributeError:
regcapital = 0
except ValueError:
regcapital = 0
if regcapital >= 30000:
part_02['capital_strength'] = ''
part_02['support_strength'] = '有望在业务和资金方面给予公司一定支持'
elif regcapital >= 10000:
part_02['capital_strength'] = '较强'
part_02['support_strength'] = '有望在业务和资金方面给予公司一定支持'
elif regcapital >= 3000:
part_02['capital_strength'] = '尚可'
part_02['support_strength'] = '对公司的支持力度或较弱'
elif regcapital >= 1000:
part_02['capital_strength'] = '较弱'
part_02['support_strength'] = '对公司的支持力度或较弱'
else:
part_02['capital_strength'] = ''
part_02['support_strength'] = '对公司的支持力度或较弱'
# 执行子方法
establish_time()
capital_support()
return part_02
def para_03():
part_01 = dict()
# 股东为自然人
if '企业股东' in data_01:
part_01['name'] = data_01['企业股东']['result'][0]['name']
# 自然人控股企业数据
subsidiaries = person_subsidiaries(data_01['result'][0]['id'])
else:
part_01['name'] = data_01['十大股东']['holderList'][0]['name']
# 自然人控股企业数据
subsidiaries = person_subsidiaries(data_01['十大股东']['holderList'][0]['id'])
def enterprise_amount():
# 初始化企业数量
amount = 0
if len(subsidiaries['人员控股企业']['人员控股企业']) > 0:
for item in subsidiaries['人员控股企业']['items']:
reg = float(item['regCapital'].replace('万人民币', ''))
percent = float(item['percent'].replace('%', ''))
if reg > 3000 and percent > 50:
amount += 1
if amount > 0:
part_01['enterprise_amount'] = '旗下拥有{num}家资本实力较强的子公司,可为公司经营提供一定支持'.format(num=amount)
else:
part_01['enterprise_amount'] = '旗下无资本实力较强的子公司,对公司支持力度偏弱'
# 执行子方法
enterprise_amount()
return part_01
# 判断公司类型再判断企业类型
if '企业股东' in data_01:
if data_01['企业股东']['result'][0]['type'] == 1:
data = para_01()
res = para_02(data)
result.append(data)
result.append(res)
else:
result.append(para_03())
else:
if data_01['十大股东']['holderList'][0]['cType'] == 1:
data = para_01_01()
res = para_02(data)
result.append(data)
result.append(res)
else:
result.append(para_03())
return result
def outbound_investment(param):
"""
对外投资
清洗数据库数据,根据需要返回
Parameters:
param: 数据库数据
Returns:
对外投资数据
"""
# Params
data_01 = param['对外投资']['对外投资']
data_02 = param['综合评价填报']['财务填报']
# Returns
result = list()
part_01 = dict()
if not data_01:
part_01['describe'] = '截至{}年,未查询到该公司对外投资相关信息。'.format(data_02['资产负债表'][0]['报告期'][:4])
result.append(part_01)
else:
def para_01():
# 年限
part_01['year_03'] = data_02['资产负债表'][0]['报告期'][:4]
# 对外投资情况
try:
# 对外投资数量
part_01['subsidiary_total_number'] = len(data_01['result'])
# 投资总金额
part_01['investment_total_amount'] = str(calculate_amount(data_01['result'])['amount'])
except KeyError:
part_01['subsidiary_total_number'] = 0
part_01['investment_total_amount'] = 0
def subsidiary_number():
# 持股50%以上子公司
fifty_percent = list()
for item in data_01['result']:
try:
percent = float(item['percent'].replace('%', ''))
except ValueError:
percent = 0
if percent > 50:
fifty_percent.append(item)
# 子公司数量
part_01['subsidiary_number'] = str(len(fifty_percent))
# 子公司投资金额合计
part_01['investment_amount'] = str(calculate_amount(fifty_percent)['amount'])
# 对外投资集中行业
industry = calculate_amount(data_01['result'])['industry']
industry_amount = calculate_list(industry)
top_3_industry = sorted(industry_amount.items(), key=lambda x: x[1], reverse=True)
industry_result = calculate_tuple(top_3_industry, data_01['result'],
float(part_01['investment_total_amount']),
'industry')
part_01['top_3_industry'] = industry_result['industry']
# 行业集中度
part_01['Industry_concentration'] = industry_result['concentration']
# 对外投资地域集中省市
base = calculate_amount(data_01['result'])['base']
base_amount = calculate_list(base)
top_3_base = sorted(base_amount.items(), key=lambda x: x[1], reverse=True)
region_result = calculate_tuple(top_3_base, data_01['result'], float(part_01['investment_total_amount']),
'region')
part_01['top_3_region'] = region_result['industry']
part_01['Regional_concentration'] = region_result['concentration']
# 执行子方法
subsidiary_number()
return part_01
def para_02():
part_02 = list()
part_02.append(['被投资企业名称', '注册资本', '投资比例', '投资金额', '成立日期', '所属行业', '所属省份'])
for item in data_01['result']:
insert_list = list()
insert_list.append(item['name'])
insert_list.append(item['regCapital'].replace("万人民币", ""))
insert_list.append(item['percent'])
insert_list.append(item['amount'])
insert_list.append(time_stamp(item['estiblishTime']))
insert_list.append(item['category'])
insert_list.append(province_conversion(item['base']))
insert_list = judge_list(insert_list)
part_02.append(insert_list)
return part_02
result.append(para_01())
result.append(para_02())
return result
def business_status(param):
"""
业务状况
清洗数据库数据,根据需要返回
Parameters:
param: 数据库数据
Returns:
业务状况数据
"""
def calculate_tuple(param1, param2, param3, param4):
"""
计算元组中值最大的三个
Parameters:
param1: tuple数据
param2: 对外投资数据
param3: 对外投资总金额
param4: industry/region
Returns:
元组元素出现次数对象
行业集中度
"""
result = dict()
if len(param1) > 3:
data = param1[:3]
result['industry'] = [data[0][0], data[1][0], data[2][0]]
else:
result['industry'] = list()
for num in range(len(param1)):
result['industry'].append(param1[num][0])
amount = 0
for item in param2:
if param4 == 'industry':
if item['category'] in result['industry']:
try:
amount += item['amount']
except TypeError:
amount += 0
else:
if item['base'] in result['industry']:
try:
amount += item['amount']
except TypeError:
amount += 0
try:
concentration = round(amount / param3 * 100, 2)
except ZeroDivisionError:
concentration = 0
if concentration > 60:
result['concentration'] = ''
elif concentration > 40:
result['concentration'] = '较高'
elif concentration > 20:
result['concentration'] = '适中'
elif concentration > 10:
result['concentration'] = '较低'
else:
result['concentration'] = ''
base_list = list()
if param4 == 'region':
for region in result['industry']:
res = [v for k, v in p_map.items() if k == region][0]
base_list.append(res)
result['industry'] = ''.join(base_list)
else:
result['industry'] = ''.join(result['industry'])
return result
def import_export(param):
"""
进出口权
清洗数据库数据,根据需要返回
Parameters:
param: 数据库数据
Returns:
对外投资数据
"""
data_01 = param['进出口信用']['进出口信用']
result = list()
part_01 = dict()
if data_01:
part_01['import_export_power'] = '拥有' + data_01['baseInfo']['creditRating']
part_01['year_03'] = None
part_01['amount'] = None
part_01['proportion'] = None
part_01['influence'] = ''
else:
part_01['import_export_power'] = ''
part_01['year_03'] = None
part_01['amount'] = None
part_01['proportion'] = None
part_01['influence'] = ''
result.append(part_01)
return result
def intellectual_property(param):
"""
知识产权
清洗数据库数据,根据需要返回
Parameters:
param: 数据库数据
Returns:
知识产权数据
"""
# Params
data_01 = param['专利']['专利']
data_02 = param['软件著作权']['软件著作权']
today = datetime.datetime.today()
year = today.year
month = today.month
date = str(year) + '' + str(month) + ''
# Returns
result = list()
def para_01():
part_01 = dict()
# 截至日期
part_01['date'] = date
def patent():
if data_01 is None or not data_01:
# 专利数量
part_01['patent_number'] = '0'
# 三种类型专利数量
part_01['patent_number_03'] = '0、0、0'
# 近三年专利数量
part_01['patent_number_three_year'] = '0'
# 近三年三种类型专利数量
part_01['patent_number_03_three_year'] = '0、0、0'
else:
part_01['patent_number'] = str(len(data_01))
three_year_number = 0
um = 0
ad = 0
ip = 0
um_03 = 0
ad_03 = 0
ip_03 = 0
for item in data_01:
if year - int(item['pubDate'][:4]) <= 3:
three_year_number += 1
if item['patentType'] == '实用新型':
um_03 += 1
elif item['patentType'] == '外观设计':
ad_03 += 1
elif item['patentType'] == '发明专利':
ip_03 += 1
if item['patentType'] == '实用新型':
um += 1
elif item['patentType'] == '外观设计':
ad += 1
elif item['patentType'] == '发明专利':
ip += 1
part_01['patent_number_three_year'] = str(three_year_number)
part_01['patent_number_03'] = str(um) + '' + str(ad) + '' + str(ip)
part_01['patent_number_03_three_year'] = str(um_03) + '' + str(ad_03) + '' + str(ip_03)
patent()
return part_01
def para_02():
part_02 = dict()
part_02['date'] = date
def copyrights():
if data_02 is None or not data_02:
part_02['copyrights_number'] = '0'
part_02['copyrights_number_three_year'] = '0'
else:
part_02['copyrights_number'] = str(len(data_02))
three_year_number = 0
for item in data_02:
if year - int(item['regtime'][:4]) <= 3:
three_year_number += 1
part_02['copyrights_number_three_year'] = str(three_year_number)
copyrights()
return part_02
def para_03(param1, param2):
part_03 = dict()
patented_software = int(param1['patent_number']) + int(param2['copyrights_number'])
if patented_software > 5000:
part_03['patented_software'] = '较多'
part_03['RD_capability'] = ''
elif patented_software > 1000:
part_03['patented_software'] = '处于行业中游水平'
part_03['RD_capability'] = '尚可'
else:
part_03['patented_software'] = '较少'
part_03['RD_capability'] = ''
return part_03
param_01 = para_01()
param_02 = para_02()
result.append(param_01)
result.append(param_02)
result.append(para_03(param_01, param_02))
return result
def qualification_honor(param):
"""
资质荣誉 区分行业
Parameters:
param: 数据库数据
"""
industry = param['综合评价填报']['行业选择'][0]
if industry == '制造业':
return qualification_honor_manufacturing(param)
elif industry == '信息技术业':
return qualification_honor_infomation(param)
def qualification_honor_manufacturing(param):
"""
资质荣誉-制造业
清洗数据库数据,根据需要返回
Parameters:
param: 数据库数据
Returns:
资质荣誉数据
"""
# Params
data = param['资质证书']['资质证书']
qh_tep = ['AAA级中国科技创新优秀企业', '高新技术企业', '科技型中小企业', '全国科技创新示范企业', 'AAA级中国自主创新产品']
qn_tep = ['GMP认证', '医疗器械质量管理体系认证', '中国质量认证中心_CQC自愿性产品认证', 'gmp认证', 'gsp认证', 'GSP认证',
'安全生产标准化三级企业', '安全生产标准化证书', '质量合格、国家标准合格产品', '质量管理体系认证证书',
'食品安全管理体系认证', '食品安全管理体系认证证书', 'CE认证', '日本PSE认证', 'CE认证证书']
qi_tep = ['CE认证', '日本PSE认证', 'CE认证证书']
qf_tep = ['中国著名品牌', '中国驰名品牌', '中国行业最具影响力品牌']
all_tep = qh_tep + qn_tep + qi_tep + qf_tep
# Returns
result = list()
part_01 = dict()
part_02 = dict()
part_03 = list()
part_03.append(['证书类型', '证书编号', '发证日期', '截至日期'])
def para_01():
part_01['Qualification'] = list()
part_01['integration_deree'] = '较低'
if item['certificateName'] in qh_tep:
part_01['Qualification'].append(item['certificateName'])
if item['certificateName'] == '两化融合管理体系评定证书':
part_01['integration_deree'] = '较高'
# 企业资质
if len(part_01['Qualification']) > 0:
part_01['Qualification'] = ''.join(part_01['Qualification'])
else:
part_01['Qualification'] = ''
def para_02():
part_02['Qualification_number'] = 0
part_02['Qualification_international'] = list()
part_02['Qualification_image'] = list()
if item['certificateName'] in qn_tep:
part_02['Qualification_number'] += 1
if item['certificateName'] in qi_tep:
part_02['Qualification_international'].append(item['certificateName'])
if item['certificateName'] in qf_tep:
part_02['Qualification_image'].append(item['certificateName'])
# 国际同行产品质量认证
if len(part_02['Qualification_international']) > 0:
part_02['Qualification_international'] = ''.join(part_02['Qualification_international'])
part_02['Qualification_international'] = '尤其拥有{}等国际通行产品质量认证,对于开拓海外市场有积极意义'.format(
part_02['Qualification_international'])
else:
part_02['Qualification_international'] = '但未拥有国际通行产品质量认证'
# 是否被评为中国品牌
if len(part_02['Qualification_image']) > 0:
part_02['Qualification_image'] = ''.join(part_02['Qualification_image'])
part_02['Qualification_image'] = '公司品牌知名度较高,被评为{},市场形象较好,有利于业务开展。'.format(
part_02['Qualification_image'])
else:
part_02['Qualification_image'] = '公司品牌知名度较低,市场形象一般,不太利于业务开展。'
def para_03():
if item['certificateName'] in all_tep:
insert_data = list()
insert_data.append(item['certificateName'])
insert_data.append(item['certNo'])
insert_data.append(item['startDate'])
insert_data.append(None if len(item['endDate']) == 0 else item['endDate'])
insert_data = judge_list(insert_data)
part_03.append(insert_data)
if len(data) == 0:
part_01 = '无数据'
result.append(part_01)
else:
for item in data['result']:
para_01()
para_02()
para_03()
result.append(part_01)
result.append(part_02)
result.append(part_03)
return result
def qualification_honor_infomation(param):
"""
资质荣誉-信息技术业
清洗数据库数据,根据需要返回
Parameters:
param: 数据库数据
Returns:
资质荣誉数据
"""
# Params
data = param['资质证书']['资质证书']
cs_tep = ['中国软件协会会员证']
qh_tep = ['AAA级中国科技创新优秀企业', '高新技术企业', '科技型中小企业', '全国科技创新示范企业', 'AAA级中国自主创新产品']
yy_tep = ['整合管理体系认证', '支付业务许可证', '音视频即成工程企业资质壹级', '安防工程企业设计施工维护能力证书', '测绘乙级资质证书',
'自助照相信息化建设维护服务管理体系认证证书', '电子认证服务使用密码许可']
gy_tep = ['两化融合管理体系评定证书']
jc_tep = ['检测机构资质认定证书', '检验检测机构资质认定证书']
js_tep = ['信息系统建设和服务能力等级证书', '信息技术运行维护成熟度四级证书', '信息系统运行分项维护资质', '信息系统集成项目经理登记']
xx_tep = ['信息系统灾难备份与恢复服务资质认证', '信息安全服务资质认证', '信息系统安全等级保护备案证明',
'安全技术防范系统设计、施工、维修资格证', '计算机信息系统安全专用产品销售许可证', '国家秘密载体复制许可证',
'信息安全风险评估服务资质认证', '涉密信息系统集成资质证书', '软件开发乙级', '网络安全专用产品', '设置空间电台审批']
qf_tep = ['中国著名品牌', '中国驰名品牌', '中国行业最具影响力品牌', 'AAA级中国著名品牌', 'AAA级中国品牌建设实践百名创新优秀人']
all_tep = cs_tep + qh_tep + yy_tep + gy_tep + jc_tep + js_tep + xx_tep + qf_tep
# Returns
result = list()
part_01 = dict()
part_02 = dict()
part_03 = dict()
part_04 = list()
part_04.append(['证书类型', '证书编号', '发证日期', '截至日期'])
# 第一段,企业被评为哪些证书
qua_list_01 = list()
# 第二段数据
qua_list_02 = dict()
qua_list_02['qua_num_01'] = 0
qua_list_02['qua_num_02'] = 0
qua_list_02['qua_num_03'] = 0
qua_list_02['qua_num_04'] = 0
qua_list_02['qua_num_05'] = 0
# 第三段数据
qua_list_03 = list()
def para_01():
# 荣誉资质第一段话描述
part_01['describe'] = list()
# 判断第一句话
if item['certificateName'] in cs_tep:
part_01['describe'].append('公司是中国软件协会会员,为高新技术企业。')
# 判断第二句话
if item['certificateName'] in qh_tep:
qua_list_01.append(item['certificateName'])
def para_02():
if item['certificateName'] in yy_tep:
qua_list_02['qua_num_01'] += 1
if item['certificateName'] in gy_tep:
qua_list_02['qua_num_02'] += 1
if item['certificateName'] in jc_tep:
qua_list_02['qua_num_03'] += 1
if item['certificateName'] in js_tep:
qua_list_02['qua_num_04'] += 1
if item['certificateName'] in xx_tep:
qua_list_02['qua_num_05'] += 1
def para_03():
if item['certificateName'] in qf_tep:
qua_list_03.append(item['certificateName'])
def para_04():
if item['certificateName'] in all_tep:
insert_data = list()
insert_data.append(item['certificateName'])
insert_data.append(item['certNo'])
insert_data.append(item['startDate'])
insert_data.append(None if len(item['endDate']) == 0 else item['endDate'])
insert_data = judge_list(insert_data)
part_04.append(insert_data)
if len(data) == 0:
part_01 = '经查询,公司无技术、服务资质或品牌等方面的荣誉资质。'
result.append(part_01)
else:
for item in data['result']:
para_01()
para_02()
para_03()
para_04()
# 判断第一段
# 列表大于0为第一段加上第二句描述语句
if len(qua_list_01) > 0:
set_list = list(set(qua_list_01))
s = ''.join(set_list)
describe = '企业被评为{}'.format(s)
part_01['describe'].append(describe)
# 总体数据列表等于2加上最后一句描述
if len(part_01['describe']) == 2:
part_01['describe'].append('属于新一代信息技术业企业。')
if len(part_01['describe']) > 0:
# 将数据解析成第一段描述语句的字符串
part_01['describe'] = ''.join(part_01['describe'])
else:
part_01['describe'] = '无数据'
result.append(part_01)
# 判断第二段
qua_list_num = 0
for value in qua_list_02.values():
qua_list_num += value
if qua_list_num > 0:
describe = '公司拥有较强的软件和信息技术服务能力,具有{}项应用软件产品、{}项工业软件产品、{}项检测认定、{}项信息系统建设和维护、' \
'{}项信息系统安全服务等相关资质。'
part_02['describe'] = describe.format(qua_list_02['qua_num_01'], qua_list_02['qua_num_02'],
qua_list_02['qua_num_03'], qua_list_02['qua_num_04'],
qua_list_02['qua_num_05'])
else:
part_02['describe'] = '无数据'
result.append(part_02)
# 判断第三段
if len(qua_list_03) > 0:
describe = ''.join(qua_list_03)
part_03['describe'] = '公司品牌知名度较高,被评为{},市场形象较好,有利于业务开展。'.format(describe)
else:
part_03['describe'] = '无数据'
result.append(part_03)
result.append(part_04)
# 最后判断前三段是否都为无数据
if result[0]['describe'] == '无数据' and result[1]['describe'] == '无数据' and result[2]['describe'] == '无数据':
result = list()
part_01 = dict()
part_01['describe'] = '无数据'
result.append(part_01)
return result
def financing_information(param):
"""
融资信息
清洗数据库数据,根据需要返回
Parameters:
param: 数据库数据
Returns:
融资信息数据
"""
data = param['融资历史']['融资历史']
result = list()
part_01 = dict()
part_02 = dict()
part_03 = dict()
part_04 = dict()
if len(data) == 0:
part_01['number'] = 0
part_01['Financing_round'] = 0
part_01['Financing_amount'] = 0
part_01['top_3_investor'] = 0
else:
part_01['number'] = data['total']
part_01['Financing_round'] = list()
part_01['Financing_amount'] = 0
part_01['top_3_investor'] = list()
for item in data['result']:
part_01['Financing_round'].append(item['round'])
if item['money'] == '未披露':
part_01['Financing_amount'] += 0
else:
part_01['Financing_amount'] += item['money']
part_01['top_3_investor'].append(item['investorName'])
part_01['Financing_round'] = ''.join(set(part_01['Financing_round']))
part_01['top_3_investor'] = ''.join(set(part_01['top_3_investor']))
part_02['fin_channel'] = '银行贷款'
part_03['Commercial_credit_level'] = '较好'
part_03['Bargaining_power'] = ''
part_03['Financing_scale'] = ''
part_03['Financing_amount'] = part_01['Financing_amount']
part_04 = list()
part_04.append(['日期', '融资金额', '融资轮次', '投资方'])
for item in data['result']:
insert_data = list()
insert_data.append(time_stamp(item['pubTime']))
insert_data.append(item['money'])
insert_data.append(item['round'])
insert_data.append(item['investorName'])
part_04.append(insert_data)
result.append(part_01)
result.append(part_02)
result.append(part_03)
result.append(part_04)
return result