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

471 lines
18 KiB
Python
Raw 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.

from datetime import datetime
def handle_esg_report_data(param1, param2):
"""
处理ESG报告模板
Parameters:
param1 dict 报告数据
param2 dict 报告模板
Returns:
result dict 报告数据
"""
def handle_paragraph_01(param):
"""
远东资信
Parameters:
param dict 远东资信段落模板
Returns:
result dict 处理好的报告模板
"""
param[2]['段落'] = param[2]['段落'].format(param1['报告模板']['远东资信']['联系电话'])
param[3]['段落'] = param[3]['段落'].format(param1['报告模板']['远东资信']['联系人'])
return param
def handle_paragraph_02(param):
"""
基本信息
Parameters:
param dict 基本信息段落模板
Returns:
result dict 处理好的报告模板
"""
param[0]['段落'] = param[0]['段落'].format(param1['报告模板']['基本信息']['公司名称'])
param[1]['段落'] = param[1]['段落'].format(param1['报告模板']['基本信息']['所属行业'])
return param
def handle_paragraph_03(param):
"""
公司ESG等级
Parameters:
param dict 公司ESG等级段落模板
Returns:
result dict 处理好的报告模板
"""
param[0]['段落'] = param[0]['段落'].format(param1['报告模板']['公司ESG等级']['评价等级'])
return param
def handle_paragraph_04(param):
"""
环境部分
Parameters:
param dict 环境部分段落模板
Returns:
result dict 处理好的报告模板
"""
def handle_part_03():
"""
段落3
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['环境部分']['段落3']
param[2]['段落'] = param[2]['段落'].format(date_range=data['date_range'], co2_emissions=data['co2_emissions'])
def handle_part_04():
"""
段落4
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['环境部分']['段落4']
param[3]['段落'] = param[3]['段落'].format(date_range=data['date_range'], co2_emissions=data['co2_emissions'],
year_02=data['year_02'], year_03=data['year_03'],
year01_on_year02=data['year01_on_year02'],
year02_on_year03=data['year02_on_year03'],
industry_indicators=data['industry_indicators'],
industry_indicators_average=data['industry_indicators_average'],
industry_indicators_median=data['industry_indicators_median'],
median_comparison=data['median_comparison'])
def handle_part_06():
"""
段落4
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['环境部分']['段落6']
param[5]['段落'] = param[5]['段落'].format(date_range=data['date_range'],
energy_consumption=data['energy_consumption'])
def handle_part_07():
"""
段落7
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['环境部分']['段落7']
param[6]['段落'] = param[6]['段落'].format(date_range=data['date_range'],
energy_consumption=data['energy_consumption'],
year_02=data['year_02'], year_03=data['year_03'],
year01_on_year02=data['year01_on_year02'],
year02_on_year03=data['year02_on_year03'],
industry_indicators=data['industry_indicators'],
industry_indicators_average=data['industry_indicators_average'],
industry_indicators_median=data['industry_indicators_median'],
median_comparison=data['median_comparison'])
def handle_part_08():
"""
段落8
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['环境部分']['段落8']
param[7]['段落'] = param[7]['段落'].format(date_range=data['date_range'],
energy_consumption=data['energy_consumption'])
def handle_part_09():
"""
段落9
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['环境部分']['段落9']
param[8]['段落'] = param[8]['段落'].format(date_range=data['date_range'],
energy_consumption=data['energy_consumption'])
def handle_part_10():
"""
段落10
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['环境部分']['段落10']
param[9]['段落'] = param[9]['段落'].format(date_range=data['date_range'],
consume_water=data['consume_water'])
def handle_part_11():
"""
段落11
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['环境部分']['段落11']
param[10]['段落'] = param[10]['段落'].format(date_range=data['date_range'],
consume_water=data['consume_water'],
year_02=data['year_02'], year_03=data['year_03'],
year01_on_year02=data['year01_on_year02'],
year02_on_year03=data['year02_on_year03'],
industry_indicators=data['industry_indicators'],
industry_indicators_average=data['industry_indicators_average'],
industry_indicators_median=data['industry_indicators_median'],
median_comparison=data['median_comparison'])
def handle_part_12():
"""
段落12
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['环境部分']['段落12']
param[11]['段落'] = param[11]['段落'].format(describe=data['describe'])
def hanlde_part_13():
"""
段落13
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['环境部分']['段落13']
param[12]['段落'] = param[12]['段落'].format(describe=data['describe'])
def judge_false():
"""
判断语句描述中是否有false有则删除
Parameters:
param type 参数名
Returns:
result type 返回数据
"""
new_list = list()
for item in param:
if item['段落'] != 'False':
new_list.append(item)
return new_list
# 调用子方法
handle_part_03()
handle_part_04()
handle_part_06()
handle_part_07()
handle_part_08()
handle_part_09()
handle_part_10()
handle_part_11()
handle_part_12()
hanlde_part_13()
result = judge_false()
return result
def handle_paragraph_05(param):
"""
社会部分
Parameters:
param dict 社会部分段落模板
Returns:
result dict 处理好的报告模板
"""
def handle_part_02():
"""
段落2
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['社会部分']['段落2']
param[1]['段落'] = param[1]['段落'].format(date_range=data['date_range'], turnover_ratio=data['turnover_ratio'],
year_03=data['year_03'],
industry_indicators=data['industry_indicators'],
industry_indicators_average=data['industry_indicators_average'],
industry_indicators_median=data['industry_indicators_median'],
median_comparison=data['median_comparison'])
def handle_part_03():
"""
段落3
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['社会部分']['段落3']
param[2]['段落'] = param[2]['段落'].format(date_range=data['date_range'], salary_level=data['salary_level'],
year_02=data['year_02'], year_03=data['year_03'],
year01_on_year02=data['year01_on_year02'],
year02_on_year03=data['year02_on_year03'],
industry_indicators=data['industry_indicators'],
industry_indicators_average=data['industry_indicators_average'],
industry_indicators_median=data['industry_indicators_median'],
median_comparison=data['median_comparison'])
def handle_part_04():
"""
段落4
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['社会部分']['段落4']
param[3]['段落'] = param[3]['段落'].format(describe=data['describe'])
def handle_part_05():
"""
段落5
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['社会部分']['段落5']
param[4]['段落'] = param[4]['段落'].format(describe=data['describe'])
def handle_part_06():
"""
段落6
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['社会部分']['段落6']
param[5]['段落'] = param[5]['段落'].format(date_range=data['date_range'],
training_number=data['training_number'], year_03=data['year_03'],
industry_indicators=data['industry_indicators'])
def handle_part_07():
"""
段落7
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['社会部分']['段落7']
param[6]['段落'] = param[6]['段落'].format(date_range=data['date_range'],
salary_level=data['salary_level'], year_03=data['year_03'],
industry_indicators=data['industry_indicators'])
def handle_part_08():
"""
段落8
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['社会部分']['段落8']
param[7]['段落'] = param[7]['段落'].format(describe=data['describe'])
def handle_part_09():
"""
段落9
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['社会部分']['段落9']
param[8]['段落'] = param[8]['段落'].format(describe=data['describe'])
def judge_false():
"""
判断语句描述中是否有false有则删除
Parameters:
param type 参数名
Returns:
result type 返回数据
"""
new_list = list()
for item in param:
if item['段落'] != 'False':
new_list.append(item)
return new_list
# 调用子方法
handle_part_02()
handle_part_03()
handle_part_04()
handle_part_05()
handle_part_06()
handle_part_07()
handle_part_08()
handle_part_09()
result = judge_false()
return result
def handle_paragraph_06(param):
"""
公司治理部分
Parameters:
param dict 社会部分段落模板
Returns:
result dict 处理好的报告模板
"""
def handle_part_02():
"""
段落2
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['公司治理部分']['段落2']
param[1]['段落'] = param[1]['段落'].format(describe=data['describe'])
def handle_part_03():
"""
段落3
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['公司治理部分']['段落3']
param[2]['段落'] = param[2]['段落'].format(describe=data['describe'])
def handle_part_04():
"""
段落4
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['公司治理部分']['段落4']
param[3]['段落'] = param[3]['段落'].format(experience_year=data['experience_year'],
industry_indicators_average=data['industry_indicators_average'])
def handle_part_05():
"""
段落5
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['公司治理部分']['段落5']
param[4]['段落'] = param[4]['段落'].format(describe=data['describe'])
def handle_part_06():
"""
段落6
Parameters:
-
Returns:
result dict 处理好的报告段落模板
"""
data = param1['报告模板']['公司治理部分']['段落6']
param[5]['段落'] = param[5]['段落'].format(board_meetings_number=data['board_meetings_number'],
industry_indicators_average=data['industry_indicators_average'])
def judge_false():
"""
判断语句描述中是否有false有则删除
Parameters:
param type 参数名
Returns:
result type 返回数据
"""
new_list = list()
for item in param:
if item['段落'] != 'False':
new_list.append(item)
return new_list
# 调用子方法
handle_part_02()
handle_part_03()
handle_part_04()
handle_part_05()
handle_part_06()
result = judge_false()
return result
param2['企业名称'] = param1['企业名称']
param2['评价ID'] = param1['评价ID']
param2['企业ID'] = param1['企业ID']
param2['评价年度'] = param1['评价年度']
param2['生成日期'] = datetime.now().strftime("%Y-%m-%d")
for index in range(len(param2['报告内容'])):
if param2['报告内容'][index]['章节'] == '远东资信':
param2['报告内容'][index]['章节内容'] = handle_paragraph_01(param2['报告内容'][index]['章节内容'])
elif param2['报告内容'][index]['章节'] == '基本信息':
param2['报告内容'][index]['章节内容'] = handle_paragraph_02(param2['报告内容'][index]['章节内容'])
elif param2['报告内容'][index]['章节'] == '公司ESG等级':
param2['报告内容'][index]['章节内容'] = handle_paragraph_03(param2['报告内容'][index]['章节内容'])
elif param2['报告内容'][index]['章节'] == '环境部分':
param2['报告内容'][index]['章节内容'] = handle_paragraph_04(param2['报告内容'][index]['章节内容'])
elif param2['报告内容'][index]['章节'] == '社会部分':
param2['报告内容'][index]['章节内容'] = handle_paragraph_05(param2['报告内容'][index]['章节内容'])
elif param2['报告内容'][index]['章节'] == '公司治理部分':
param2['报告内容'][index]['章节内容'] = handle_paragraph_06(param2['报告内容'][index]['章节内容'])
return param2