Ajuste query flash categoria
davinTI/app-dono-modulos/pipeline/head This commit looks good

This commit is contained in:
Sarah Magalhães
2026-06-03 10:28:31 -03:00
parent 0a4bc7bd32
commit 4af4233d60
+10 -12
View File
@@ -1059,19 +1059,19 @@ where 1 = 0`,
sql: /*sql*/` sql: /*sql*/`
WITH Parametros_Base AS ( WITH Parametros_Base AS (
SELECT SELECT
TO_DATE(${args.data_venda}, 'YYYY-MM-DD') AS dt_ref, TO_DATE(${args.data_venda}, 'YYYY-MM-DD') AS data_venda,
${args.codigo_categoria_pai} AS codigo_categoria_pai, ${args.codigo_categoria_pai} AS codigo_categoria_pai,
${args.cod_empresa} AS cod_empresa ${args.cod_empresa} AS cod_empresa
FROM DUAL FROM DUAL
), ),
Parametros AS ( Parametros AS (
SELECT SELECT
dt_ref, data_venda,
TRUNC(dt_ref, 'MM') AS dt_inicio_mes, TRUNC(data_venda, 'MM') AS dt_inicio_mes,
ADD_MONTHS(TRUNC(dt_ref, 'MM'), -1) AS dt_inicio_mes_ant, ADD_MONTHS(TRUNC(data_venda, 'MM'), -1) AS dt_inicio_mes_ant,
ADD_MONTHS(dt_ref, -1) AS dt_fim_mes_ant, ADD_MONTHS(data_venda, -1) AS dt_fim_mes_ant,
ADD_MONTHS(TRUNC(dt_ref, 'MM'), -12) AS dt_inicio_ano_ant, ADD_MONTHS(TRUNC(data_venda, 'MM'), -12) AS dt_inicio_ano_ant,
ADD_MONTHS(dt_ref, -12) AS dt_fim_ano_ant, ADD_MONTHS(data_venda, -12) AS dt_fim_ano_ant,
codigo_categoria_pai, codigo_categoria_pai,
cod_empresa cod_empresa
FROM Parametros_Base FROM Parametros_Base
@@ -1097,14 +1097,12 @@ where 1 = 0`,
FROM filhos f FROM filhos f
JOIN VERDEMAR.TB_FLASH_NODO_RESUMO_VENDA r ON r.id_nodo = f.id_nodo JOIN VERDEMAR.TB_FLASH_NODO_RESUMO_VENDA r ON r.id_nodo = f.id_nodo
CROSS JOIN Parametros p CROSS JOIN Parametros p
WHERE ( r.data_referencia BETWEEN p.dt_inicio_mes AND p.dt_ref WHERE ( r.data_referencia BETWEEN p.dt_inicio_mes AND p.data_venda
OR r.data_referencia BETWEEN p.dt_inicio_mes_ant AND p.dt_fim_mes_ant OR r.data_referencia BETWEEN p.dt_inicio_mes_ant AND p.dt_fim_mes_ant
OR r.data_referencia BETWEEN p.dt_inicio_ano_ant AND p.dt_fim_ano_ant) OR r.data_referencia BETWEEN p.dt_inicio_ano_ant AND p.dt_fim_ano_ant)
), ),
Agrupado AS ( Agrupado AS (
SELECT SELECT
-- Quando NO tem filtro de empresa: agrupa por CODIGO (consolida vrias empresas)
-- Quando TEM filtro de empresa: agrupa por ID_NODO (cada empresa separada)
v.codigo AS codigo, v.codigo AS codigo,
MAX(v.nome) AS nome, MAX(v.nome) AS nome,
MAX(v.tipo_nodo) AS tipo_nodo, MAX(v.tipo_nodo) AS tipo_nodo,
@@ -1116,11 +1114,11 @@ where 1 = 0`,
MAX(v.ordem_exibicao) AS ordem_exibicao, MAX(v.ordem_exibicao) AS ordem_exibicao,
GROUPING(v.codigo) AS is_total, GROUPING(v.codigo) AS is_total,
SUM(CASE WHEN v.data BETWEEN p.dt_inicio_mes AND p.dt_ref THEN v.venda ELSE 0 END) AS v_mes, 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_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_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.dt_ref THEN v.meta ELSE 0 END) AS m_mes, 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_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 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
FROM Vendas_Metas v FROM Vendas_Metas v