changes 保健业打分模型
This commit is contained in:
parent
46136727d0
commit
35edbc900d
|
@ -276,6 +276,7 @@ def func(schemas: ComputeSchemas.ComputeModelReqBody, mongodb: MongoHelper = Dep
|
||||||
# 指标权重
|
# 指标权重
|
||||||
weight = index.get('权重')
|
weight = index.get('权重')
|
||||||
# 指标数值分为四种:常规数值型、直接进在区间内进行计算,部分区间可能缺失;财务指标数值型,经过计算的财务指标数值直接在区间进行计算;字符串型,直接与档位匹配,布尔型:是与否,一档与八档
|
# 指标数值分为四种:常规数值型、直接进在区间内进行计算,部分区间可能缺失;财务指标数值型,经过计算的财务指标数值直接在区间进行计算;字符串型,直接与档位匹配,布尔型:是与否,一档与八档
|
||||||
|
try:
|
||||||
if isinstance(value, str):
|
if isinstance(value, str):
|
||||||
# 遍历档位
|
# 遍历档位
|
||||||
for key, val in index.items():
|
for key, val in index.items():
|
||||||
|
@ -284,7 +285,6 @@ def func(schemas: ComputeSchemas.ComputeModelReqBody, mongodb: MongoHelper = Dep
|
||||||
index_dict['档位'] = score_level(key)
|
index_dict['档位'] = score_level(key)
|
||||||
index_score.append(index_dict)
|
index_score.append(index_dict)
|
||||||
test_list.append(index_name)
|
test_list.append(index_name)
|
||||||
print(index_name)
|
|
||||||
elif isinstance(value, float) or isinstance(value, int):
|
elif isinstance(value, float) or isinstance(value, int):
|
||||||
# 提取档位
|
# 提取档位
|
||||||
key_list = ['一级指标', '二级指标', '三级指标', '四级指标', '权重', '单位', '计算公式']
|
key_list = ['一级指标', '二级指标', '三级指标', '四级指标', '权重', '单位', '计算公式']
|
||||||
|
@ -293,15 +293,12 @@ def func(schemas: ComputeSchemas.ComputeModelReqBody, mongodb: MongoHelper = Dep
|
||||||
if key not in key_list:
|
if key not in key_list:
|
||||||
level_dict[key] = val
|
level_dict[key] = val
|
||||||
test_list.append(index_name)
|
test_list.append(index_name)
|
||||||
print(index_name)
|
|
||||||
result = score_func_by_number(level_dict, value, weight)
|
result = score_func_by_number(level_dict, value, weight)
|
||||||
index_dict['得分'] = result.get('得分')
|
index_dict['得分'] = result.get('得分')
|
||||||
index_dict['档位'] = result.get('档位')
|
index_dict['档位'] = result.get('档位')
|
||||||
index_score.append(index_dict)
|
index_score.append(index_dict)
|
||||||
|
except TypeError:
|
||||||
for da in data.keys():
|
raise HTTPException(status_code=400, detail="{}指标值不符合规范".format(index_name))
|
||||||
if da not in test_list:
|
|
||||||
print(da)
|
|
||||||
|
|
||||||
# 汇总得分
|
# 汇总得分
|
||||||
total_score = round(sum(item.get('得分') for item in index_score), 2)
|
total_score = round(sum(item.get('得分') for item in index_score), 2)
|
||||||
|
|
Loading…
Reference in New Issue