feature/migraciones-id-transportes

This commit is contained in:
2026-03-25 10:38:24 -06:00
parent d35f02563a
commit b477233245
24 changed files with 649 additions and 63 deletions

View File

@@ -298,7 +298,13 @@ class ConsolidadoImportacionMexService:
if logistics:
# 1. Transporter (CAAT / SCAC)
if logistics.carrier_id:
if logistics.carrier_int_id is not None:
transporter_obj = (
db.query(Transporter)
.filter(Transporter.transporter_id == logistics.carrier_int_id)
.first()
)
elif logistics.carrier_id:
transporter_obj = (
db.query(Transporter)
.filter(Transporter.transporter_key == logistics.carrier_id)
@@ -342,11 +348,18 @@ class ConsolidadoImportacionMexService:
# 2. Vehicle (Placas Tracto) - Try transport_id first
if logistics.transport_id:
veh_obj = (
db.query(Vehicle)
.filter(Vehicle.vehicle_key == logistics.transport_id)
.first()
)
if logistics.transport_int_id is not None:
veh_obj = (
db.query(Vehicle)
.filter(Vehicle.vehicle_id == logistics.transport_int_id)
.first()
)
else:
veh_obj = (
db.query(Vehicle)
.filter(Vehicle.vehicle_key == logistics.transport_id)
.first()
)
if veh_obj:
placas_val = veh_obj.plate_number or placas_val
elif (
@@ -362,11 +375,18 @@ class ConsolidadoImportacionMexService:
# 3. Trailer (Placas Remolque)
if logistics.trailer_num:
trl_obj = (
db.query(Trailer)
.filter(Trailer.trailer_number == logistics.trailer_num)
.first()
)
if logistics.trailer_int_id is not None:
trl_obj = (
db.query(Trailer)
.filter(Trailer.trailer_id == logistics.trailer_int_id)
.first()
)
else:
trl_obj = (
db.query(Trailer)
.filter(Trailer.trailer_number == logistics.trailer_num)
.first()
)
if trl_obj:
placas_remolque_val = trl_obj.plate_number or ""

View File

@@ -175,8 +175,16 @@ class ConsolidadoImportacionMexService:
if logistics:
# 1. Transporter (CAAT / SCAC)
if logistics.carrier_id:
transporter_obj = db.query(Transporter).filter(Transporter.transporter_key == logistics.carrier_id).first()
if logistics.carrier_int_id is not None:
transporter_obj = (
db.query(Transporter)
.filter(Transporter.transporter_id == logistics.carrier_int_id)
.first()
)
elif logistics.carrier_id:
transporter_obj = db.query(Transporter).filter(
Transporter.transporter_key == logistics.carrier_id
).first()
if transporter_obj:
caat_val = transporter_obj.caat_code or ""
scac_val = transporter_obj.transport_code or "" # Mapping transport_code to SCAC
@@ -213,7 +221,16 @@ class ConsolidadoImportacionMexService:
# 2. Vehicle (Placas Tracto) - Try transport_id first
if logistics.transport_id:
veh_obj = db.query(Vehicle).filter(Vehicle.vehicle_key == logistics.transport_id).first()
if logistics.transport_int_id is not None:
veh_obj = (
db.query(Vehicle)
.filter(Vehicle.vehicle_id == logistics.transport_int_id)
.first()
)
else:
veh_obj = db.query(Vehicle).filter(
Vehicle.vehicle_key == logistics.transport_id
).first()
if veh_obj:
placas_val = veh_obj.plate_number or placas_val
elif logistics.vehicle_num: # Fallback to vehicle_num if populated and transport_id failed/empty
@@ -223,7 +240,16 @@ class ConsolidadoImportacionMexService:
# 3. Trailer (Placas Remolque)
if logistics.trailer_num:
trl_obj = db.query(Trailer).filter(Trailer.trailer_number == logistics.trailer_num).first()
if logistics.trailer_int_id is not None:
trl_obj = (
db.query(Trailer)
.filter(Trailer.trailer_id == logistics.trailer_int_id)
.first()
)
else:
trl_obj = db.query(Trailer).filter(
Trailer.trailer_number == logistics.trailer_num
).first()
if trl_obj:
placas_remolque_val = trl_obj.plate_number or ""

View File

@@ -317,7 +317,17 @@ class FacturaImportacionMexService:
if logistics:
# 1. Transporter (CAAT / SCAC)
if logistics.carrier_id:
if logistics.carrier_int_id is not None:
transporter_obj = (
db.query(Transporter)
.filter(Transporter.transporter_id == logistics.carrier_int_id)
.first()
)
if transporter_obj:
caat_val = transporter_obj.caat_code or ""
scac_val = transporter_obj.transport_code or ""
transportista_val = transporter_obj.name or logistics.carrier_id
elif logistics.carrier_id:
transporter_obj = (
db.query(Transporter)
.filter(Transporter.transporter_key == logistics.carrier_id)
@@ -332,11 +342,18 @@ class FacturaImportacionMexService:
# 2. Vehicle (Placas Tracto) - Try transport_id first
if logistics.transport_id:
veh_obj = (
db.query(Vehicle)
.filter(Vehicle.vehicle_key == logistics.transport_id)
.first()
)
if logistics.transport_int_id is not None:
veh_obj = (
db.query(Vehicle)
.filter(Vehicle.vehicle_id == logistics.transport_int_id)
.first()
)
else:
veh_obj = (
db.query(Vehicle)
.filter(Vehicle.vehicle_key == logistics.transport_id)
.first()
)
if veh_obj:
placas_val = veh_obj.plate_number or placas_val
elif (
@@ -352,11 +369,18 @@ class FacturaImportacionMexService:
# 3. Trailer (Placas Remolque)
if logistics.trailer_num:
trl_obj = (
db.query(Trailer)
.filter(Trailer.trailer_number == logistics.trailer_num)
.first()
)
if logistics.trailer_int_id is not None:
trl_obj = (
db.query(Trailer)
.filter(Trailer.trailer_id == logistics.trailer_int_id)
.first()
)
else:
trl_obj = (
db.query(Trailer)
.filter(Trailer.trailer_number == logistics.trailer_num)
.first()
)
if trl_obj:
placas_remolque_val = trl_obj.plate_number or ""

View File

@@ -166,8 +166,16 @@ class FacturaImportacionMexService:
if logistics:
# 1. Transporter (CAAT / SCAC)
if logistics.carrier_id:
transporter_obj = db.query(Transporter).filter(Transporter.transporter_key == logistics.carrier_id).first()
if logistics.carrier_int_id is not None:
transporter_obj = (
db.query(Transporter)
.filter(Transporter.transporter_id == logistics.carrier_int_id)
.first()
)
elif logistics.carrier_id:
transporter_obj = db.query(Transporter).filter(
Transporter.transporter_key == logistics.carrier_id
).first()
if transporter_obj:
caat_val = transporter_obj.caat_code or ""
scac_val = transporter_obj.transport_code or "" # Mapping transport_code to SCAC
@@ -175,7 +183,16 @@ class FacturaImportacionMexService:
# 2. Vehicle (Placas Tracto) - Try transport_id first
if logistics.transport_id:
veh_obj = db.query(Vehicle).filter(Vehicle.vehicle_key == logistics.transport_id).first()
if logistics.transport_int_id is not None:
veh_obj = (
db.query(Vehicle)
.filter(Vehicle.vehicle_id == logistics.transport_int_id)
.first()
)
else:
veh_obj = db.query(Vehicle).filter(
Vehicle.vehicle_key == logistics.transport_id
).first()
if veh_obj:
placas_val = veh_obj.plate_number or placas_val
elif logistics.vehicle_num: # Fallback to vehicle_num if populated and transport_id failed/empty
@@ -185,7 +202,16 @@ class FacturaImportacionMexService:
# 3. Trailer (Placas Remolque)
if logistics.trailer_num:
trl_obj = db.query(Trailer).filter(Trailer.trailer_number == logistics.trailer_num).first()
if logistics.trailer_int_id is not None:
trl_obj = (
db.query(Trailer)
.filter(Trailer.trailer_id == logistics.trailer_int_id)
.first()
)
else:
trl_obj = db.query(Trailer).filter(
Trailer.trailer_number == logistics.trailer_num
).first()
if trl_obj:
placas_remolque_val = trl_obj.plate_number or ""

View File

@@ -317,7 +317,17 @@ class FacturaImportacionUsaService:
if logistics:
# 1. Transporter (CAAT / SCAC)
if logistics.carrier_id:
if logistics.carrier_int_id is not None:
transporter_obj = (
db.query(Transporter)
.filter(Transporter.transporter_id == logistics.carrier_int_id)
.first()
)
if transporter_obj:
caat_val = transporter_obj.caat_code or ""
scac_val = transporter_obj.transport_code or ""
transportista_val = transporter_obj.name or logistics.carrier_id
elif logistics.carrier_id:
transporter_obj = (
db.query(Transporter)
.filter(Transporter.transporter_key == logistics.carrier_id)
@@ -325,18 +335,23 @@ class FacturaImportacionUsaService:
)
if transporter_obj:
caat_val = transporter_obj.caat_code or ""
scac_val = (
transporter_obj.transport_code or ""
) # Mapping transport_code to SCAC
scac_val = transporter_obj.transport_code or ""
transportista_val = transporter_obj.name or logistics.carrier_id
# 2. Vehicle (Plates)
if logistics.transport_id:
veh_obj = (
db.query(Vehicle)
.filter(Vehicle.vehicle_key == logistics.transport_id)
.first()
)
if logistics.transport_int_id is not None:
veh_obj = (
db.query(Vehicle)
.filter(Vehicle.vehicle_id == logistics.transport_int_id)
.first()
)
else:
veh_obj = (
db.query(Vehicle)
.filter(Vehicle.vehicle_key == logistics.transport_id)
.first()
)
if veh_obj:
placas_val = veh_obj.plate_number or placas_val
elif logistics.vehicle_num:
@@ -350,11 +365,18 @@ class FacturaImportacionUsaService:
# 3. Trailer
if logistics.trailer_num:
trl_obj = (
db.query(Trailer)
.filter(Trailer.trailer_number == logistics.trailer_num)
.first()
)
if logistics.trailer_int_id is not None:
trl_obj = (
db.query(Trailer)
.filter(Trailer.trailer_id == logistics.trailer_int_id)
.first()
)
else:
trl_obj = (
db.query(Trailer)
.filter(Trailer.trailer_number == logistics.trailer_num)
.first()
)
if trl_obj:
placas_remolque_val = trl_obj.plate_number or ""

View File

@@ -186,8 +186,18 @@ class PackingListService:
if logistics:
# 1. Transporter (CAAT / SCAC)
if logistics.carrier_id:
transporter_obj = db.query(Transporter).filter(Transporter.transporter_key == logistics.carrier_id).first()
if logistics.carrier_int_id is not None:
transporter_obj = (
db.query(Transporter)
.filter(Transporter.transporter_id == logistics.carrier_int_id)
.first()
)
elif logistics.carrier_id:
transporter_obj = (
db.query(Transporter)
.filter(Transporter.transporter_key == logistics.carrier_id)
.first()
)
if transporter_obj:
caat_val = transporter_obj.caat_code or ""
scac_val = transporter_obj.transport_code or ""
@@ -195,7 +205,18 @@ class PackingListService:
# 2. Vehicle (Placas Tracto)
if logistics.transport_id:
veh_obj = db.query(Vehicle).filter(Vehicle.vehicle_key == logistics.transport_id).first()
if logistics.transport_int_id is not None:
veh_obj = (
db.query(Vehicle)
.filter(Vehicle.vehicle_id == logistics.transport_int_id)
.first()
)
else:
veh_obj = (
db.query(Vehicle)
.filter(Vehicle.vehicle_key == logistics.transport_id)
.first()
)
if veh_obj:
placas_val = veh_obj.plate_number or placas_val
elif logistics.vehicle_num:
@@ -205,7 +226,18 @@ class PackingListService:
# 3. Trailer (Placas Remolque)
if logistics.trailer_num:
trl_obj = db.query(Trailer).filter(Trailer.trailer_number == logistics.trailer_num).first()
if logistics.trailer_int_id is not None:
trl_obj = (
db.query(Trailer)
.filter(Trailer.trailer_id == logistics.trailer_int_id)
.first()
)
else:
trl_obj = (
db.query(Trailer)
.filter(Trailer.trailer_number == logistics.trailer_num)
.first()
)
if trl_obj:
placas_remolque_val = trl_obj.plate_number or ""