55 lines
2.9 KiB
Python
55 lines
2.9 KiB
Python
from __future__ import annotations
|
|
|
|
from datetime import date
|
|
|
|
from sqlalchemy import CheckConstraint, Date, ForeignKey, Integer, Numeric, SmallInteger, String
|
|
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
|
|
|
from src.db.base import Base
|
|
|
|
|
|
class BudgetLineQuarter(Base):
|
|
__tablename__ = "budget_line_quarter"
|
|
__table_args__ = (
|
|
CheckConstraint("quarter >= 1 AND quarter <= 4", name="chk_budget_line_quarter_quarter"),
|
|
{"schema": "v3"},
|
|
)
|
|
|
|
line_id: Mapped[int] = mapped_column(Integer, ForeignKey("v3.budget_line.id"), primary_key=True)
|
|
quarter: Mapped[int] = mapped_column(SmallInteger, primary_key=True)
|
|
adj_current: Mapped[float | None] = mapped_column(Numeric)
|
|
adj_ssp: Mapped[float | None] = mapped_column(Numeric)
|
|
adj_rf: Mapped[float | None] = mapped_column(Numeric)
|
|
adj_reserve: Mapped[float | None] = mapped_column(Numeric)
|
|
adj_comment: Mapped[str | None] = mapped_column(String)
|
|
target_change: Mapped[float | None] = mapped_column(Numeric)
|
|
base_plan_correction: Mapped[float | None] = mapped_column(Numeric)
|
|
base_plan_correction_comment: Mapped[str | None] = mapped_column(String)
|
|
payment_date: Mapped[date | None] = mapped_column(Date)
|
|
payment_amount: Mapped[float | None] = mapped_column(Numeric)
|
|
payment_amount_ho: Mapped[float | None] = mapped_column(Numeric)
|
|
payment_amount_rf: Mapped[float | None] = mapped_column(Numeric)
|
|
payment_comment: Mapped[str | None] = mapped_column(String)
|
|
payment_act: Mapped[str | None] = mapped_column(String)
|
|
actual_m1: Mapped[float | None] = mapped_column(Numeric)
|
|
actual_m2: Mapped[float | None] = mapped_column(Numeric)
|
|
actual_m3: Mapped[float | None] = mapped_column(Numeric)
|
|
actual_spod: Mapped[float | None] = mapped_column(Numeric)
|
|
transfer_to_q2: Mapped[float | None] = mapped_column(Numeric)
|
|
transfer_to_q3: Mapped[float | None] = mapped_column(Numeric)
|
|
transfer_to_q4: Mapped[float | None] = mapped_column(Numeric)
|
|
transfer_to_economy: Mapped[float | None] = mapped_column(Numeric)
|
|
transfer_delay_acts: Mapped[float | None] = mapped_column(Numeric)
|
|
transfer_delay_procurement: Mapped[float | None] = mapped_column(Numeric)
|
|
transfer_economy_rf: Mapped[float | None] = mapped_column(Numeric)
|
|
transfer_next_comment: Mapped[str | None] = mapped_column(String)
|
|
transfer_far_comment: Mapped[str | None] = mapped_column(String)
|
|
booking_amount: Mapped[float | None] = mapped_column(Numeric)
|
|
plan_revision_eco_change: Mapped[float | None] = mapped_column(Numeric)
|
|
plan_revision_item_adj: Mapped[float | None] = mapped_column(Numeric)
|
|
plan_revision_increase: Mapped[float | None] = mapped_column(Numeric)
|
|
plan_revision_sequester: Mapped[float | None] = mapped_column(Numeric)
|
|
plan_revision_comment: Mapped[str | None] = mapped_column(String)
|
|
|
|
# line = relationship("BudgetLine", back_populates="quarters")
|