34 lines
982 B
Python
34 lines
982 B
Python
from fastapi import APIRouter
|
||
from pydantic import BaseModel
|
||
|
||
INDEX = "综合成本率(%)"
|
||
|
||
router = APIRouter()
|
||
|
||
|
||
class Params(BaseModel):
|
||
分保费用: float
|
||
营业税金及附加: float
|
||
手续费及佣金支出: float
|
||
业务及管理费: float
|
||
摊回分保费用: float
|
||
已赚保费: float
|
||
赔付支出: float
|
||
摊回赔付支出: float
|
||
提取保险责任准备金: float
|
||
摊回保险责任准备金: float
|
||
|
||
|
||
@router.post("/{}".format(INDEX))
|
||
def func(p: Params):
|
||
try:
|
||
d = (p.分保费用 + p.营业税金及附加 + p.手续费及佣金支出 + p.业务及管理费 - p.摊回分保费用) / p.已赚保费 * 100
|
||
f = (p.赔付支出 - p.摊回赔付支出 + p.提取保险责任准备金 - p.摊回保险责任准备金) / p.已赚保费 * 100
|
||
result = d + f
|
||
return round(result, 2)
|
||
|
||
except ZeroDivisionError:
|
||
return "算式无意义"
|
||
except Exception:
|
||
return "计算错误"
|