57 lines
2.5 KiB
Python
57 lines
2.5 KiB
Python
|
from fastapi import APIRouter
|
|||
|
from pydantic import BaseModel
|
|||
|
|
|||
|
INDEX = "CFO/总债务_三年加权计算(倍)"
|
|||
|
|
|||
|
router = APIRouter()
|
|||
|
|
|||
|
|
|||
|
class Params(BaseModel):
|
|||
|
当期短期借款: float
|
|||
|
当期长期借款: float
|
|||
|
当期交易性金融负债: float
|
|||
|
当期应付票据: float
|
|||
|
当期一年内到期的非流动负债: float
|
|||
|
当期其他短期有息债务: float
|
|||
|
当期应付债券: float
|
|||
|
当期其他长期有息债务: float
|
|||
|
当期经营活动产生的现金流量净额: float
|
|||
|
|
|||
|
上期短期借款: float
|
|||
|
上期长期借款: float
|
|||
|
上期交易性金融负债: float
|
|||
|
上期应付票据: float
|
|||
|
上期一年内到期的非流动负债: float
|
|||
|
上期其他短期有息债务: float
|
|||
|
上期应付债券: float
|
|||
|
上期其他长期有息债务: float
|
|||
|
上期经营活动产生的现金流量净额: float
|
|||
|
|
|||
|
上二期短期借款: float
|
|||
|
上二期长期借款: float
|
|||
|
上二期交易性金融负债: float
|
|||
|
上二期应付票据: float
|
|||
|
上二期一年内到期的非流动负债: float
|
|||
|
上二期其他短期有息债务: float
|
|||
|
上二期应付债券: float
|
|||
|
上二期其他长期有息债务: float
|
|||
|
上二期经营活动产生的现金流量净额: float
|
|||
|
|
|||
|
|
|||
|
@router.post("/{}".format(INDEX))
|
|||
|
def func(p: Params):
|
|||
|
try:
|
|||
|
ratio1 = p.当期经营活动产生的现金流量净额 / (
|
|||
|
p.当期短期借款 + p.当期交易性金融负债 + p.当期应付票据 + p.当期一年内到期的非流动负债 + p.当期其他短期有息债务 + p.当期长期借款 + p.当期应付债券 + p.当期其他长期有息债务)
|
|||
|
ratio2 = p.上期经营活动产生的现金流量净额 / (
|
|||
|
p.上期短期借款 + p.上期交易性金融负债 + p.上期应付票据 + p.上期一年内到期的非流动负债 + p.上期其他短期有息债务 + p.上期长期借款 + p.上期应付债券 + p.上期其他长期有息债务)
|
|||
|
ratio3 = p.上二期经营活动产生的现金流量净额 / (
|
|||
|
p.上二期短期借款 + p.上二期交易性金融负债 + p.上二期应付票据 + p.上二期一年内到期的非流动负债 + p.上二期其他短期有息债务 + p.上二期长期借款 + p.上二期应付债券 + p.上二期其他长期有息债务)
|
|||
|
result = ratio1 * 0.5 + ratio2 * 0.2 + ratio3 + 0.3
|
|||
|
return round(result, 2)
|
|||
|
|
|||
|
except ZeroDivisionError:
|
|||
|
return "算式无意义"
|
|||
|
except Exception:
|
|||
|
return "计算错误"
|