tfse-etl-api-v0.2/rating/EsgReportEtl.py

112 lines
4.1 KiB
Python

from common.scripts import read_json_file
from rating.scripts.common import industry_processing
from rating.scripts.esg.environment import *
from rating.scripts.esg.governance import *
from rating.scripts.esg.social import *
class EsgCleanModel:
"""
清洗ESG报告数据
Parameters:
param: 数据库数据
Returns:
result dict 清洗后满足条件的ESG报告数据
"""
def __init__(self, param):
# 企业名称
self.company = param['企业名称']
# 企业ID
self.cid = param['企业ID']
# 评价ID
self.rid = param['评价ID']
# 数据库数据
self.data = param
def paragraph_02(self):
# 段落2 远东资信
data = dict()
data['联系电话'] = '15912345678'
data['联系人'] = '贾丹'
return data
def paragraph_05(self):
# 段落5 基本信息
data = dict()
data['公司名称'] = self.data['企业名称']
data['所属行业'] = industry_processing(self.data['所属行业'])
return data
def paragraph_06(self):
# 段落6 公司esg等级
data = dict()
data['评价等级'] = self.data['评价等级']
return data
def environment(self):
# 段落7 环境部分
data = dict()
environment_co2_data = environment_co2(self.data)
data['段落3'] = environment_co2_data['part_01']
data['段落4'] = environment_co2_data['part_02']
environment_energy_data = environment_energy(self.data)
data['段落6'] = environment_energy_data['part_01']
data['段落7'] = environment_energy_data['part_02']
environment_standard_coal_data = environment_standard_coal(self.data)
data['段落8'] = environment_standard_coal_data['part_01']
data['段落9'] = environment_standard_coal_data['part_02']
environment_consume_water_data = environment_consume_water(self.data)
data['段落10'] = environment_consume_water_data['part_01']
data['段落11'] = environment_consume_water_data['part_02']
data['段落12'] = environment_green_business(self.data)
data['段落13'] = environment_punish(self.data)
return data
def social(self):
# 段落8 社会部分
data = dict()
social_turnover_salary_data = social_turnover_salary(self.data)
data['段落2'] = social_turnover_salary_data['part_01']
data['段落3'] = social_turnover_salary_data['part_02']
data['段落4'] = social_labor_disputes(self.data)
data['段落5'] = social_safety_accident(self.data)
social_training_return_data = social_training_return(self.data)
data['段落6'] = social_training_return_data['part_01']
data['段落7'] = social_training_return_data['part_02']
data['段落8'] = socail_poverty_alleviation(self.data)
data['段落9'] = socail_legal_proceedings(self.data)
return data
def governance(self):
# 段落9 公司治理部分
data = dict()
data['段落2'] = governance_board_directors(self.data)
data['段落3'] = governance_board_supervisors(self.data)
data['段落4'] = governance_professionalism(self.data)
data['段落5'] = governance_stability(self.data)
data['段落6'] = governance_meeting(self.data)
return data
def integrate_data(self):
data = dict()
data['远东资信'] = self.paragraph_02()
data['基本信息'] = self.paragraph_05()
data['公司ESG等级'] = self.paragraph_06()
data['环境部分'] = self.environment()
data['社会部分'] = self.social()
data['公司治理部分'] = self.governance()
return data
def storage_data(self):
data = dict()
data['评价ID'] = self.rid
data['企业ID'] = self.cid
data['企业名称'] = self.company
data['评价年度'] = self.data['评价年度']
data['报告模板'] = self.integrate_data()
return data
if __name__ == '__main__':
d = read_json_file('/rating/static/template_data.json')