"""Временная правка СВ% компонента для плана на день (вес/гол в рецепте не меняется).""" from sqlalchemy import Boolean, Column, Date, DateTime, Float, ForeignKey, Integer, String from app import db from .base import SoftDeleteMixin, TimestampMixin, default_uuid class DailyComponentNormAdjustment(db.Model, TimestampMixin, SoftDeleteMixin): """Глобальная правка нормы component_id на период (plan_date … valid_until).""" __tablename__ = "daily_component_norm_adjustment" id = Column(String(36), primary_key=True, default=default_uuid) component_id = Column(String(36), ForeignKey("component.id"), nullable=False, index=True) plan_date = Column(Date, nullable=False, index=True) valid_until = Column(Date, nullable=True, index=True) dry_matter = Column(Float, nullable=True) dry_matter_locked = Column(Boolean, nullable=False, default=False) weight_per_head = Column(Float, nullable=True) dry_matter_per_head = Column(Float, nullable=True) version = Column(Integer, default=1, nullable=False) created_by = Column(String(50), nullable=False, default="system") updated_by = Column(String(50), nullable=False, default="system") sync_timestamp = Column(DateTime, nullable=True) sync_status = Column(String(20), default="pending", nullable=False) content_hash = Column(String(64), nullable=False, default="")