acteco.py 1.41 KB
from typing import List

from presupuestov1.schema import OrmBaseModel
from presupuestov1 import schemas


class ActecoEstado(OrmBaseModel):
    gestion: int
    acteco: str
    total: float | None
    poblacion: float | None
    n_entidades: int | None
    per_capita: float | None
    total_gestion: float | None
    prop: float | None
    ranking: int | None
    n_pares: int | None
    top1_entidad: int | None
    top1_entidad_desc: str | None
    top1_monto: float | None
    top1_pct: float | None
    top2_entidad: int | None | float | str
    top2_entidad_desc: str | None
    top2_monto: float | None | str
    top2_pct: float | None | str
    top3_entidad: int | None | float | str
    top3_entidad_desc: str | None
    top3_monto: float | None | str
    top3_pct: float | None | str


class ActecoEntidad(OrmBaseModel):
    gestion: int
    acteco: str
    nivel: str | None
    entidad: int
    entidad_desc: str | None
    monto: float | None
    per_capita: float | None
    ranking: int | None
    prop: float | None
    n_entidades: int | None


class ActecoUbigeo(OrmBaseModel):
    gestion: int
    acteco: str
    ubigeo: str
    nivel: str | None
    desc_ubigeo: str | None
    desc_departamento: str | None
    monto: float | None
    per_capita: float | None
    ranking: int | None
    prop: float | None
    n_entidades: int | None


class ClasActecoEstados(schemas.classifier.ClasActeco):
    estados: List[ActecoEstado]