From c0c54543a3161aa51b84ea950c8ba504569c2d80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sarah=20Magalh=C3=A3es?= Date: Wed, 3 Jun 2026 14:14:49 -0300 Subject: [PATCH] Ajuste query flash categoria --- src/flash/flash.module.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/flash/flash.module.ts b/src/flash/flash.module.ts index 0161396..e9114b8 100644 --- a/src/flash/flash.module.ts +++ b/src/flash/flash.module.ts @@ -1078,7 +1078,15 @@ where 1 = 0`, ), filhos AS ( SELECT - n.id_nodo,n.ID_NODO as codigo, n.nome, n.tipo_nodo, n.nivel, + n.id_nodo, + -- Altera��o cir�rgica: unifica o c�digo pelo nome apenas se n�o houver os filtros + CASE + WHEN p.cod_empresa IS NULL AND p.codigo_categoria_pai IS NULL THEN + MIN(n.ID_NODO) OVER (PARTITION BY n.nome) + ELSE + n.ID_NODO + END AS codigo, + n.nome, n.tipo_nodo, n.nivel, n.cod_empresa, n.ordem_exibicao FROM VERDEMAR.TB_FLASH_NODO n CROSS JOIN Parametros p @@ -1109,11 +1117,9 @@ where 1 = 0`, MAX(v.nivel) AS nivel, MAX(v.ordem_exibicao) AS ordem_exibicao, GROUPING(v.codigo) AS is_total, - SUM(CASE WHEN v.data BETWEEN p.dt_inicio_mes AND p.data_venda THEN v.venda ELSE 0 END) AS v_mes, SUM(CASE WHEN v.data BETWEEN p.dt_inicio_mes_ant AND p.dt_fim_mes_ant THEN v.venda ELSE 0 END) AS v_mes_ant, SUM(CASE WHEN v.data BETWEEN p.dt_inicio_ano_ant AND p.dt_fim_ano_ant THEN v.venda ELSE 0 END) AS v_ano_ant, - SUM(CASE WHEN v.data BETWEEN p.dt_inicio_mes AND p.data_venda THEN v.meta ELSE 0 END) AS m_mes, SUM(CASE WHEN v.data BETWEEN p.dt_inicio_mes_ant AND p.dt_fim_mes_ant THEN v.meta ELSE 0 END) AS m_mes_ant, SUM(CASE WHEN v.data BETWEEN p.dt_inicio_ano_ant AND p.dt_fim_ano_ant THEN v.meta ELSE 0 END) AS m_ano_ant @@ -1126,7 +1132,6 @@ where 1 = 0`, tipo_nodo AS canalapp, codigo AS cod_empresa, is_total, - m_mes AS meta_mes, v_mes AS mes_atual, (v_mes - m_mes) AS dif_mes_atual, @@ -1134,12 +1139,10 @@ where 1 = 0`, WHEN m_mes = 0 THEN 0 ELSE ROUND(((v_mes / m_mes) * 100) - 100, 2) END AS variacao_atual, - m_mes_ant AS meta_mes_anterior, v_mes_ant AS mes_anterior, (v_mes - v_mes_ant) AS dif_mes_anterior, ROUND(NVL((v_mes / NULLIF(v_mes_ant, 0)) * 100 - 100, 0), 2) AS variacao_mes_anterior, - m_ano_ant AS meta_ano_anterior, v_ano_ant AS ano_anterior, (v_mes - v_ano_ant) AS dif_ano_anterior,