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

862 lines
33 KiB
Python
Raw Normal View History

import datetime
2021-12-27 17:02:03 +08:00
from rating.scripts.common import *
def company_background(param1, param2):
"""
公司背景
清洗数据库数据根据需要返回
Parameters:
param1: 企业名称
param2: 数据库数据
Returns:
公司背景数据
"""
# Params
data_01 = param2['基本信息']['基本信息']
data_02 = param2['企业股东']
2021-12-27 17:02:03 +08:00
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'] = '-'
2022-01-21 16:48:17 +08:00
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']
2022-01-21 16:48:17 +08:00
# 股份
part_01['share_rates'] = '-'
2021-12-27 17:02:03 +08:00
# 实际控制人
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]['资产总计']
# 公司总资产
2022-01-07 16:53:51 +08:00
part_02['total_assets'] = modify_unit(total_assets_01)
2021-12-27 17:02:03 +08:00
# 总资产同比增长
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]['所有者权益合计']
# 净资产(所有者权益)
2022-01-07 16:53:51 +08:00
part_02['net_assets'] = modify_unit(net_assets_01)
2021-12-27 17:02:03 +08:00
# 净资产同比增长
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]['营业收入']
# 营业收入
2022-01-07 16:53:51 +08:00
part_02['income'] = modify_unit(income_01)
2021-12-27 17:02:03 +08:00
# 营业收入同比增长
part_02['year_03_income_variety'] = str(calculate_growth_rate(income_01, income_02))
profit_01 = data_03['利润表'][0]['净利润']
profit_02 = data_03['利润表'][1]['净利润']
# 净利润
2022-01-07 16:53:51 +08:00
part_02['profit'] = modify_unit(profit_01)
2021-12-27 17:02:03 +08:00
# 净利润同比增长
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['企业股东']
2021-12-27 17:02:03 +08:00
# Returns
result = list()
def para_01():
part_01 = dict()
# 大股东名称
shareholder = data_01['企业股东']['result'][0]['name']
2021-12-27 17:02:03 +08:00
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'] = '-'
2021-12-27 17:02:03 +08:00
# 股东企业经营范围
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)
# 股东-基本信息
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 = 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'] = '-'
# 股东企业经营范围
part_01['business_scope'] = data_02['businessScope']
return part_01
2021-12-27 17:02:03 +08:00
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
2021-12-27 17:02:03 +08:00
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
2021-12-27 17:02:03 +08:00
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'])
2021-12-27 17:02:03 +08:00
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())
2021-12-27 17:02:03 +08:00
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())
2021-12-27 17:02:03 +08:00
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:
2022-01-13 11:14:45 +08:00
part_01['describe'] = '截至{}年,未查询到该公司对外投资相关信息。'.format(data_02['资产负债表'][0]['报告期'][:4])
2022-01-07 16:53:51 +08:00
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
2022-01-07 16:53:51 +08:00
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']),
2022-01-07 16:53:51 +08:00
'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(['被投资企业名称', '注册资本', '投资比例', '投资金额', '成立日期', '所属行业', '所属省份'])
2021-12-27 17:02:03 +08:00
for item in data_01['result']:
2022-01-07 16:53:51 +08:00
insert_list = list()
insert_list.append(item['name'])
2022-01-21 14:02:03 +08:00
insert_list.append(item['regCapital'].replace("万人民币", ""))
2022-01-07 16:53:51 +08:00
insert_list.append(item['percent'])
2022-01-21 14:02:03 +08:00
insert_list.append(item['amount'])
2022-01-07 16:53:51 +08:00
insert_list.append(time_stamp(item['estiblishTime']))
insert_list.append(item['category'])
insert_list.append(province_conversion(item['base']))
2022-01-21 14:02:03 +08:00
insert_list = judge_list(insert_list)
2022-01-07 16:53:51 +08:00
part_02.append(insert_list)
return part_02
result.append(para_01())
result.append(para_02())
2021-12-27 17:02:03 +08:00
return result
def business_status(param):
"""
业务状况
清洗数据库数据根据需要返回
Parameters:
param: 数据库数据
Returns:
业务状况数据
"""
2021-12-27 17:02:03 +08:00
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
2021-12-27 17:02:03 +08:00
else:
if item['base'] in result['industry']:
try:
amount += item['amount']
except TypeError:
amount += 0
2022-03-10 17:03:43 +08:00
try:
concentration = round(amount / param3 * 100, 2)
except ZeroDivisionError:
concentration = 0
2021-12-27 17:02:03 +08:00
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['influence'] = ''
else:
part_01['import_export_power'] = ''
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:
2021-12-27 17:02:03 +08:00
# 专利数量
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:
2021-12-27 17:02:03 +08:00
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):
"""
2021-12-28 17:27:58 +08:00
资质荣誉 区分行业
Parameters:
param: 数据库数据
"""
industry = param['综合评价填报']['行业选择'][0]
if industry == '制造业':
return qualification_honor_manufacturing(param)
elif industry == '信息技术业':
return qualification_honor_infomation(param)
def qualification_honor_manufacturing(param):
"""
资质荣誉-制造业
2021-12-27 17:02:03 +08:00
清洗数据库数据根据需要返回
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
2021-12-27 17:02:03 +08:00
# 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)
2021-12-27 17:02:03 +08:00
if len(data) == 0:
part_01 = '无数据'
result.append(part_01)
else:
for item in data['result']:
para_01()
para_02()
para_03()
2021-12-27 17:02:03 +08:00
result.append(part_01)
result.append(part_02)
result.append(part_03)
return result
2021-12-28 17:27:58 +08:00
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
2021-12-28 17:27:58 +08:00
# Returns
result = list()
part_01 = dict()
part_02 = dict()
part_03 = dict()
part_04 = list()
part_04.append(['证书类型', '证书编号', '发证日期', '截至日期'])
2021-12-28 17:27:58 +08:00
# 第一段,企业被评为哪些证书
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
2021-12-28 17:27:58 +08:00
# 第三段数据
qua_list_03 = list()
def para_01():
# 荣誉资质第一段话描述
part_01['describe'] = list()
2021-12-28 17:27:58 +08:00
# 判断第一句话
if item['certificateName'] in cs_tep:
part_01['describe'].append('公司是中国软件协会会员,为高新技术企业。')
2021-12-28 17:27:58 +08:00
# 判断第二句话
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)
2021-12-28 17:27:58 +08:00
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)
2021-12-28 17:27:58 +08:00
# 总体数据列表等于2加上最后一句描述
if len(part_01['describe']) == 2:
part_01['describe'].append('属于新一代信息技术业企业。')
if len(part_01['describe']) > 0:
2021-12-28 17:27:58 +08:00
# 将数据解析成第一段描述语句的字符串
part_01['describe'] = ''.join(part_01['describe'])
2021-12-28 17:27:58 +08:00
else:
part_01['describe'] = '无数据'
2021-12-28 17:27:58 +08:00
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'] = '无数据'
2021-12-28 17:27:58 +08:00
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)
2021-12-28 17:27:58 +08:00
return result
2021-12-27 17:02:03 +08:00
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