From c4aeb1415b0da4383fe3af0a13d8cb4a79d51268 Mon Sep 17 00:00:00 2001 From: Kevin_Ramirez Date: Mon, 26 Jan 2026 11:24:10 -0600 Subject: [PATCH] Se corrigio la fraccion americana --- .../importacion/facturas/usa/service.py | 33 ++++++++----------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/backend/api/v1/modules/a76/reports/importacion/facturas/usa/service.py b/backend/api/v1/modules/a76/reports/importacion/facturas/usa/service.py index 8d69dfb3..d5ec1d10 100644 --- a/backend/api/v1/modules/a76/reports/importacion/facturas/usa/service.py +++ b/backend/api/v1/modules/a76/reports/importacion/facturas/usa/service.py @@ -296,33 +296,26 @@ class FacturaImportacionUsaService: desc_final = part_master.description_english or part_master.description_spanish or "No Desc." num_parte_final = part_master.part_number # Prefer US Fraction (HTS) if available - fraccion_raw = part_master.us_fraction if part_master.us_fraction else (part_master.fraction if part_master.fraction else "") + fraccion_raw = part_master.us_fraction if part_master.us_fraction else "" if part_master.fa_data and part_master.fa_data.origin_country: origen_final = part_master.fa_data.origin_country - fraccion_limpia = fraccion_raw.replace(".", "").strip() - if fraccion_limpia: - fraccion_limpia = fraccion_limpia[:8].zfill(8) - - # Fetch tariff fraction - fraccion_db = db.query(TariffFraction).filter(TariffFraction.code == fraccion_limpia).first() - + # FRACTION LOGIC: Use US Fraction (us_fraction) if available, otherwise blank + fraccion_imprimir = "" + + # Check part master US fraction + if part_master and part_master.us_fraction: + fraccion_imprimir = part_master.us_fraction.strip() + + # Optional: Format if needed, but raw is usually fine for US HTS + # If valid US fraction logic requires looking up in DB, we could add that here. + # For now, per requirement: "Si no tiene, pues de queda en blanco" + + # Default "General" and "0%" if no specific logic for US duties yet preferencia_txt = "General" advalorem_txt = "0%" - fraccion_imprimir = fraccion_raw - - if fraccion_db: - adv_db = fraccion_db.adv_impo - if adv_db and adv_db.strip() not in ["0", "0.0", "0.00", ""]: - advalorem_txt = adv_db if "%" in adv_db else f"{adv_db}%" - else: - advalorem_txt = "0%" - - fraccion_imprimir = fraccion_db.fraction or fraccion_raw - else: - fraccion_imprimir = self._format_fraccion_fallback(fraccion_limpia) # Prioritize USD for American Invoice logic if available? # Sticking to same logic as Mex for now but could prioritize USD columns.