2021-12-07 15:28:49 +08:00
|
|
|
|
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分
|
|
|
|
|
"""
|
|
|
|
|
|
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.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
|
2021-12-14 17:30:48 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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])
|
2021-12-14 17:30:48 +08:00
|
|
|
|
score['合计'] = sum(score.values())
|
|
|
|
|
return score
|