From 0d3b29ef0096724521d8d8bc91df1ff3278b556c Mon Sep 17 00:00:00 2001 From: Kevin_Ramirez Date: Thu, 19 Mar 2026 15:58:14 -0500 Subject: [PATCH] Correcion para restarle cantidad a la version mas actualiazda de la factrua de importacion --- .../a76/reports/movements/saldos/csv_utils.py | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/backend/api/v1/modules/a76/reports/movements/saldos/csv_utils.py b/backend/api/v1/modules/a76/reports/movements/saldos/csv_utils.py index 61be14a9..a36a6111 100644 --- a/backend/api/v1/modules/a76/reports/movements/saldos/csv_utils.py +++ b/backend/api/v1/modules/a76/reports/movements/saldos/csv_utils.py @@ -202,12 +202,12 @@ BASE_SELECT = """ REPLACE(REPLACE(COALESCE(ild.description_spanish,''),CHR(10),''),CHR(13),' ') AS "C14", REPLACE(REPLACE(COALESCE(ild.description_english,''),CHR(10),''),CHR(13),' ') AS "C15", COALESCE(ilc.origin_country,'') AS "C16", - COALESCE(bal.qty_impo, 0) AS "C17", + COALESCE(ent.qty_impo, 0) AS "C17", COALESCE(bal.qty_used, 0) AS "C18", COALESCE(uom.code,'') AS "C19", - COALESCE(bal.val_mn_impo, 0) AS "C20", + COALESCE(ent.val_mn_impo, 0) AS "C20", COALESCE(bal.val_mn_used, 0) AS "C21", - COALESCE(bal.val_me_impo, 0) AS "C22", + COALESCE(ent.val_me_impo, 0) AS "C22", COALESCE(bal.val_me_used, 0) AS "C23", COALESCE(ilq.net_weight, 0) AS "C24", COALESCE(ilc.fraction,'') AS "C26", @@ -253,17 +253,24 @@ BASE_JOINS = """ LEFT JOIN a76.item_line_descriptions ild ON ild.item_line_id = il.id LEFT JOIN a76.parts p ON p.id = il.part_number_id LEFT JOIN a76.units_of_measure uom ON uom.id = il.unit_of_measure + LEFT JOIN ( + SELECT DISTINCT ON (import_item_line_id) + import_item_line_id, + quantity AS qty_impo, + value_me AS val_me_impo, + value_mn AS val_mn_impo + FROM a24.balance_movement + WHERE movement_type = 'entry' AND tenant_id = :tenant_id + ORDER BY import_item_line_id, id DESC + ) ent ON ent.import_item_line_id = il.id LEFT JOIN ( SELECT import_item_line_id, - SUM(CASE WHEN movement_type = 'entry' THEN quantity ELSE 0 END) as qty_impo, SUM(CASE WHEN movement_type IN ('consumption', 'waste', 'scrap', 'destruction') THEN quantity ELSE 0 END) as qty_used, - SUM(CASE WHEN movement_type IN ('consumption', 'waste', 'scrap', 'destruction', 'neg_adj', 'transfer_out', 'expiration', 'regime_chg_out', 'entry_void') - THEN -1 * quantity ELSE quantity END) as qty_balance, - SUM(CASE WHEN movement_type = 'entry' THEN value_me ELSE 0 END) as val_me_impo, SUM(CASE WHEN movement_type IN ('consumption', 'waste', 'scrap', 'destruction') THEN value_me ELSE 0 END) as val_me_used, - SUM(CASE WHEN movement_type = 'entry' THEN value_mn ELSE 0 END) as val_mn_impo, - SUM(CASE WHEN movement_type IN ('consumption', 'waste', 'scrap', 'destruction') THEN value_mn ELSE 0 END) as val_mn_used + SUM(CASE WHEN movement_type IN ('consumption', 'waste', 'scrap', 'destruction') THEN value_mn ELSE 0 END) as val_mn_used, + SUM(CASE WHEN movement_type IN ('consumption', 'waste', 'scrap', 'destruction', 'neg_adj', 'transfer_out', 'expiration', 'regime_chg_out', 'entry_void') + THEN -1 * quantity ELSE quantity END) as qty_balance FROM a24.balance_movement WHERE tenant_id = :tenant_id GROUP BY import_item_line_id