Valores extendidos para partes
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
Modelo ORM para datos específicos de Inventario y Manufactura (S-Partes) - Anexo 24
|
||||
"""
|
||||
|
||||
from typing import TYPE_CHECKING, Optional
|
||||
from typing import TYPE_CHECKING, Optional, List
|
||||
from decimal import Decimal
|
||||
from api.v1.common.base_models import TenantScopedMixin, TimestampMixin
|
||||
from core.database import Base
|
||||
@@ -18,10 +18,10 @@ from sqlalchemy.dialects.postgresql import JSONB
|
||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||
|
||||
if TYPE_CHECKING:
|
||||
|
||||
from api.v1.modules.a76.parts.models import Part
|
||||
|
||||
|
||||
# Importar los modelos Aphis para asegurar su registro en SQLAlchemy
|
||||
import api.v1.modules.a24.inv.inv_aphis.models as aphis_models
|
||||
class InvPart(Base, TenantScopedMixin, TimestampMixin):
|
||||
"""
|
||||
Tabla inv_partes: Extensión de Anexo 24 para Inventarios (SPartes).
|
||||
@@ -135,10 +135,23 @@ class InvPart(Base, TenantScopedMixin, TimestampMixin):
|
||||
origin_country: Mapped[Optional[str]] = mapped_column(String(3), default='MEX')
|
||||
fraction_type: Mapped[Optional[str]] = mapped_column(String(10))
|
||||
|
||||
# --- NUEVOS CAMPOS EXTENSION ---
|
||||
agency_code_definition: Mapped[Optional[str]] = mapped_column(String(50)) # Fila 7
|
||||
carta_porte: Mapped[Optional[str]] = mapped_column(String(100)) # Fila 10
|
||||
client_part_names: Mapped[Optional[list]] = mapped_column(JSONB, nullable=True, default=[]) # Fila 5
|
||||
part_identifiers: Mapped[Optional[list]] = mapped_column(JSONB, nullable=True, default=[]) # Fila 9
|
||||
substitute_parts: Mapped[Optional[list]] = mapped_column(JSONB, nullable=True, default=[]) # Pestaña Continuación
|
||||
aphis_data: Mapped[Optional[dict]] = mapped_column(JSONB, nullable=True, default={}) # Sección Aphis en Continuación
|
||||
|
||||
# JSONB para almacenar clientes con restricción de no descarga
|
||||
non_discharge_clients: Mapped[Optional[list]] = mapped_column(JSONB, nullable=True, default=[])
|
||||
|
||||
# --- RELACIÓN ---
|
||||
aphis_records: Mapped[List["InvPartAphisGeneral"]] = relationship(
|
||||
"InvPartAphisGeneral",
|
||||
back_populates="inv_part",
|
||||
cascade="all, delete-orphan"
|
||||
)
|
||||
# Usamos string "Part" para evitar problemas de carga
|
||||
master_info: Mapped["Part"] = relationship("Part", back_populates="inv_data")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user