Refactor import paths for TariffFraction and USTariffFraction models

- Updated import statements for TariffFraction to reflect new module structure in reports related to importacion (mex, temporary, facturas).
- Adjusted import paths for USTariffFraction in service files to maintain consistency across modules.
This commit is contained in:
2026-02-09 10:48:31 -06:00
parent 6b2ca5746a
commit 9dcbfdb978
8 changed files with 6637 additions and 14 deletions

View File

@@ -0,0 +1,31 @@
from typing import Optional
from decimal import Decimal
from sqlalchemy import ForeignKey, String, Integer, Numeric, Boolean
from sqlalchemy.orm import Mapped, mapped_column
from core.database import Base
class HistoricalTariffFraction(Base):
"""
Historical tariff fractions catalog.
Maps to SQL Server table: GFraccionesHistorico
"""
__tablename__ = "historical_tariff_fractions"
__table_args__ = {"schema": "76"}
id: Mapped[int] = mapped_column(Integer, primary_key=True, nullable=False)
historical_fraction: Mapped[Optional[str]] = mapped_column(String(8), nullable=True)
unit_of_measure_code: Mapped[Optional[str]] = mapped_column(ForeignKey("a76.unit_of_measure_customs.code"), nullable=True)
country: Mapped[Optional[str]] = mapped_column(String(3), nullable=True)
fraction_type: Mapped[Optional[str]] = mapped_column(String(7), nullable=True)
sector: Mapped[Optional[str]] = mapped_column(String(5), nullable=True)
import_tax_rate: Mapped[Optional[Decimal]] = mapped_column(Numeric(7, 2), nullable=True)
export_tax_rate: Mapped[Optional[Decimal]] = mapped_column(Numeric(7, 2), nullable=True)
publication_date: Mapped[Optional[int]] = mapped_column(Integer, nullable=True)
is_immex: Mapped[Optional[str]] = mapped_column(String(2), nullable=True)
normal_temporality: Mapped[Optional[bool]] = mapped_column(Boolean, nullable=True)
services_temporality: Mapped[Optional[bool]] = mapped_column(Boolean, nullable=True)
certified_temporality: Mapped[Optional[bool]] = mapped_column(Boolean, nullable=True)
by_log: Mapped[Optional[bool]] = mapped_column(Boolean, nullable=True)
end_date: Mapped[Optional[int]] = mapped_column(Integer, nullable=True)

View File

@@ -36,7 +36,7 @@ from api.v1.modules.a76.transportation.trailers.models import Trailer
from api.v1.modules.a76.transportation.drivers.models import Driver
# --- MODELO DE FRACCIONES ---
from api.v1.modules.a76.general_catalogs.tariff_fractions.models import TariffFraction
from api.v1.modules.a76.general_catalogs.fractions.tariff_fractions.models import TariffFraction
# --- MODELO DE UNIDADES DE MEDIDA ---
from api.v1.modules.a76.general_catalogs.units_of_measure.models import UnitOfMeasure
@@ -50,6 +50,10 @@ from .schemas import (
FacturaImportacionCompleta,
)
from api.v1.modules.a76.general_catalogs.fractions.us_tariff_fractions.models import (
USTariffFraction,
)
class ConsolidadoImportacionMexService:
def __init__(self):
@@ -515,11 +519,7 @@ class ConsolidadoImportacionMexService:
.filter(InvoiceHeader.id.in_(target_invoice_ids))
.all()
)
invoice_map = {inv.id: inv for inv in invoices_list}
from api.v1.modules.a76.general_catalogs.us_tariff_fractions.models import (
USTariffFraction,
)
invoice_map = {inv.id: inv for inv in invoices_list}
for line in lines:
qty = (

View File

@@ -30,10 +30,10 @@ from api.v1.modules.a76.transportation.trailers.models import Trailer
from api.v1.modules.a76.transportation.drivers.models import Driver
# --- MODELO DE FRACCIONES ---
from api.v1.modules.a76.general_catalogs.tariff_fractions.models import TariffFraction
from api.v1.modules.a76.general_catalogs.fractions.tariff_fractions.models import TariffFraction
# --- SCHEMAS ---
from .schemas import (
from ...mex.schemas import (
ClienteSchema, PartidaSchema, TotalesSchema,
FacturaSchema, FacturaImportacionCompleta
)
@@ -345,7 +345,7 @@ class ConsolidadoImportacionMexService:
invoices_list = db.query(InvoiceHeader).filter(InvoiceHeader.id.in_(target_invoice_ids)).all()
invoice_map = {inv.id: inv for inv in invoices_list}
from api.v1.modules.a76.general_catalogs.us_tariff_fractions.models import USTariffFraction
from api.v1.modules.a76.general_catalogs.fractions.us_tariff_fractions.models import USTariffFraction
for line in lines:
qty = db.query(LineQuantity).filter(LineQuantity.item_line_id == line.id).first()

View File

@@ -32,7 +32,7 @@ from api.v1.modules.a76.transportation.trailers.models import Trailer
from api.v1.modules.a76.transportation.drivers.models import Driver
# --- MODELO DE FRACCIONES ---
from api.v1.modules.a76.general_catalogs.tariff_fractions.models import TariffFraction
from api.v1.modules.a76.general_catalogs.fractions.tariff_fractions.models import TariffFraction
# --- MODELO DE UNIDADES DE MEDIDA ---
from api.v1.modules.a76.general_catalogs.units_of_measure.models import UnitOfMeasure

View File

@@ -30,10 +30,10 @@ from api.v1.modules.a76.transportation.trailers.models import Trailer
from api.v1.modules.a76.transportation.drivers.models import Driver
# --- MODELO DE FRACCIONES ---
from api.v1.modules.a76.general_catalogs.tariff_fractions.models import TariffFraction
from api.v1.modules.a76.general_catalogs.fractions.tariff_fractions.models import TariffFraction
# --- SCHEMAS ---
from .schemas import (
from ...mex.schemas import (
ClienteSchema, PartidaSchema, TotalesSchema,
FacturaSchema, FacturaImportacionCompleta
)

View File

@@ -30,7 +30,7 @@ from api.v1.modules.a76.transportation.trailers.models import Trailer
from api.v1.modules.a76.transportation.drivers.models import Driver
# --- MODELO DE FRACCIONES ---
from api.v1.modules.a76.general_catalogs.tariff_fractions.models import TariffFraction
from api.v1.modules.a76.general_catalogs.fractions.tariff_fractions.models import TariffFraction
# --- SCHEMAS ---
# Reuse schemas from neighbor package as they fit the same data structure