Merge branch 'ps1' into 'main'
changes 小bug(写漏字了) See merge request root/IndexCalculation!8
This commit is contained in:
commit
d8b2041cf0
|
@ -1,6 +1,6 @@
|
|||
from fastapi import APIRouter
|
||||
|
||||
from 基本信用评级指标.偿付能力 import 不良贷款率, 拨备覆盖率, 拨备覆盖率_商业银行, 核心一级资本充足率, 核心资产比率, 综合偿付能力充足率
|
||||
from 基本信用评级指标.偿付能力 import 不良贷款率, 拨备覆盖率, 拨备覆盖率_商业银行, 核心一级资本充足率, 资本资产比率, 综合偿付能力充足率
|
||||
|
||||
router = APIRouter(tags=["偿付能力"])
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ class Params(BaseModel):
|
|||
摊回分保费用: float
|
||||
已赚保费: float
|
||||
赔付支出: float
|
||||
摊回赔付支: float
|
||||
摊回赔付支出: float
|
||||
提取保险责任准备金: float
|
||||
摊回保险责任准备金: float
|
||||
|
||||
|
@ -23,7 +23,7 @@ class Params(BaseModel):
|
|||
def func(p: Params):
|
||||
try:
|
||||
d = (p.分保费用 + p.营业税金及附加 + p.手续费及佣金支出 + p.业务及管理费 - p.摊回分保费用) / p.已赚保费 * 100
|
||||
f = (p.赔付支出 - p.摊回赔付支 + p.提取保险责任准备金 - p.摊回保险责任准备金) / p.已赚保费 * 100
|
||||
f = (p.赔付支出 - p.摊回赔付支出 + p.提取保险责任准备金 - p.摊回保险责任准备金) / p.已赚保费 * 100
|
||||
result = d + f
|
||||
return round(result, 6)
|
||||
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
from fastapi import APIRouter
|
||||
from pydantic import BaseModel
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
# 指标描述
|
||||
ENAME = "xxxx"
|
||||
CNAME = "土壤涵养"
|
||||
NATURE = "定量"
|
||||
CATEGORY = "GEP核算"
|
||||
|
||||
|
||||
class Parameter(BaseModel):
|
||||
total_liabilities: float = "负债合计"
|
||||
total_assets: float = "资产总计"
|
||||
|
||||
|
||||
@router.post("/{}/".format(ENAME), tags=[CATEGORY], summary=CNAME)
|
||||
def func(parameter: Parameter):
|
||||
try:
|
||||
result = parameter.total_liabilities / parameter.total_assets
|
||||
return round(result, 6)
|
||||
except ZeroDivisionError:
|
||||
return "+inf"
|
||||
except Exception:
|
||||
return "计算错误"
|
|
@ -1,28 +0,0 @@
|
|||
from fastapi import APIRouter
|
||||
from pydantic import BaseModel
|
||||
from typing import List
|
||||
|
||||
import pandas as pd
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
class Entity(BaseModel):
|
||||
name: str = "某类水域"
|
||||
area: float = "面积(km^2)"
|
||||
p: float = "降雨量(mm/a)"
|
||||
r: float = "地表径流量(mm/a)"
|
||||
et: float = "散蒸发量(mm/a)"
|
||||
|
||||
|
||||
@router.post("/water_conservation", tags=["GEP-实物量核算"], summary="水源涵养")
|
||||
def func(params: List[Entity]):
|
||||
|
||||
def f(area: float, p: float, r: float, et: float):
|
||||
q = area * (p - r - et) * 10**3
|
||||
return q
|
||||
|
||||
df = pd.DataFrame([param.dict() for param in params])
|
||||
df["q"] = df.apply(lambda x: f(area=x["area"], p=x["p"], r=x["r"], et=x["et"]), axis=1)
|
||||
q_sum = df["q"].sum()
|
||||
return q_sum
|
|
@ -1,19 +0,0 @@
|
|||
from fastapi import APIRouter
|
||||
from pydantic import BaseModel
|
||||
from typing import List
|
||||
|
||||
import pandas as pd
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
class Product(BaseModel):
|
||||
name: str = "物质产品种类"
|
||||
count: float = "物质产品数量"
|
||||
|
||||
|
||||
@router.post("/biomass_supply", tags=["GEP-实物量核算"], summary="生物质供给")
|
||||
def func(params: List[Product]):
|
||||
df = pd.DataFrame([param.dict() for param in params])
|
||||
total = df["count"].sum()
|
||||
return total
|
Loading…
Reference in New Issue