Actualizar Cruce de Cuentas: Panama, Reportar y dist validado
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
-- ============================================================
|
||||
-- CRUCE DE CUENTAS GLM · LIMPIEZA ÚNICA DE HISTÓRICOS PANAMÁ
|
||||
-- ============================================================
|
||||
-- Objetivo:
|
||||
-- Eliminar únicamente los reportes de prueba de Panamá (PA) que ya aparecen
|
||||
-- en "Reportes Históricos" y las correcciones BambooHR asociadas a esos
|
||||
-- reportes. NO elimina aliases BambooHR ni datos de Guatemala/Trinidad.
|
||||
--
|
||||
-- Ejecutar UNA SOLA VEZ en el SQL Editor de Supabase antes de entregar Panamá
|
||||
-- a los usuarios finales.
|
||||
|
||||
begin;
|
||||
|
||||
-- Guardamos temporalmente los reportes PA que serán eliminados para poder
|
||||
-- limpiar también correcciones ligadas por execution_id o report_url.
|
||||
create temporary table tmp_cruce_cuentas_pa_reportes_a_borrar
|
||||
on commit drop
|
||||
as
|
||||
select
|
||||
r.id::text as report_id,
|
||||
r.report_url
|
||||
from public.cruces_cuentas_gt_reportes r
|
||||
where upper(trim(coalesce(r.country, 'GT'))) = 'PA';
|
||||
|
||||
-- Elimina solamente correcciones vinculadas a los reportes PA de prueba.
|
||||
delete from public.cruce_cuentas_bamboo_correcciones c
|
||||
using tmp_cruce_cuentas_pa_reportes_a_borrar r
|
||||
where upper(trim(coalesce(c.pais, ''))) = 'PA'
|
||||
and (
|
||||
trim(coalesce(c.execution_id, '')) = r.report_id
|
||||
or (
|
||||
nullif(trim(coalesce(c.report_url, '')), '') is not null
|
||||
and nullif(trim(coalesce(r.report_url, '')), '') is not null
|
||||
and c.report_url = r.report_url
|
||||
)
|
||||
);
|
||||
|
||||
-- Elimina los reportes históricos de Panamá. Los futuros reportes PA se
|
||||
-- guardarán normalmente después de esta limpieza.
|
||||
delete from public.cruces_cuentas_gt_reportes r
|
||||
where upper(trim(coalesce(r.country, 'GT'))) = 'PA';
|
||||
|
||||
commit;
|
||||
|
||||
-- Validación final: debe devolver 0.
|
||||
select count(*) as reportes_panama_restantes
|
||||
from public.cruces_cuentas_gt_reportes r
|
||||
where upper(trim(coalesce(r.country, 'GT'))) = 'PA';
|
||||
Reference in New Issue
Block a user