tfse-etl-api-v0.2/rating/scripts/report/rating_conclusion.py

142 lines
5.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

def conclusion(param):
"""
结论
清洗数据库数据,根据需要返回
Parameters:
param: 数据库数据
Returns:
结论数据
"""
# Params
data_01 = param['评价结果']
# Returns
result = list()
def para_01():
part_01 = dict()
part_01['describe'] = list()
def describe():
# 环境部分得分
ep_s = data_01['经营评分']['环境']
if ep_s > 10 * 0.5:
part_01['describe'].append('公司为环境友好型企业')
else:
part_01['describe'].append('公司绿色发展理念相对薄弱')
# 社会责任部分得分
sr_s = data_01['经营评分']['社会责任']
if sr_s > 10 * 0.5:
part_01['describe'].append('积极履行社会责任')
else:
part_01['describe'].append('社会责任履行能力有待进一步提升')
# 公司治理部分得分
cg_s = data_01['经营评分']['公司治理']
if cg_s > 10 * 0.5:
part_01['describe'].append('内部治理水平较高')
else:
part_01['describe'].append('治理水平有待进一步提升')
part_01['describe'] = ''.join(part_01['describe'])
describe()
return part_01
def para_02():
part_02 = dict()
def enterprise_quality():
# 企业整体素质
eq_s = data_01['经营评分']['合计']
if eq_s >= 30:
part_02['enterprise_quality'] = ''
elif eq_s >= 30 * 0.8:
part_02['enterprise_quality'] = '较好'
elif eq_s >= 30 * 0.6:
part_02['enterprise_quality'] = '一般'
elif eq_s >= 30 * 0.4:
part_02['enterprise_quality'] = '较差'
else:
part_02['enterprise_quality'] = ''
def profitability_detail():
p = float(data_01['财务评分']['盈利能力']['净资产收益率'])
s = float(data_01['财务评分']['盈利能力']['总资产报酬率'])
p_s = p + s
if p_s >= 16:
part_02['profitability'] = ''
elif p_s >= 16 * 0.8:
part_02['profitability'] = '较强'
elif p_s >= 16 * 0.6:
part_02['profitability'] = '尚可'
elif p_s >= 16 * 0.4:
part_02['profitability'] = '较弱'
else:
part_02['profitability'] = ''
def asset_quality_detail():
a = float(data_01['财务评分']['资产质量']['总资产周转率'])
q = float(data_01['财务评分']['资产质量']['应收账款周转率'])
s = float(data_01['财务评分']['资产质量']['存货周转率'])
aq_s = a + q + s
if aq_s >= 18:
part_02['asset_quality'] = ''
elif aq_s >= 18 * 0.8:
part_02['asset_quality'] = '较好'
elif aq_s >= 18 * 0.6:
part_02['asset_quality'] = '一般'
elif aq_s >= 18 * 0.4:
part_02['asset_quality'] = '较差'
else:
part_02['asset_quality'] = ''
def debt_risk_detail():
# 债务风险得分
d = float(data_01['财务评分']['债务风险']['资产负债率'])
r = float(data_01['财务评分']['债务风险']['已获利息倍数'])
s = float(data_01['财务评分']['债务风险']['速动比率'])
dr_s = d + r + s
if dr_s >= 18:
part_02['debt_risk'] = ''
elif dr_s >= 18 * 0.8:
part_02['debt_risk'] = '较高'
elif dr_s >= 18 * 0.6:
part_02['debt_risk'] = '适中'
elif dr_s >= 18 * 0.4:
part_02['debt_risk'] = '较低'
else:
part_02['debt_risk'] = ''
def growth_ability_detail():
g = float(data_01['财务评分']['经营增长']['营业增长率'])
s = float(data_01['财务评分']['经营增长']['总资产增长率'])
i = float(data_01['财务评分']['经营增长']['技术投入比率'])
# 成长空间得分
gs_s = g + s + i
if gs_s >= 18:
part_02['growth_ability'] = ''
elif gs_s >= 18 * 0.8:
part_02['growth_ability'] = '较大'
elif gs_s >= 18 * 0.6:
part_02['growth_ability'] = '不大'
elif gs_s >= 18 * 0.4:
part_02['growth_ability'] = '较小'
else:
part_02['growth_ability'] = ''
enterprise_quality()
profitability_detail()
asset_quality_detail()
debt_risk_detail()
growth_ability_detail()
return part_02
def para_03():
part_03 = dict()
part_03['company'] = data_01['企业名称']
part_03['credit_rank'] = data_01['信用等级']
return part_03
result.append(para_01())
result.append(para_02())
result.append(para_03())
return result