Merge branch 'ps1' into 'main'

changes 小bug(写漏字了)

See merge request root/IndexCalculation!8
This commit is contained in:
彭森 2023-01-03 08:30:58 +00:00
commit d8b2041cf0
9 changed files with 3 additions and 77 deletions

View File

@ -1,6 +1,6 @@
from fastapi import APIRouter
from 基本信用评级指标.偿付能力 import 不良贷款率, 拨备覆盖率, 拨备覆盖率_商业银行, 核心一级资本充足率, 核心资产比率, 综合偿付能力充足率
from 基本信用评级指标.偿付能力 import 不良贷款率, 拨备覆盖率, 拨备覆盖率_商业银行, 核心一级资本充足率, 资本资产比率, 综合偿付能力充足率
router = APIRouter(tags=["偿付能力"])

View File

@ -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)

View File

@ -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 "计算错误"

View File

@ -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

View File

@ -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