from Objects.Common.Company.FECRCompany import FinancialElementsAnalysis, OperatingRiskAnalysis, BasicBusinessInfo, \ CCRatingAnalysis, ESGRatingAnalysis from Objects.Common.Industry.FECRIndustry import IndustryAnalysis from Utils.ObjUtil import SpecObject from Utils.ValidateUtil import ValidateAttr 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_['指标详情']] 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) industry = ValidateAttr(field='industry', 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": "企业名称", "industry": "行业", "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_type(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): """获取 公司风险分析"""