tfse-model-api-v0.2/Rating/scripts/operating_score/Manufacturing.py

539 lines
9.8 KiB
Python
Raw Normal View History

2021-12-07 15:28:49 +08:00
def calculation_01(param):
"""
A得1分B得0.5C不得分
"""
if param == 'A':
score = 1
elif param == 'B':
score = 0.5
else:
score = 0
return score
def calculation_02(param):
"""
C得1分B得0.5A不得分
"""
if param == 'C':
score = 1
elif param == 'B':
score = 0.5
else:
score = 0
return score
def calculation_03(param):
"""
D得1分C得0.5B得0.25A不得分
"""
if param == 'D':
score = 1
elif param == 'C':
score = 0.5
elif param == 'B':
score = 0.25
else:
score = 0
return score
def calculation_04(param):
"""
20192020年平均单位产值电力消耗同比增长18%以上得1分
13.5%~18%得0.758%~13.5%得0.50%~8%得0.250及以下不得分
"""
param = float(param)
if param > 18:
score = 1
elif param > 13.5:
score = 0.75
elif param > 8:
score = 0.5
elif param > 0:
score = 0.25
else:
score = 0
return score
def calculation_05(param):
"""
20192020年平均每吨水产值同比增长15%以上得1分
10%~15%得0.755%~10%得0. 50%~5%得0.2 50及以下不得分
"""
param = float(param)
if param > 15:
score = 1
elif param > 10:
score = 0.75
elif param > 5:
score = 0.5
elif param > 0:
score = 0.25
else:
score = 0
return score
def calculation_06(param):
"""
20192020年二氧化碳排放同比降低25%以上得1分
18%~25%得0.7510%~18%得0.50%~10%得0.250%和同比增长不得分
"""
param = float(param)
if param > 25:
score = 1
elif param > 18:
score = 0.75
elif param > 10:
score = 0.5
elif param > 0:
score = 0.25
else:
score = 0
return score
def calculation_07(param):
"""
A得1分B得0.75C得0.5D不得分
"""
if param == 'A':
score = 1
elif param == 'B':
score = 0.75
elif param == 'C':
score = 0.5
else:
score = 0
return score
def calculation_08(param):
"""
A得1分B不得分
"""
if param == 'A':
score = 1
else:
score = 0
return score
def calculation_09(param):
"""
A得1分B得0.75C得0.5D不得分
"""
if param == 'A':
score = 1
elif param == 'B':
score = 0.75
elif param == 'C':
score = 0.5
else:
score = 0
return score
def calculation_10(param):
"""
B得1分A不得分
"""
if param == 'B':
score = 1
else:
score = 0
return score
def calculation_11(param):
"""
E得1分D得0.75C得0.5B得0.25A不得分
"""
if param == 'E':
score = 1
elif param == 'D':
score = 0.75
elif param == 'C':
score = 0.5
elif param == 'B':
score = 0.25
else:
score = 0
return score
def calculation_12(param):
"""
小于3%得1分否则不得分
"""
param = float(param)
if param < 3:
score = 1
else:
score = 0
return score
def calculation_13(param):
"""
A得1分B得0.5C不得分
"""
if param == 'A':
score = 1
elif param == 'B':
score = 0.5
else:
score = 0
return score
def calculation_14(param):
"""
A得1分B得0.5C不得分
"""
if param == 'A':
score = 1
elif param == 'B':
score = 0.5
else:
score = 0
return score
def calculation_15(param):
"""
A得1分B得0.75C得0.5D得0.25E不得分
"""
if param == 'A':
score = 1
elif param == 'B':
score = 0.75
elif param == 'C':
score = 0.5
elif param == 'D':
score = 0.25
else:
score = 0
return score
def calculation_16(param):
"""
B得1分A不得分
"""
if param == 'B':
score = 1
else:
score = 0
return score
def calculation_17(param):
"""
捐赠金额大于1000万元得1分500~1000万元得0.75
100~500万元得0.50~100万元得0.25否则不得分
"""
param = float(param)
if param > 1000:
score = 1
elif param > 500:
score = 0.75
elif param > 100:
score = 0.5
elif param > 0:
score = 0.25
else:
score = 0
return score
def calculation_18(param):
"""
B得1分A不得分
"""
if param == 'B':
score = 1
else:
score = 0
return score
def calculation_19(param):
"""
A~E选择2项及以上得1分选择1项得0.5选F项不得分选G得1分
"""
2021-12-15 09:56:29 +08:00
if 'F' in param:
2021-12-07 15:28:49 +08:00
score = 0
2021-12-15 09:56:29 +08:00
elif 'G' in param:
2021-12-07 15:28:49 +08:00
score = 1
2021-12-15 09:56:29 +08:00
elif len(param) >= 2:
2021-12-07 15:28:49 +08:00
score = 1
else:
score = 0.5
return score
def calculation_20(param):
"""
A得0.25B得0.5C得0.75D得1分E不得分
"""
if param == 'A':
score = 0.25
elif param == 'B':
score = 0.5
elif param == 'C':
score = 0.75
elif param == 'D':
score = 1
else:
score = 0
return score
def calculation_21(param):
"""
A得1分B得0.5C不得分
"""
if param == 'A':
score = 1
elif param == 'B':
score = 0.5
else:
score = 0
return score
def calculation_22(param):
"""
A得1分B得0.5C不得分
"""
if param == 'A':
score = 1
elif param == 'B':
score = 0.5
else:
score = 0
return score
def calculation_23(param):
"""
A得1分B得0.5C不得分
"""
if param == 'A':
score = 1
elif param == 'B':
score = 0.5
else:
score = 0
return score
def calculation_24(param):
"""
A得1分B得0.5C得0.25D不得分
"""
if param == 'A':
score = 1
elif param == 'B':
score = 0.5
elif param == 'C':
score = 0.25
else:
score = 0
return score
def calculation_25(param):
"""
A得1分B得0.75C得0.5D得0.25E不得分
"""
if param == 'A':
score = 1
elif param == 'B':
score = 0.75
elif param == 'C':
score = 0.5
elif param == 'D':
score = 0.25
else:
score = 0
return score
def calculation_26(param):
"""
A得0.5B得0.75C得1分D不得分
"""
if param == 'A':
score = 0.5
elif param == 'B':
score = 0.75
elif param == 'C':
score = 1
else:
score = 0
return score
def calculation_27(param):
"""
捐赠金额大于1000万元得1分500~1000万元得0.75
100~500万元得0.50~100万元得0.25否则不得分
"""
param = float(param)
if param > 15:
score = 1
elif param > 10:
score = 0.75
elif param > 5:
score = 0.5
elif param > 0:
score = 0.25
else:
score = 0
return score
def calculation_28(param):
"""
B得1分A不得分
"""
if param == 'B':
score = 1
else:
score = 0
return score
def calculation_29(param):
"""
B得1分A不得分
"""
if param == 'B':
score = 1
else:
score = 0
return score
def calculation_30(param):
"""
B得1分A不得分
"""
if param == 'B':
score = 1
else:
score = 0
return score
def ea(param):
"""
环境评价得分
"""
fraction = list()
fraction.append(calculation_01(param[0]))
fraction.append(calculation_02(param[1]))
fraction.append(calculation_03(param[2]))
fraction.append(calculation_04(param[3]))
fraction.append(calculation_05(param[4]))
fraction.append(calculation_06(param[5]))
fraction.append(calculation_07(param[6]))
fraction.append(calculation_08(param[7]))
fraction.append(calculation_09(param[8]))
fraction.append(calculation_10(param[9]))
value = sum(fraction)
return value
def sre(param):
"""
社会责任评价得分
"""
fraction = list()
fraction.append(calculation_11(param[0]))
fraction.append(calculation_12(param[1]))
fraction.append(calculation_13(param[2]))
fraction.append(calculation_14(param[3]))
fraction.append(calculation_15(param[4]))
fraction.append(calculation_16(param[5]))
fraction.append(calculation_17(param[6]))
fraction.append(calculation_18(param[7]))
fraction.append(calculation_19(param[8]))
fraction.append(calculation_20(param[9]))
value = sum(fraction)
return value
def cge(param):
"""
公司治理评价得分
"""
fraction = list()
fraction.append(calculation_21(param[0]))
fraction.append(calculation_22(param[1]))
fraction.append(calculation_23(param[2]))
fraction.append(calculation_24(param[3]))
fraction.append(calculation_25(param[4]))
fraction.append(calculation_26(param[5]))
fraction.append(calculation_27(param[6]))
fraction.append(calculation_28(param[7]))
fraction.append(calculation_29(param[8]))
fraction.append(calculation_30(param[9]))
value = sum(fraction)
return value
def manufacturing(questionnaire):
"""
计算经营要素得分
Parameters
questionnaire dict 经营问卷
Returns
score float 得分
"""
score = dict()
2021-12-15 09:56:29 +08:00
score['环境'] = ea(questionnaire[0:10])
score['社会责任'] = sre(questionnaire[10:20])
score['公司治理'] = cge(questionnaire[20:30])
score['合计'] = sum(score.values())
return score