2022-12-22 15:34:49 +08:00
|
|
|
|
from fastapi import APIRouter
|
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
|
|
|
|
INDEX = "EBITDA利润率(%)"
|
|
|
|
|
|
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Params(BaseModel):
|
2022-12-30 09:28:54 +08:00
|
|
|
|
短期借款: float
|
|
|
|
|
交易性金融负债: float
|
|
|
|
|
应付票据: float
|
|
|
|
|
一年内到期的非流动负债: float
|
|
|
|
|
其他短期有息债务: float
|
|
|
|
|
长期借款: float
|
|
|
|
|
应付债券: float
|
|
|
|
|
其他长期有息债务: float
|
2023-01-04 10:02:46 +08:00
|
|
|
|
所有者权益: float
|
2022-12-22 15:34:49 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.post("/{}".format(INDEX))
|
|
|
|
|
def func(p: Params):
|
|
|
|
|
try:
|
2022-12-30 09:28:54 +08:00
|
|
|
|
m = p.短期借款 + p.交易性金融负债 + p.应付票据 + p.一年内到期的非流动负债 + p.其他短期有息债务 + p.长期借款 + p.应付债券 + p.其他长期有息债务
|
2023-01-04 10:02:46 +08:00
|
|
|
|
d = p.短期借款 + p.交易性金融负债 + p.应付票据 + p.一年内到期的非流动负债 + p.其他短期有息债务 + p.长期借款 + p.应付债券 + p.其他长期有息债务 + p.所有者权益
|
2022-12-30 09:28:54 +08:00
|
|
|
|
result = m / d
|
2022-12-22 15:34:49 +08:00
|
|
|
|
return round(result, 6)
|
|
|
|
|
|
|
|
|
|
except ZeroDivisionError:
|
2022-12-30 09:28:54 +08:00
|
|
|
|
return "+inf" # 此处本应为算式无意义,特殊处理为正无穷大
|
2022-12-22 15:34:49 +08:00
|
|
|
|
except Exception:
|
|
|
|
|
return "计算错误"
|