539 lines
9.8 KiB
Python
539 lines
9.8 KiB
Python
def calculation_01(param):
|
||
"""
|
||
A得1分,B得0.5分,C不得分
|
||
"""
|
||
if param == 'A':
|
||
score = 1
|
||
elif param == 'B':
|
||
score = 0.5
|
||
else:
|
||
score = 0
|
||
|
||
return score
|
||
|
||
|
||
def calculation_02(param):
|
||
"""
|
||
C得1分,B得0.5分,A不得分
|
||
"""
|
||
if param == 'C':
|
||
score = 1
|
||
elif param == 'B':
|
||
score = 0.5
|
||
else:
|
||
score = 0
|
||
|
||
return score
|
||
|
||
|
||
def calculation_03(param):
|
||
"""
|
||
D得1分,C得0.5分,B得0.25分,A不得分
|
||
"""
|
||
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):
|
||
"""
|
||
2019年、2020年平均单位产值电力消耗同比增长18%以上得1分,
|
||
13.5%~18%得0.75分,8%~13.5%得0.5分,0%~8%得0.25分,0及以下不得分
|
||
"""
|
||
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):
|
||
"""
|
||
2019年、2020年平均每吨水产值同比增长15%以上得1分,
|
||
10%~15%得0.75分,5%~10%得0. 5分,0%~5%得0.2 5分,0及以下不得分
|
||
"""
|
||
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):
|
||
"""
|
||
2019年、2020年二氧化碳排放同比降低25%以上得1分,
|
||
18%~25%得0.75分,10%~18%得0.5分,0%~10%得0.25分,0%和同比增长不得分
|
||
"""
|
||
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.75分,C得0.5分,D不得分
|
||
"""
|
||
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.75分,C得0.5分,D不得分
|
||
"""
|
||
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.75分,C得0.5分,B得0.25分,A不得分
|
||
"""
|
||
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.5分,C不得分
|
||
"""
|
||
if param == 'A':
|
||
score = 1
|
||
elif param == 'B':
|
||
score = 0.5
|
||
else:
|
||
score = 0
|
||
|
||
return score
|
||
|
||
|
||
def calculation_14(param):
|
||
"""
|
||
A得1分,B得0.5分,C不得分
|
||
"""
|
||
if param == 'A':
|
||
score = 1
|
||
elif param == 'B':
|
||
score = 0.5
|
||
else:
|
||
score = 0
|
||
|
||
return score
|
||
|
||
|
||
def calculation_15(param):
|
||
"""
|
||
A得1分,B得0.75分,C得0.5分,D得0.25分,E不得分
|
||
"""
|
||
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.5分,0~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分
|
||
"""
|
||
|
||
if 'F' in param:
|
||
score = 0
|
||
elif 'G' in param:
|
||
score = 1
|
||
elif len(param) >= 2:
|
||
score = 1
|
||
else:
|
||
score = 0.5
|
||
|
||
return score
|
||
|
||
|
||
def calculation_20(param):
|
||
"""
|
||
A得0.25分,B得0.5分,C得0.75分,D得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.5分,C不得分
|
||
"""
|
||
if param == 'A':
|
||
score = 1
|
||
elif param == 'B':
|
||
score = 0.5
|
||
else:
|
||
score = 0
|
||
|
||
return score
|
||
|
||
|
||
def calculation_22(param):
|
||
"""
|
||
A得1分,B得0.5分,C不得分
|
||
"""
|
||
if param == 'A':
|
||
score = 1
|
||
elif param == 'B':
|
||
score = 0.5
|
||
else:
|
||
score = 0
|
||
|
||
return score
|
||
|
||
|
||
def calculation_23(param):
|
||
"""
|
||
A得1分,B得0.5分,C不得分
|
||
"""
|
||
if param == 'A':
|
||
score = 1
|
||
elif param == 'B':
|
||
score = 0.5
|
||
else:
|
||
score = 0
|
||
|
||
return score
|
||
|
||
|
||
def calculation_24(param):
|
||
"""
|
||
A得1分,B得0.5分,C得0.25分,D不得分
|
||
"""
|
||
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.75分,C得0.5分,D得0.25分,E不得分
|
||
"""
|
||
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.5分,B得0.75分,C得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.5分,0~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()
|
||
score['环境'] = ea(questionnaire[0:10])
|
||
score['社会责任'] = sre(questionnaire[10:20])
|
||
score['公司治理'] = cge(questionnaire[20:30])
|
||
score['合计'] = sum(score.values())
|
||
return score
|