30 lines
697 B
Python
30 lines
697 B
Python
from fastapi import APIRouter
|
|
from pydantic import BaseModel
|
|
|
|
INDEX = "应收账款周转率(次)"
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
class Params(BaseModel):
|
|
营业收入: float
|
|
期初应收账款: float
|
|
期末应收账款: float
|
|
期初应收票据: float
|
|
期末应收票据: float
|
|
|
|
|
|
# 计算接口
|
|
@router.post("/{}".format(INDEX))
|
|
def func(p: Params):
|
|
try:
|
|
d = (p.期初应收账款 + p.期末应收账款) / 2
|
|
m = (p.期初应收票据 + p.期末应收票据) / 2
|
|
result = p.营业收入 / (d + m) * 100
|
|
return round(result, 2)
|
|
|
|
except ZeroDivisionError:
|
|
return "算式无意义"
|
|
except Exception:
|
|
return "计算错误"
|