"""
Modèle SQLAlchemy pour le récapitulatif de saisie Xbat
"""
from sqlalchemy import Column, Integer, Float, String, ForeignKey
from datetime import datetime
from app.database import Base


class RecapXbat(Base):
    __tablename__ = "recap_xbat"

    id = Column(Integer, primary_key=True, index=True)
    projet_id = Column(Integer, ForeignKey("projets.id", ondelete="CASCADE"), nullable=False, index=True)
    article_id = Column(Integer, ForeignKey("articles.id"), nullable=False)
    niveau_id = Column(Integer, ForeignKey("niveaux.id", ondelete="CASCADE"), nullable=False)
    quantite_totale = Column(Float, nullable=False)
    quantite_saisie = Column(Float, default=0.0)
    prix_unitaire = Column(Float, default=0.0)
    date_derniere_saisie = Column(String, nullable=True)

    def __repr__(self):
        return f"<RecapXbat projet={self.projet_id} article={self.article_id}>"