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

121 lines
4.1 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 rating.scripts.report.abstract import *
from rating.scripts.report.appendix import *
from rating.scripts.report.company_profile import *
from rating.scripts.report.enterprise_risk import *
from rating.scripts.report.esg_evaluation import *
from rating.scripts.report.financial_analysis import *
from rating.scripts.report.rating_conclusion import *
class CleanModel:
"""
清洗报告数据
Parameters:
param1: 企业基本信息包括企业名称、企业ID、评价ID
param2: 数据库数据
Returns:
report_data: 清洗后满足条件的报告数据
"""
def __init__(self, param1, param2):
# 企业名称
self.company = param1['company']
# 企业ID
self.cid = param1['cid']
# 评价ID
self.rid = param1['rid']
# 数据库数据
self.data = param2
def abstract(self):
# 摘要模块
data = dict()
data['评价结果'] = evaluation_results(self.data)
data['主要财务数据'] = financial_data(self.data)
data['评价观点'] = evaluation_view_manufacturing(self.company, self.data)
data['关注'] = attention(self.data)
return data
def company_profile(self):
# 公司概况
data = dict()
data['公司背景'] = company_background(self.company, self.data)
data['股东实力'] = shareholder_strength(self.data)
data['对外投资'] = outbound_investment(self.data)
data['进出口权'] = import_export(self.data)
data['知识产权'] = intellectual_property(self.data)
data['资质荣誉'] = qualification_honor(self.data)
# data['融资信息'] = financing_information(self.data)
return data
def esg_evaluate(self):
# ESG评价
data = dict()
data['环境治理'] = environmental_governance(self.data)
data['社会责任'] = social_responsibility(self.data)
data['公司治理'] = corporate_governance(self.data)
return data
def financial_analysis(self):
# 财务分析
data = dict()
data['盈利能力'] = profitability(self.data)
data['资产质量'] = asset_quality(self.data)
data['债务风险'] = debt_risk(self.data)
data['成长能力'] = growth_ability(self.data)
return data
def enterprise_risk(self):
# 企业风险
data = dict()
data['合规风险'] = compliance_risk(self.data)
data['经营风险'] = operational_risk(self.data)
data['关联风险'] = associated_risk(self.data)
return data
def rating_conclusion(self):
# 评级结论
data = dict()
data['结论'] = conclusion(self.data)
return data
def appendix(self):
# 附录
data = dict()
data['附录一'] = appendix_one(self.data)
return data
def integrate_data(self):
data = list()
data_01 = dict()
data_01['摘要'] = self.abstract()
data_02 = dict()
data_02['一、公司概况'] = self.company_profile()
data_03 = dict()
data_03['二、ESG评价'] = self.esg_evaluate()
data_04 = dict()
data_04['三、财务分析'] = self.financial_analysis()
data_05 = dict()
data_05['四、企业风险'] = self.enterprise_risk()
data_06 = dict()
data_06['五、评级结论'] = self.rating_conclusion()
data_07 = dict()
data_07['附录'] = self.appendix()
data.append(data_01)
data.append(data_02)
data.append(data_03)
data.append(data_04)
data.append(data_05)
data.append(data_06)
data.append(data_07)
return data
def storage_data(self):
data = dict()
data['评价ID'] = self.rid
data['企业ID'] = self.cid
data['企业名称'] = self.company
data['评价年度'] = self.data['评价结果']['评价年度']
data['行业选择'] = self.data['综合评价填报']['行业选择']
data['报告模板'] = self.integrate_data()
return data