423 lines
14 KiB
Python
423 lines
14 KiB
Python
def profitability(param):
|
|
"""
|
|
资质荣誉 区分行业
|
|
Parameters:
|
|
param: 数据库数据
|
|
"""
|
|
industry = param['综合评价填报']['行业选择'][0]
|
|
if industry == '制造业':
|
|
return profitability_manufacturing(param)
|
|
elif industry == '信息技术业':
|
|
return profitability_infomation(param)
|
|
|
|
|
|
def profitability_manufacturing(param):
|
|
"""
|
|
盈利能力-制造业
|
|
清洗数据库数据,根据需要返回
|
|
Parameters:
|
|
param: 数据库数据
|
|
Returns:
|
|
盈利能力数据
|
|
"""
|
|
# Params
|
|
data_01 = param['综合评价填报']
|
|
data_02 = param['评价结果']
|
|
data_03 = param['指标明细']
|
|
|
|
# Returns
|
|
result = list()
|
|
part_01 = dict()
|
|
|
|
def para_02():
|
|
part_02 = dict()
|
|
# 年度
|
|
part_02['date'] = data_01['财务填报']['利润表'][1]['报告期'][:4]
|
|
# 净资产收益率
|
|
part_02['return_on_net_assets_analysis'] = str(data_03[1]['净资产收益率'])
|
|
# 总资产报酬率
|
|
part_02['return_on_total_assets_analysis'] = str(data_03[1]['总资产报酬率'])
|
|
|
|
def income_scale():
|
|
# 收入规模
|
|
income = float(data_01['财务填报']['利润表'][0]['营业收入'])
|
|
if income > 400000000:
|
|
part_02['income_scale'] = '较大'
|
|
elif income > 20000000:
|
|
part_02['income_scale'] = '处于行业中等水平'
|
|
elif income > 3000000:
|
|
part_02['income_scale'] = '较小'
|
|
else:
|
|
part_02['income_scale'] = '小'
|
|
|
|
def technology_level():
|
|
# 产品技术含量
|
|
rona = data_02['财务评分']['盈利能力']['净资产收益率']
|
|
if rona >= 8:
|
|
part_02['technology_level'] = '高'
|
|
elif rona >= 8 * 0.8:
|
|
part_02['technology_level'] = '较高'
|
|
elif rona >= 8 * 0.6:
|
|
part_02['technology_level'] = '处于行业平均水平'
|
|
elif rona >= 8 * 0.4:
|
|
part_02['technology_level'] = '较低'
|
|
else:
|
|
part_02['technology_level'] = '低'
|
|
|
|
def profitability_analysis():
|
|
# 盈利能力
|
|
p_score = data_02['财务评分']['盈利能力']['净资产收益率'] + data_02['财务评分']['盈利能力']['总资产报酬率']
|
|
if p_score >= 16:
|
|
part_02['profitability_analysis'] = '好'
|
|
elif p_score >= 16 * 0.8:
|
|
part_02['profitability_analysis'] = '较好'
|
|
elif p_score >= 16 * 0.8:
|
|
part_02['profitability_analysis'] = '有待提高'
|
|
elif p_score >= 16 * 0.8:
|
|
part_02['profitability_analysis'] = '较弱'
|
|
else:
|
|
part_02['profitability_analysis'] = '弱'
|
|
|
|
income_scale()
|
|
technology_level()
|
|
profitability_analysis()
|
|
return part_02
|
|
|
|
result.append(part_01)
|
|
result.append(para_02())
|
|
return result
|
|
|
|
|
|
def profitability_infomation(param):
|
|
"""
|
|
盈利能力-信息技术业
|
|
清洗数据库数据,根据需要返回
|
|
Parameters:
|
|
param: 数据库数据
|
|
Returns:
|
|
盈利能力数据
|
|
"""
|
|
# Params
|
|
data_01 = param['综合评价填报']
|
|
data_03 = param['指标明细']
|
|
|
|
# Returns
|
|
result = list()
|
|
part_01 = dict()
|
|
part_02 = dict()
|
|
|
|
def para_03():
|
|
part_03 = dict()
|
|
# 年度
|
|
part_03['date'] = data_01['财务填报']['利润表'][1]['报告期'][:4]
|
|
# 净资产收益率
|
|
part_03['return_on_net_assets_analysis'] = str(data_03[1]['净资产收益率'])
|
|
# 是否高于平均水平
|
|
if data_03[1]['净资产收益率'] > 4.7:
|
|
part_03['high_low_01'] = '高于'
|
|
else:
|
|
part_03['high_low_01'] = '低于'
|
|
# 总资产报酬率
|
|
part_03['return_on_total_assets_analysis'] = str(data_03[1]['总资产报酬率'])
|
|
# 是否高于平均水平
|
|
if data_03[1]['总资产报酬率'] > 2.7:
|
|
part_03['high_low_02'] = '高于'
|
|
else:
|
|
part_03['high_low_02'] = '低于'
|
|
return part_03
|
|
|
|
result.append(part_01)
|
|
result.append(part_02)
|
|
result.append(para_03())
|
|
return result
|
|
|
|
|
|
def asset_quality(param):
|
|
"""
|
|
资产质量 区分行业
|
|
Parameters:
|
|
param: 数据库数据
|
|
"""
|
|
industry = param['综合评价填报']['行业选择'][0]
|
|
if industry == '制造业':
|
|
return asset_quality_manufacturing(param)
|
|
elif industry == '信息技术业':
|
|
return asset_quality_infomation(param)
|
|
|
|
|
|
def asset_quality_manufacturing(param):
|
|
"""
|
|
资产质量-制造业
|
|
清洗数据库数据,根据需要返回
|
|
Parameters:
|
|
param: 数据库数据
|
|
Returns:
|
|
资产质量数据
|
|
"""
|
|
# Params
|
|
data_01 = param['综合评价填报']
|
|
data_02 = param['评价结果']
|
|
data_03 = param['指标明细']
|
|
|
|
# Returns
|
|
result = list()
|
|
part_01 = dict()
|
|
part_02 = dict()
|
|
|
|
def para_03():
|
|
part_03 = dict()
|
|
# 年度
|
|
part_03['date'] = data_01['财务填报']['利润表'][1]['报告期'][:4]
|
|
# 应收账款周转率
|
|
part_03['account_turnover_analysis'] = str(data_03[0]['应收账款周转率'])
|
|
# 存货周转率
|
|
part_03['inventory_turnover_analysis'] = str(data_03[0]['存货周转率'])
|
|
# 总资产周转率
|
|
part_03['total_assets_turnover_analysis'] = str(data_03[0]['总资产周转率'])
|
|
|
|
def industry_asset():
|
|
a = float(data_02['财务评分']['资产质量']['总资产周转率'])
|
|
s = float(data_02['财务评分']['资产质量']['应收账款周转率'])
|
|
c = float(data_02['财务评分']['资产质量']['存货周转率'])
|
|
a_s = a + s + c
|
|
if a_s >= 18:
|
|
part_03['industry_level'] = '高'
|
|
part_03['asset_quality'] = '好'
|
|
elif a_s >= 18 * 0.8:
|
|
part_03['industry_level'] = '较高'
|
|
part_03['asset_quality'] = '较好'
|
|
elif a_s >= 18 * 0.6:
|
|
part_03['industry_level'] = '中等'
|
|
part_03['asset_quality'] = '有待改善'
|
|
elif a_s >= 18 * 0.4:
|
|
part_03['industry_level'] = '偏低'
|
|
part_03['asset_quality'] = '较差'
|
|
else:
|
|
part_03['industry_level'] = '低'
|
|
part_03['asset_quality'] = '差'
|
|
|
|
industry_asset()
|
|
return part_03
|
|
|
|
result.append(part_01)
|
|
result.append(part_02)
|
|
result.append(para_03())
|
|
return result
|
|
|
|
|
|
def asset_quality_infomation(param):
|
|
"""
|
|
资产质量-信息技术业
|
|
清洗数据库数据,根据需要返回
|
|
Parameters:
|
|
param: 数据库数据
|
|
Returns:
|
|
资产质量数据
|
|
"""
|
|
# Params
|
|
data_01 = param['综合评价填报']
|
|
data_02 = param['评价结果']
|
|
data_03 = param['指标明细']
|
|
|
|
# Returns
|
|
result = list()
|
|
|
|
def para_01():
|
|
part_01 = dict()
|
|
# 年度
|
|
part_01['date'] = data_01['财务填报']['利润表'][1]['报告期'][:4]
|
|
# 应收账款周转率
|
|
part_01['account_turnover_analysis'] = str(data_03[1]['应收账款周转率'])
|
|
# 是否高于平均水平
|
|
if data_03[1]['应收账款周转率'] > 0.4:
|
|
part_01['high_low_01'] = '高'
|
|
else:
|
|
part_01['high_low_01'] = '低'
|
|
# 总资产周转率
|
|
part_01['total_assets_turnover_analysis'] = str(data_03[1]['总资产周转率'])
|
|
# 是否高于平均水平
|
|
if data_03[1]['总资产周转率'] > 3.9:
|
|
part_01['high_low_02'] = '高于'
|
|
else:
|
|
part_01['high_low_02'] = '低于'
|
|
|
|
return part_01
|
|
|
|
result.append(para_01())
|
|
return result
|
|
|
|
|
|
def debt_risk(param):
|
|
"""
|
|
债务风险
|
|
清洗数据库数据,根据需要返回
|
|
Parameters:
|
|
param: 数据库数据
|
|
Returns:
|
|
债务风险数据
|
|
"""
|
|
# Params
|
|
data_02 = param['评价结果']
|
|
data_03 = param['指标明细']
|
|
|
|
# Returns
|
|
result = list()
|
|
part_01 = dict()
|
|
|
|
def para_02():
|
|
part_02 = dict()
|
|
|
|
def debt_risk_detail():
|
|
a = float(data_02['财务评分']['债务风险']['资产负债率'])
|
|
d = float(data_02['财务评分']['债务风险']['已获利息倍数'])
|
|
s = float(data_02['财务评分']['债务风险']['速动比率'])
|
|
d_s = a + d + s
|
|
if d_s >= 18:
|
|
part_02['debt_risk'] = '大'
|
|
elif d_s >= 18 * 0.8:
|
|
part_02['debt_risk'] = '较大'
|
|
elif d_s >= 18 * 0.6:
|
|
part_02['debt_risk'] = '适中'
|
|
elif d_s >= 18 * 0.4:
|
|
part_02['debt_risk'] = '较小'
|
|
else:
|
|
part_02['debt_risk'] = '小'
|
|
|
|
def asset_liability_ratio():
|
|
# 资产负债率区间
|
|
if len(data_03) >= 3:
|
|
rate = [data_03[0]['资产负债率'], data_03[1]['资产负债率'], data_03[2]['资产负债率']]
|
|
rate.sort()
|
|
part_02['min_asset_liability_ratio'] = str(rate[0])
|
|
part_02['max_asset_liability_ratio'] = str(rate[2])
|
|
else:
|
|
rate_01 = data_03[0]['资产负债率']
|
|
rate_02 = data_03[1]['资产负债率']
|
|
if rate_01 > rate_02:
|
|
part_02['max_asset_liability_ratio'] = str(rate_01)
|
|
part_02['min_asset_liability_ratio'] = str(rate_02)
|
|
else:
|
|
part_02['max_asset_liability_ratio'] = str(rate_02)
|
|
part_02['min_asset_liability_ratio'] = str(rate_01)
|
|
|
|
def fin_structure_analysis():
|
|
# 财务结构
|
|
alr = data_03[0]['资产负债率']
|
|
if alr < 0.4:
|
|
part_02['fin_structure_analysis'] = '稳健'
|
|
elif alr < 0.55:
|
|
part_02['fin_structure_analysis'] = '较稳健'
|
|
elif alr < 0.7:
|
|
part_02['fin_structure_analysis'] = '稳健性有待进一步加强'
|
|
else:
|
|
part_02['fin_structure_analysis'] = '欠稳健'
|
|
|
|
def operating_cash_flow_to_debt():
|
|
# 经营性现金流对利息的保障程度
|
|
ic_s = data_02['财务评分']['债务风险']['已获利息倍数']
|
|
if ic_s >= 5:
|
|
part_02['operating_cash_flow_to_debt'] = '强'
|
|
elif ic_s >= 5 * 0.8:
|
|
part_02['operating_cash_flow_to_debt'] = '较强'
|
|
elif ic_s >= 5 * 0.6:
|
|
part_02['operating_cash_flow_to_debt'] = '尚可'
|
|
elif ic_s >= 5 * 0.4:
|
|
part_02['operating_cash_flow_to_debt'] = '较弱'
|
|
else:
|
|
part_02['operating_cash_flow_to_debt'] = '弱'
|
|
|
|
def assets_liquidity():
|
|
# 资产流动性
|
|
qr_s = data_02['财务评分']['债务风险']['速动比率']
|
|
if qr_s >= 5:
|
|
part_02['assets_liquidity'] = '好'
|
|
elif qr_s >= 5 * 0.8:
|
|
part_02['assets_liquidity'] = '较好'
|
|
elif qr_s >= 5 * 0.6:
|
|
part_02['assets_liquidity'] = '一般'
|
|
elif qr_s >= 5 * 0.4:
|
|
part_02['assets_liquidity'] = '较差'
|
|
else:
|
|
part_02['assets_liquidity'] = '差'
|
|
|
|
# 已获利息倍数
|
|
part_02['interest_cover'] = str(data_03[0]['已获利息倍数'])
|
|
# 速动比率
|
|
part_02['quick_ratio'] = str(data_03[0]['速动比率'])
|
|
debt_risk_detail()
|
|
asset_liability_ratio()
|
|
asset_liability_ratio()
|
|
fin_structure_analysis()
|
|
operating_cash_flow_to_debt()
|
|
assets_liquidity()
|
|
return part_02
|
|
|
|
result.append(part_01)
|
|
result.append(para_02())
|
|
return result
|
|
|
|
|
|
def growth_ability(param):
|
|
"""
|
|
成长能力
|
|
清洗数据库数据,根据需要返回
|
|
Parameters:
|
|
param: 数据库数据
|
|
Returns:
|
|
成长能力数据
|
|
"""
|
|
# Params
|
|
data_02 = param['评价结果']
|
|
data_03 = param['指标明细']
|
|
|
|
# Returns
|
|
result = list()
|
|
part_01 = dict()
|
|
|
|
def para_02():
|
|
part_02 = dict()
|
|
|
|
def degree_of_imprtance():
|
|
# 重视程度
|
|
ti_s = data_02['财务评分']['经营增长']['技术投入比率']
|
|
if ti_s >= 5 * 0.7:
|
|
part_02['degree_of_imprtance'] = '重视技术研发或先进工艺的开发'
|
|
elif ti_s >= 5 * 0.4:
|
|
part_02['degree_of_imprtance'] = '对技术研发或先进工艺的开发的重视程度一般'
|
|
else:
|
|
part_02['degree_of_imprtance'] = '不重视技术研发或先进工艺的开发'
|
|
|
|
# 技术投入比
|
|
part_02['technology_input_ratio'] = str(data_03[1]['技术投入比率'])
|
|
|
|
def contribution_growth_ability():
|
|
g = float(data_02['财务评分']['经营增长']['营业增长率'])
|
|
a = float(data_02['财务评分']['经营增长']['总资产增长率'])
|
|
s = float(data_02['财务评分']['经营增长']['技术投入比率'])
|
|
ga_s = g + a + s
|
|
if ga_s >= 18:
|
|
part_02['contribution'] = '大'
|
|
part_02['growth_ability'] = '好'
|
|
elif ga_s >= 18 * 0.8:
|
|
part_02['contribution'] = '较大'
|
|
part_02['growth_ability'] = '较好'
|
|
elif ga_s >= 18 * 0.6:
|
|
part_02['contribution'] = '尚可'
|
|
part_02['growth_ability'] = '一般'
|
|
elif ga_s >= 18 * 0.4:
|
|
part_02['contribution'] = '较小'
|
|
part_02['growth_ability'] = '较差'
|
|
else:
|
|
part_02['contribution'] = '小'
|
|
part_02['growth_ability'] = '差'
|
|
# 营业收入增长率
|
|
part_02['growth_rate_of_operating_revenue'] = str(data_03[1]['营业增长率'])
|
|
# 总资产增长率
|
|
part_02['growth_rate_of_total_assets'] = str(data_03[1]['总资产增长率'])
|
|
degree_of_imprtance()
|
|
contribution_growth_ability()
|
|
return part_02
|
|
|
|
result.append(part_01)
|
|
result.append(para_02())
|
|
return result |