diff --git a/Implements/Rating/CreditImpl.py b/Implements/Rating/CreditImpl.py index cadb0a2..3b2e6e6 100644 --- a/Implements/Rating/CreditImpl.py +++ b/Implements/Rating/CreditImpl.py @@ -7,7 +7,7 @@ from DBHelper.MongoHelper import MongoHelper from Objects.Common.Rating.FECRRating import RatingRecord from Objects.InProject.Rating.credit import CreditInputData, FinancialReport, BalanceSheet, \ IncomeSheet, AppendixDataSheet -from Objects.InProject.Rating.process import CreditProcess, CreditNewProcess +from Objects.InProject.Rating.process import CreditNewProcess, CreditProcess from Objects.InProject.Rating.question import SingleChoiceQuestion, MultipleChoiceQuestion, FillInTheBlank from Utils.ErrorUtil import ReturnConditionCheckFailed @@ -265,18 +265,25 @@ class CreditRating(CreditInputData, CreditUtils): def prepare_process_template(): """根据数据模板生成新的评价流程数据""" - credit_process = CreditNewProcess() - credit_process.fill_in_data = 0 - credit_process.risk_data = 0 - credit_process.model_scoring = 0 - credit_process.rating_result = 0 - credit_process.financial_indicator_results = 0 - credit_process.report_generation = 0 - credit_process.report_data = 0 - credit_process.certificate_generation = 0 - credit_process.comprehensive_credit_analysis = 0 - credit_process.business_risk_analysis = 0 - credit_process.financial_element_analysis = 0 + credit_process = CreditProcess() + preparation = credit_process.DataPreparation() + preparation.fill_in_data = 0 + preparation.risk_data = 0 + credit_process.data_preparation = preparation + score = credit_process.ModelScoring() + score.rating_result = 0 + score.financial_indicator_results = 0 + credit_process.model_scoring = score + document = credit_process.DocumentGeneration() + document.report_data = 0 + document.report = 0 + document.certificate = 0 + credit_process.document_generation = document + clean = credit_process.DataCleaning() + clean.comprehensive_credit_analysis = 0 + clean.business_risk_analysis = 0 + clean.financial_element_analysis = 0 + credit_process.data_cleaning = clean process_template = dict() process_template['评价ID'] = new_rid process_template['企业ID'] = self.cid diff --git a/Implements/Rating/EsgImpl.py b/Implements/Rating/EsgImpl.py index b145845..0fba0ff 100644 --- a/Implements/Rating/EsgImpl.py +++ b/Implements/Rating/EsgImpl.py @@ -8,7 +8,7 @@ from Objects.Common.Rating.FECRRating import RatingRecord from Objects.InProject.Rating.esg import EnvironmentQuestionnaire, ThreeYearDataByE, OtherTypeDataByE, \ ThreeYearDataByS, SocietyQuestionnaire, OtherTypeDataByS, ThreeYearDataByG, GovernanceQuestionnaire, \ OtherTypeDataByG, EsgInputData -from Objects.InProject.Rating.process import EsgProcess, EsgNewProcess +from Objects.InProject.Rating.process import EsgNewProcess, EsgProcess from Utils.ErrorUtil import ReturnConditionCheckFailed @@ -275,15 +275,22 @@ class EsgRating(EsgInputData, CreditUtils): def prepare_process_template(): """根据数据模板生成新的评价流程数据""" - credit_process = EsgNewProcess() - credit_process.fill_in_data = 0 - credit_process.risk_data = 0 - credit_process.model_scoring = 0 - credit_process.rating_result = 0 - credit_process.report_data = 0 - credit_process.report_generation = 0 - credit_process.esg_evaluation_analysis = 0 - credit_process.fill_in_data = 0 + credit_process = EsgProcess() + preparation = credit_process.EsgDataPreparation() + preparation.fill_in_data = 0 + preparation.risk_data = 0 + credit_process.data_preparation = preparation + score = credit_process.EsgModelScoring() + score.rating_result = 0 + credit_process.model_scoring = score + document = credit_process.EsgDocumentGeneration() + document.report_data = 0 + document.report = 0 + document.certificate = 0 + credit_process.document_generation = document + clean = credit_process.EsgDataCleaning() + clean.esg_evaluation_analysis = 0 + credit_process.data_cleaning = clean process_template = dict() process_template['评价ID'] = new_rid process_template['企业ID'] = self.cid diff --git a/Objects/InProject/Rating/process.py b/Objects/InProject/Rating/process.py index 8105e30..c14ebc3 100644 --- a/Objects/InProject/Rating/process.py +++ b/Objects/InProject/Rating/process.py @@ -4,47 +4,113 @@ from Utils.ValidateUtil import ValidateAttr class CreditProcess(SpecObject): """综合信用评价流程数据""" - fill_in_questionnaire = ValidateAttr(field='fill_in_questionnaire', type=int, in_list=[0, 1, -1]) - fill_in_financial_data = ValidateAttr(field='fill_in_financial_data', type=int, in_list=[0, 1, -1]) - clean_risk_data = ValidateAttr(field='clean_risk_data', type=int, in_list=[0, 1, -1]) - model_scoring = ValidateAttr(field='model_scoring', type=int, in_list=[0, 1, -1]) - report_generation = ValidateAttr(field='report_generation', type=int, in_list=[0, 1, -1]) - certificate_generation = ValidateAttr(field='certificate_generation', type=int, in_list=[0, 1, -1]) - cc_evaluation_homepage = ValidateAttr(field='cc_evaluation_homepage', type=int, in_list=[0, 1, -1]) - fe_evaluation_homepage = ValidateAttr(field='fe_evaluation_homepage', type=int, in_list=[0, 1, -1]) - cr_analysis_homepage = ValidateAttr(field='cr_analysis_homepage', type=int, in_list=[0, 1, -1]) - am_details_homepage = ValidateAttr(field='am_details_homepage', type=int, in_list=[0, 1, -1]) + class DataPreparation(SpecObject): + """数据准备""" + fill_in_data = ValidateAttr(field='fill_in_data', type=int, in_list=[0, 1, -1]) + risk_data = ValidateAttr(field='risk_data', type=int, in_list=[0, 1, -1]) + + fields_map = { + "fill_in_data": "填报数据", + "risk_data": "风险数据" + } + + class ModelScoring(SpecObject): + """模型打分""" + rating_result = ValidateAttr(field='rating_result', type=int, in_list=[0, 1, -1]) + financial_indicator_results = ValidateAttr(field='financial_indicator_results', type=int, in_list=[0, 1, -1]) + + fields_map = { + "rating_result": "评价结果", + "financial_indicator_results": "财指结果" + } + + class DocumentGeneration(SpecObject): + """文档生成""" + report_data = ValidateAttr(field='report_data', type=int, in_list=[0, 1, -1]) + report = ValidateAttr(field='report', type=int, in_list=[0, 1, -1]) + certificate = ValidateAttr(field='certificate', type=int, in_list=[0, 1, -1]) + + fields_map = { + "report_data": "报告数据", + "report": "综信报告", + "certificate": "综信证书" + } + + class DataCleaning(SpecObject): + """数据清洗""" + comprehensive_credit_analysis = ValidateAttr(field='comprehensive_credit_analysis', type=int,in_list=[0, 1, -1]) + business_risk_analysis = ValidateAttr(field='business_risk_analysis', type=int, in_list=[0, 1, -1]) + financial_element_analysis = ValidateAttr(field='financial_element_analysis', type=int, in_list=[0, 1, -1]) + + fields_map = { + "comprehensive_credit_analysis": "综合信用分析", + "business_risk_analysis": "经营风险分析", + "financial_element_analysis": "财务要素分析" + } + + data_preparation = ValidateAttr(field='data_preparation', type=DataPreparation) + model_scoring = ValidateAttr(field='model_scoring', type=ModelScoring) + document_generation = ValidateAttr(field='document_generation', type=DocumentGeneration) + data_cleaning = ValidateAttr(field='data_cleaning', type=DataCleaning) fields_map = { - "fill_in_questionnaire": "问卷填报", - "fill_in_financial_data": "财务数据填报", - "clean_risk_data": "清洗风险数据", + "data_preparation": "数据准备", "model_scoring": "模型打分", - "report_generation": "报告生成", - "certificate_generation": "证书生成", - "cc_evaluation_homepage": "综合信用评价主页", - "fe_evaluation_homepage": "财务要素评价主页", - "cr_analysis_homepage": "公司风险分析主页", - "am_details_homepage": "分析指标明细主页" + "document_generation": "文档生成", + "data_cleaning": "数据清洗" } class EsgProcess(SpecObject): """ESG评价流程""" - data_filling = ValidateAttr(field='data_filling', type=int, in_list=[0, 1, -1]) - clean_risk_data = ValidateAttr(field='clean_risk_data', type=int, in_list=[0, 1, -1]) - model_scoring = ValidateAttr(field='model_scoring', type=int, in_list=[0, 1, -1]) - report_generation = ValidateAttr(field='report_generation', type=int, in_list=[0, 1, -1]) - certificate_generation = ValidateAttr(field='certificate_generation', type=int, in_list=[0, 1, -1]) - esg_data_homepage = ValidateAttr(field='esg_data_homepage', type=int, in_list=[0, 1, -1]) + class EsgDataPreparation(SpecObject): + """数据准备""" + fill_in_data = ValidateAttr(field='fill_in_data', type=int, in_list=[0, 1, -1]) + risk_data = ValidateAttr(field='risk_data', type=int, in_list=[0, 1, -1]) + + fields_map = { + "fill_in_data": "填报数据", + "risk_data": "风险数据" + } + + class EsgModelScoring(SpecObject): + """模型打分""" + rating_result = ValidateAttr(field='rating_result', type=int, in_list=[0, 1, -1]) + + fields_map = { + "rating_result": "评价结果" + } + + class EsgDocumentGeneration(SpecObject): + """文档生成""" + report_data = ValidateAttr(field='report_data', type=int, in_list=[0, 1, -1]) + report = ValidateAttr(field='report', type=int, in_list=[0, 1, -1]) + certificate = ValidateAttr(field='certificate', type=int, in_list=[0, 1, -1]) + + fields_map = { + "report_data": "报告数据", + "report": "ESG报告", + "certificate": "ESG证书" + } + + class EsgDataCleaning(SpecObject): + """数据清洗""" + esg_evaluation_analysis = ValidateAttr(field='esg_evaluation_analysis', type=int, in_list=[0, 1, -1]) + + fields_map = { + "esg_evaluation_analysis": "ESG评价分析" + } + + data_preparation = ValidateAttr(field='data_preparation', type=EsgDataPreparation) + model_scoring = ValidateAttr(field='model_scoring', type=EsgModelScoring) + document_generation = ValidateAttr(field='document_generation', type=EsgDocumentGeneration) + data_cleaning = ValidateAttr(field='data_cleaning', type=EsgDataCleaning) fields_map = { - "data_filling": "数据填报", - "clean_risk_data": "清洗风险数据", + "data_preparation": "数据准备", "model_scoring": "模型打分", - "report_generation": "报告生成", - "certificate_generation": "证书生成", - "esg_data_homepage": "主页ESG数据生成" + "document_generation": "文档生成", + "data_cleaning": "数据清洗" }