tfse-app-api-v0.2/ObjectsInProject/Company/Index.py

123 lines
5.3 KiB
Python

from ObjectsCommon.Company.FECRCompany import *
from ObjectsCommon.Industry.FECRIndustry import IndustryAnalysis
class ThisFinancialElementsAnalysis(FinancialElementsAnalysis):
def dict_to_return(self, **kwargs):
_dict_ = self.dict_to_show(columns=["更新时间", "财报期", "财务得分年度比较", "财务得分同行比较", "财务得分较去年变化", "财务得分较同行差异", "指标详情"])
_dict_['财务得分年度比较'] = [{list(item.values())[0]: list(item.values())[1]} for item in _dict_['财务得分年度比较']]
_dict_['财务得分年度比较'] = {**_dict_['财务得分年度比较'][0], **_dict_['财务得分年度比较'][1]}
_dict_['指标详情'] = [list(item.values()) for item in _dict_['指标详情']]
_dict_["同行对比图"] = _dict_.pop('财务得分同行比较')
_dict_["去年对比图"] = _dict_.pop('财务得分年度比较')
_dict_["去年对比表"] = _dict_.pop('财务得分较去年变化')
_dict_["同行对比表"] = _dict_.pop('财务得分较同行差异')
_dict_['更新日期'] = _dict_.pop('更新时间')
return _dict_
class ThisOperatingRiskAnalysis(OperatingRiskAnalysis):
def dict_to_return(self):
_dict_ = self.dict_to_show(columns=["更新日期", "风险分数", "风险级别", "风险数量", "列入失信名单", "合规风险统计", "经营风险统计", "周边风险统计", "变更记录统计"])
_dict_["合规风险"] = _dict_.pop("合规风险统计")
_dict_["经营风险"] = _dict_.pop("经营风险统计")
_dict_["周边风险"] = _dict_.pop("周边风险统计")
_dict_["变更记录"] = _dict_.pop("变更记录统计")
return _dict_
class CompanyIndex(SpecObject):
"""企业主页"""
class HeadInfo(SpecObject):
"""企业主页头部信息"""
class LatestCCRating(SpecObject):
"""当前信用评价状态"""
level = ValidateAttr(field='level', type=str, default='N/A')
score = ValidateAttr(field='score', type=str, default='N/A')
rating_time = ValidateAttr(field='rating_time', type=str, default='N/A')
fields_map = {
"level": "信用等级",
"score": "信用评分",
"rating_time": "评价时间"
}
class LatestESGRating(SpecObject):
"""当前ESG评价状态"""
level = ValidateAttr(field='level', type=str, default='N/A')
score = ValidateAttr(field='score', type=str, default='N/A')
rating_time = ValidateAttr(field='rating_time', type=str, default='N/A')
fields_map = {
"level": "评价等级",
"score": "ESG得分",
"rating_time": "评价时间"
}
name = ValidateAttr(field='name', type=str)
industry = ValidateAttr(field='industry', type=str)
verify_status = ValidateAttr(field='verify_status', in_list=["", ""])
latest_cc_rating = ValidateAttr(field='latest_cc_rating', type=LatestCCRating)
latest_esg_rating = ValidateAttr(field='latest_esg_rating', type=LatestESGRating)
fields_map = {
"name": "企业名称",
"industry": "行业",
"verify_status": "企业认证",
"latest_cc_rating": "综合信用评价",
"latest_esg_rating": "ESG评价"
}
def dict_to_return(self, **kwargs):
_dict_ = self.dict_to_show()
_dict_['企业认证'] = "已认证" if _dict_['企业认证'] == "" else "未认证"
return _dict_
cid = ValidateAttr(field='cid', type=str, length=8)
name = ValidateAttr(field='name', type=str)
head_info = ValidateAttr(field='head_info', type=HeadInfo)
business_info = ValidateAttr(field='business_info', type=BasicBusinessInfo)
industry_analysis = ValidateAttr(field='industry_analysis', type=IndustryAnalysis)
cc_rating_analysis = ValidateAttr(field='cc_rating_analysis', type=CCRatingAnalysis)
esg_rating_analysis = ValidateAttr(field='esg_rating_analysis', type=ESGRatingAnalysis)
financial_analysis = ValidateAttr(field="financial_analysis", type=ThisFinancialElementsAnalysis)
operating_risk_analysis = ValidateAttr(field="operating_risk_analysis", type=OperatingRiskAnalysis)
fields_map = {
"cid": "企业ID",
"name": "企业名称",
"head_info": "工商信息",
"business_info": "股东信息",
"industry_analysis": "主要成员",
"cc_rating_analysis": "综信评价结果",
"esg_rating_analysis": "ESG评价结果",
"financial_analysis": "财务要素分析",
"operating_risk_analysis": "经营风险分析",
}
def get_head_info(self):
"""获取 企业主页头部信息"""
def get_business_info(self):
"""获取 工商基本信息"""
def get_industry_analysis(self):
"""获取 行业分析数据"""
def get_cc_rating_analysis(self):
"""获取 综合信用评价"""
def get_esg_rating_analysis(self):
"""获取 ESG评价数据"""
def get_financial_analysis(self):
"""获取 财务要素评价"""
def get_operating_risk_analysis(self):
"""获取 公司风险分析"""