tfse-model-api-v0.2/Report/scripts/contents.py

94 lines
6.1 KiB
Python
Raw Normal View History

def handle_manufacturing_content(param1, param2):
"""
制造业报告内容处理
Parameters:
2021-12-21 00:38:36 +08:00
param1: 报告模板
param2: 数据模板
Returns:
2021-12-21 00:38:36 +08:00
result: 报告结果
"""
report_content = param1['报告内容']
report_data = param2['报告模板']
for num in range(len(report_content)):
p_value = report_content[num]['章节']
p_num = len(report_content[num]['章节内容'])
for c_num in range(p_num):
section = report_content[num]['章节内容'][c_num]['小节']
# 主要财务数据为表格
if section == '主要财务数据':
report_content[num]['章节内容'][c_num]['小节内容'][2]['表格'] = report_data[num][p_value]['主要财务数据']
# 判断股东实力部分如果返回数据长度为1则为自然人段落长度为2为企业段落
elif section == '股东实力':
if len(report_data[num][p_value][section]) == 1:
p = report_content[num]['章节内容'][c_num]['小节内容'][2]['段落']
d = report_data[num][p_value][section][0]
report_content[num]['章节内容'][c_num]['小节内容'][2]['段落'] = p.format(**d)
del report_content[num]['章节内容'][c_num]['小节内容'][0]
del report_content[num]['章节内容'][c_num]['小节内容'][0]
else:
del report_content[num]['章节内容'][c_num]['小节内容'][2]
content_num = len(report_content[num]['章节内容'][c_num]['小节内容'])
for cn in range(content_num):
# 段落内容
p = report_content[num]['章节内容'][c_num]['小节内容'][cn]['段落']
d = report_data[num][p_value][section][cn]
report_content[num]['章节内容'][c_num]['小节内容'][cn]['段落'] = p.format(**d)
# 对外投资段落中,只需要处理第一段和第四段,其余都是表格描述语句
elif section == '对外投资':
# 处理段落1
p_0 = report_content[num]['章节内容'][c_num]['小节内容'][0]['段落']
d_0 = report_data[num][p_value][section][0]
report_content[num]['章节内容'][c_num]['小节内容'][0]['段落'] = p_0.format(**d_0)
# 处理段落4-表格
report_content[num]['章节内容'][c_num]['小节内容'][3]['表格'] = report_data[num][p_value][section][1]
elif section == '资质荣誉':
# 如果资质荣誉无数据只显示第三段,有数据则删除第三段
if len(report_data[num][p_value][section]) == 1:
del report_content[num]['章节内容'][c_num]['小节内容'][0]
del report_content[num]['章节内容'][c_num]['小节内容'][1]
del report_content[num]['章节内容'][c_num]['小节内容'][2]
del report_content[num]['章节内容'][c_num]['小节内容'][3]
del report_content[num]['章节内容'][c_num]['小节内容'][4]
del report_content[num]['章节内容'][c_num]['小节内容'][5]
else:
# 第一段数据
p_0 = report_content[num]['章节内容'][c_num]['小节内容'][0]['段落']
d_0 = report_data[num][p_value][section][0]
report_content[num]['章节内容'][c_num]['小节内容'][0]['段落'] = p_0.format(**d_0)
# 第二段数据
p_1 = report_content[num]['章节内容'][c_num]['小节内容'][1]['段落']
d_1 = report_data[num][p_value][section][1]
report_content[num]['章节内容'][c_num]['小节内容'][1]['段落'] = p_1.format(**d_1)
# 第五段数据(表格)
report_content[num]['章节内容'][c_num]['小节内容'][4]['表格'] = report_data[num][p_value][section][2]
# 再判断第一段和第二段数据是否为空,为空则删除
if report_data[num][p_value][section][0]['Qualification'] == '':
del report_content[num]['章节内容'][c_num]['小节内容'][0]
# 处理段落2之前需判断段落1是否被删除删除索引都会随之变化
if len(report_content[num]['章节内容'][c_num]['小节内容']) == 7:
# 处理段落2,判断是否有认证资质,有则显示这一段,没有则删除
if report_data[num][p_value][section][1]['Qualification_number'] < 1:
del report_content[num]['章节内容'][c_num]['小节内容'][1]
else:
if report_data[num][p_value][section][1]['Qualification_number'] < 1:
del report_content[num]['章节内容'][c_num]['小节内容'][0]
length = len(report_content[num]['章节内容'][c_num]['小节内容'])-1
del report_content[num]['章节内容'][c_num]['小节内容'][length]
elif section == '附录2 有关指标的计算公式' or section == '附录3 数字化综合信用等级评价级别释义':
continue
2021-12-21 23:32:20 +08:00
elif section == '附录1 主要数据及指标':
report_content[num]['章节内容'][c_num]['小节内容'][1]['表格'] = report_data[num][p_value]['附录一']
else:
content_num = len(report_content[num]['章节内容'][c_num]['小节内容'])
for cn in range(content_num):
# 段落内容
p = report_content[num]['章节内容'][c_num]['小节内容'][cn]['段落']
d = report_data[num][p_value][section][cn]
if d is None:
continue
else:
report_content[num]['章节内容'][c_num]['小节内容'][cn]['段落'] = p.format(**d)
return report_content