update 解决某些数据不存在时的错误

This commit is contained in:
彭森 2022-01-10 15:33:04 +08:00
parent 4194993adc
commit 3cfb054a06
3 changed files with 88 additions and 68 deletions

View File

@ -203,14 +203,12 @@ def outbound_investment(param):
# Returns
result = list()
if data_01 is None:
part_01 = dict()
part_01 = dict()
if not data_01:
part_01['desribe'] = '截至{}年,未查询到该公司对外投资相关信息。'.format(data_02['资产负债表'][0]['报告期'][:4])
result.append(part_01)
else:
def para_01():
part_01 = dict()
# 年限
part_01['year_03'] = data_02['资产负债表'][0]['报告期'][:4]
@ -240,7 +238,8 @@ def outbound_investment(param):
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_result = calculate_tuple(top_3_industry, data_01['result'],
float(part_01['investment_total_amount']),
'industry')
part_01['top_3_industry'] = industry_result['industry']
# 行业集中度
@ -377,7 +376,7 @@ def intellectual_property(param):
part_01['date'] = date
def patent():
if data_01 is None:
if data_01 is None or not data_01:
# 专利数量
part_01['patent_number'] = '0'
# 三种类型专利数量
@ -422,7 +421,7 @@ def intellectual_property(param):
part_02['date'] = date
def copyrights():
if data_02 is None:
if data_02 is None or not data_02:
part_02['copyrights_number'] = '0'
part_02['copyrights_number_three_year'] = '0'
else:
@ -490,6 +489,7 @@ def qualification_honor_manufacturing(param):
'食品安全管理体系认证', '食品安全管理体系认证证书', 'CE认证', '日本PSE认证', 'CE认证证书']
qi_tep = ['CE认证', '日本PSE认证', 'CE认证证书']
qf_tep = ['中国著名品牌', '中国驰名品牌', '中国行业最具影响力品牌']
all_tep = qh_tep + qn_tep + qi_tep + qf_tep
# Returns
result = list()
@ -538,13 +538,14 @@ def qualification_honor_manufacturing(param):
part_02['Qualification_image'] = '公司品牌知名度较低,市场形象一般,不太利于业务开展。'
def para_03():
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 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 = '无数据'
@ -560,7 +561,6 @@ def qualification_honor_manufacturing(param):
return result
# 待测试
def qualification_honor_infomation(param):
"""
资质荣誉-信息技术业
@ -583,7 +583,7 @@ def qualification_honor_infomation(param):
'安全技术防范系统设计、施工、维修资格证', '计算机信息系统安全专用产品销售许可证', '国家秘密载体复制许可证',
'信息安全风险评估服务资质认证', '涉密信息系统集成资质证书', '软件开发乙级', '网络安全专用产品', '设置空间电台审批']
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()
@ -630,13 +630,14 @@ def qualification_honor_infomation(param):
qua_list_03.append(item['certificateName'])
def para_04():
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 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 = '经查询,公司无技术、服务资质或品牌等方面的荣誉资质。'
@ -651,14 +652,15 @@ def qualification_honor_infomation(param):
# 判断第一段
# 列表大于0为第一段加上第二句描述语句
if len(qua_list_01) > 0:
describe = ''.join(qua_list_01)
s = ''.join(qua_list_01)
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['qualification'])
part_01['describe'] = ''.join(part_01['describe'])
else:
part_01['describe'] = '无数据'
result.append(part_01)
@ -671,8 +673,8 @@ def qualification_honor_infomation(param):
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'])
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)
@ -685,12 +687,12 @@ def qualification_honor_infomation(param):
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)
# 最后判断前三段是否都为无数据
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
@ -747,4 +749,4 @@ def financing_information(param):
result.append(part_02)
result.append(part_03)
result.append(part_04)
return result
return result

View File

@ -67,15 +67,18 @@ def environmental_governance_manufacturing(param):
def para_02():
part_02 = dict()
part_02['Qualification_number'] = 0
for item in data_02['result']:
if item['certificateName'] in ep:
part_02['Qualification_number'] += 1
if part_02['Qualification_number'] > 0:
part_02['Qualification_number'] = '截至{year03}末,公司获得' \
'{Qualification_number}项环保领域相关认证资' \
'质。'.format(year03=date,
Qualification_number=part_02['Qualification_number'])
if data_02:
part_02['Qualification_number'] = 0
for item in data_02['result']:
if item['certificateName'] in ep:
part_02['Qualification_number'] += 1
if part_02['Qualification_number'] > 0:
part_02['Qualification_number'] = '截至{year03}末,公司获得' \
'{Qualification_number}项环保领域相关认证资' \
'质。'.format(year03=date,
Qualification_number=part_02['Qualification_number'])
else:
part_02['Qualification_number'] = '截至{year03}末,公司未获得环保领域相关认证资质。'.format(year03=date)
else:
part_02['Qualification_number'] = '截至{year03}末,公司未获得环保领域相关认证资质。'.format(year03=date)
return part_02
@ -146,15 +149,18 @@ def environmental_governance_infomation(param):
def para_02():
part_02 = dict()
part_02['Qualification_number'] = 0
for item in data_02['result']:
if item['certificateName'] in ep:
part_02['Qualification_number'] += 1
if part_02['Qualification_number'] > 0:
part_02['Qualification_number'] = '截至{year03}末,公司获得' \
'{Qualification_number}项环保领域相关认证资' \
'质。'.format(year03=date,
Qualification_number=part_02['Qualification_number'])
if data_02:
part_02['Qualification_number'] = 0
for item in data_02['result']:
if item['certificateName'] in ep:
part_02['Qualification_number'] += 1
if part_02['Qualification_number'] > 0:
part_02['Qualification_number'] = '截至{year03}末,公司获得' \
'{Qualification_number}项环保领域相关认证资' \
'质。'.format(year03=date,
Qualification_number=part_02['Qualification_number'])
else:
part_02['Qualification_number'] = '截至{year03}末,公司未获得环保领域相关认证资质。'.format(year03=date)
else:
part_02['Qualification_number'] = '截至{year03}末,公司未获得环保领域相关认证资质。'.format(year03=date)
return part_02

View File

@ -112,17 +112,23 @@ def profitability_infomation(param):
part_03['date'] = data_01['财务填报']['利润表'][1]['报告期'][:4]
# 净资产收益率
part_03['return_on_net_assets_analysis'] = str(data_03[1]['净资产收益率'])
# 是否高于平均水平
if data_03[1]['净资产收益率'] > 4.7:
part_03['high_low_01'] = '高于'
else:
try:
# 是否高于平均水平
if data_03[1]['净资产收益率'] > 4.7:
part_03['high_low_01'] = '高于'
else:
part_03['high_low_01'] = '低于'
except TypeError:
part_03['high_low_01'] = '低于'
# 总资产报酬率
part_03['return_on_total_assets_analysis'] = str(data_03[1]['总资产报酬率'])
# 是否高于平均水平
if data_03[1]['总资产报酬率'] > 2.7:
part_03['high_low_02'] = '高于'
else:
try:
# 是否高于平均水平
if data_03[1]['总资产报酬率'] > 2.7:
part_03['high_low_02'] = '高于'
else:
part_03['high_low_02'] = '低于'
except TypeError:
part_03['high_low_02'] = '低于'
return part_03
@ -228,17 +234,23 @@ def asset_quality_infomation(param):
part_01['date'] = data_01['财务填报']['利润表'][1]['报告期'][:4]
# 应收账款周转率
part_01['account_turnover_analysis'] = str(data_03[1]['应收账款周转率'])
# 是否高于平均水平
if data_03[1]['应收账款周转率'] > 0.4:
part_01['high_low_01'] = ''
else:
try:
# 是否高于平均水平
if data_03[1]['应收账款周转率'] > 0.4:
part_01['high_low_01'] = ''
else:
part_01['high_low_01'] = ''
except TypeError:
part_01['high_low_01'] = ''
# 总资产周转率
part_01['total_assets_turnover_analysis'] = str(data_03[1]['总资产周转率'])
# 是否高于平均水平
if data_03[1]['总资产周转率'] > 3.9:
part_01['high_low_02'] = '高于'
else:
try:
# 是否高于平均水平
if data_03[1]['总资产周转率'] > 3.9:
part_01['high_low_02'] = '高于'
else:
part_01['high_low_02'] = '低于'
except TypeError:
part_01['high_low_02'] = '低于'
return part_01