project.py 2.04 KB
from sqlalchemy.orm import Mapped, mapped_column
from presupuestov1.model import Base

from sqlalchemy import (
    Integer,
    String,
    Text,
    Numeric,
    Index,
    MetaData,
)

class ProyectoResumenes(Base):
    __tablename__ = "proyecto_resumenes"
    __table_args__ = (
        Index("idx_proyecto_resumenes_gestion", "gestion"),
        Index("idx_proyecto_resumenes_nivel", "nivel"),
        Index("idx_proyecto_resumenes_codigo", "codigo"),
        Index("idx_proyecto_resumenes_codigo_padre", "codigo_padre"),
        {"schema": "web"},
    )

    id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True)

    gestion: Mapped[int] = mapped_column(Integer)
    nivel: Mapped[str] = mapped_column(Text)
    codigo: Mapped[str] = mapped_column(String(32))
    codigo_padre: Mapped[str | None] = mapped_column(String(32))

    devengado: Mapped[float] = mapped_column(Numeric(30, 15))

    n_entidad: Mapped[int] = mapped_column(Integer)
    n_objeto: Mapped[int] = mapped_column(Integer)
    n_finfun: Mapped[int] = mapped_column(Integer)
    n_acteco: Mapped[int] = mapped_column(Integer)

    desc: Mapped[str] = mapped_column(Text)
    desc_padre: Mapped[str | None] = mapped_column(Text)

    entidad: Mapped[str] = mapped_column(Text)
    objeto: Mapped[str] = mapped_column(Text)
    finfun: Mapped[str] = mapped_column(Text)
    acteco: Mapped[str] = mapped_column(Text)


class ProyectoClasificadores(Base):
    __tablename__ = "proyecto_clasificadores"

    id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True)
    
    gestion: Mapped[int] = mapped_column(Integer)
    tipo: Mapped[str] = mapped_column(String(16))
    nivel: Mapped[str] = mapped_column(String(24))
    programa_proyecto: Mapped[str] = mapped_column(String(32))

    codigo: Mapped[str] = mapped_column(String(32))
    codigo_padre: Mapped[str | None] = mapped_column(String(32))

    devengado: Mapped[float] = mapped_column(Numeric(30, 15))

    desc: Mapped[str] = mapped_column(Text)
    desc_padre: Mapped[str | None] = mapped_column(Text)