From 11d85079dd276a7f5b971542bb46cd7d04c24e6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=80=9D=E5=B7=9D?= Date: Wed, 15 Dec 2021 09:56:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=A8=A1=E6=9D=BF=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Rating/RatingModel.py | 6 +-- Rating/scripts/financial_score.py | 7 ++-- .../scripts/operating_score/Manufacturing.py | 13 +++--- static/test_data/demo01.json | 41 +------------------ 4 files changed, 14 insertions(+), 53 deletions(-) diff --git a/Rating/RatingModel.py b/Rating/RatingModel.py index 6db6697..7e23198 100644 --- a/Rating/RatingModel.py +++ b/Rating/RatingModel.py @@ -90,7 +90,7 @@ class RatingModel: score dict 分数 """ # main - level_1_industry = self.industry.split('-')[0] + level_1_industry = self.industry[0] if level_1_industry == '制造业': score = manufacturing(self.questionnaire) else: @@ -109,7 +109,7 @@ class RatingModel: """ # Parameters elements = copy.deepcopy(self.financial_indicators[0]) - industry = self.industry + industry = self.industry[1] # main elements.pop('年报期') # 计算指标分数前移除年报期字段 @@ -203,4 +203,4 @@ class RatingModel: if __name__ == '__main__': data = read_json_file(file_path('/static/test_data/demo01.json')) model = RatingModel(data) - model.save_result() + # model.save_result() diff --git a/Rating/scripts/financial_score.py b/Rating/scripts/financial_score.py index ffb9dd8..62e3e20 100644 --- a/Rating/scripts/financial_score.py +++ b/Rating/scripts/financial_score.py @@ -2,11 +2,11 @@ from Rating.db import find_threshold from common.scripts import file_path, read_json_file -def financial_score(param1, param2): +def financial_score(level_1_industry, param2): """ 财务要素进行打分 Parameters: - param1 string 完整行业 + param1 string 一级行业 param2 dict 财务指标 weights dict 财务指标权重 industry string 一级行业 @@ -17,8 +17,7 @@ def financial_score(param1, param2): """ # Parameters weights = read_json_file(file_path('/Rating/static/weights.json')) - industry = param1.split("-")[1] - refers = find_threshold(industry)[0] + refers = find_threshold(level_1_industry)[0] # Returns scores = dict() diff --git a/Rating/scripts/operating_score/Manufacturing.py b/Rating/scripts/operating_score/Manufacturing.py index 3e8e67c..53762ef 100644 --- a/Rating/scripts/operating_score/Manufacturing.py +++ b/Rating/scripts/operating_score/Manufacturing.py @@ -283,13 +283,12 @@ def calculation_19(param): """ A~E选择2项及以上得1分,选择1项得0.5分,选F项不得分,选G得1分 """ - param_list = list(param) - if 'F' in param_list: + if 'F' in param: score = 0 - elif 'G' in param_list: + elif 'G' in param: score = 1 - elif len(param_list) >= 2: + elif len(param) >= 2: score = 1 else: score = 0.5 @@ -532,8 +531,8 @@ def manufacturing(questionnaire): score float 得分 """ score = dict() - score['环境'] = ea(questionnaire['环境部分']) - score['社会责任'] = sre(questionnaire['社会责任']) - score['公司治理'] = cge(questionnaire['公司治理']) + score['环境'] = ea(questionnaire[0:10]) + score['社会责任'] = sre(questionnaire[10:20]) + score['公司治理'] = cge(questionnaire[20:30]) score['合计'] = sum(score.values()) return score diff --git a/static/test_data/demo01.json b/static/test_data/demo01.json index 0a9119b..40a92c7 100644 --- a/static/test_data/demo01.json +++ b/static/test_data/demo01.json @@ -2,46 +2,9 @@ "评价ID": "kSVoCeJ1", "企业ID": "mKJreZRw", "企业名称": "远东资信评估有限公司", - "行业": "制造业-电子工业", + "行业": ["制造业", "电子工业"], "评价年度": "2021年", - "经营问卷": { - "环境部分": [ - "A", - "C", - "C", - "15.9", - "7.3", - "14.3", - "A", - "A", - "B", - "B" - ], - "社会责任": [ - "E", - "1.25", - "C", - "B", - "B", - "A", - "612", - "B", - "G", - "B" - ], - "公司治理": [ - "B", - "A", - "A", - "B", - "C", - "B", - "12.7", - "B", - "B", - "B" - ] - }, + "经营问卷": ["A","C","C","15.9","7.3","14.3","A","A","B","B","E","1.25","C","B","B","A","612","B",["A", "B"],"B","B","A","A","B","C","B","12.7","B","B","B"], "财务填报": { "资产负债表": [ {