From 65045147089d77fdbd6376ff35907db6843cac02 Mon Sep 17 00:00:00 2001 From: "lucas.favaro" Date: Wed, 29 Apr 2026 15:32:27 -0300 Subject: [PATCH] =?UTF-8?q?Altera=C3=A7=C3=A3o=20em=20query=20Flash=20Vend?= =?UTF-8?q?as?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/flash/flash.module.ts | 148 ++++++++++++++++++-------------------- 1 file changed, 69 insertions(+), 79 deletions(-) diff --git a/src/flash/flash.module.ts b/src/flash/flash.module.ts index 38371f0..1212172 100644 --- a/src/flash/flash.module.ts +++ b/src/flash/flash.module.ts @@ -117,89 +117,79 @@ order by grouping(canalapp) desc, grouping(nomeempresaapp) desc`, C5_big: {flash: (args) => { return { sql: /*sql*/ ` - SELECT - 'Lojas' AS canalapp, - - x.nomeempresaapp AS nomeempresaapp, - - CASE - WHEN GROUPING(x.nomeempresaapp) = 1 THEN 1 - ELSE 0 - END AS is_total, - - SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_meta_efetiva ELSE 0 END) AS meta_mes, - SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda ELSE 0 END) AS mes_atual, - SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda - x.valor_meta_efetiva ELSE 0 END) AS dif_mes_atual, - - CASE - WHEN SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_meta_efetiva ELSE 0 END) = 0 THEN 0 - ELSE ROUND( - ((SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda ELSE 0 END) / - SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_meta_efetiva ELSE 0 END)) * 100) - 100 - , 2) - END AS variacao_atual, - - SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END) AS meta_mes_anterior, - SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_venda ELSE 0 END) AS mes_anterior, - SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_venda - x.valor_meta_efetiva ELSE 0 END) AS dif_mes_anterior, - - CASE - WHEN SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END) = 0 THEN 0 - ELSE ROUND( - ((SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_venda ELSE 0 END) / - SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END)) * 100) - 100 - , 2) - END AS variacao_mes_anterior, - - SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END) AS meta_ano_anterior, - SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_venda ELSE 0 END) AS ano_anterior, - SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_venda - x.valor_meta_efetiva ELSE 0 END) AS dif_ano_anterior, - - CASE - WHEN SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END) = 0 THEN 0 - ELSE ROUND( - ((SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_venda ELSE 0 END) / - SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END)) * 100) - 100 - , 2) - END AS variacao_ano_anterior - - FROM ( - SELECT - n.codigo, - n.nome AS nomeempresaapp, - r.valor_meta_efetiva, - r.valor_venda, + SELECT + 'Lojas' AS canalapp, + x.nomeempresaapp AS nomeempresaapp, CASE + WHEN GROUPING(x.nomeempresaapp) = 1 THEN 1 + ELSE 0 + END AS is_total, + SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_meta_efetiva ELSE 0 END) AS meta_mes, + SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda ELSE 0 END) AS mes_atual, + SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda - x.valor_meta_efetiva ELSE 0 END) AS dif_mes_atual, + CASE + WHEN SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_meta_efetiva ELSE 0 END) = 0 THEN 0 + ELSE ROUND( + ((SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda ELSE 0 END) / + SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_meta_efetiva ELSE 0 END)) * 100) - 100 + , 2) + END AS variacao_atual, + SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END) AS meta_mes_anterior, + SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_venda ELSE 0 END) AS mes_anterior, + SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda ELSE 0 END) - + SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_venda ELSE 0 END) AS dif_mes_anterior, + CASE + WHEN SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_venda ELSE 0 END) = 0 THEN 0 + ELSE ROUND( + ((SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda ELSE 0 END) / + SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_venda ELSE 0 END)) * 100) - 100 + , 2) + END AS variacao_mes_anterior, + SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END) AS meta_ano_anterior, + SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_venda ELSE 0 END) AS ano_anterior, + SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda ELSE 0 END) - + SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_venda ELSE 0 END) AS dif_ano_anterior, + CASE + WHEN SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_venda ELSE 0 END) = 0 THEN 0 + ELSE ROUND( + ((SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda ELSE 0 END) / + SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_venda ELSE 0 END)) * 100) - 100 + , 2) + END AS variacao_ano_anterior + FROM + ( + SELECT + n.codigo, + n.nome AS nomeempresaapp, + r.valor_meta_efetiva, + r.valor_venda, + CASE WHEN r.data_referencia BETWEEN TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM') AND TO_DATE(${args.data_venda}, 'YYYY-MM-DD') - THEN 'ATUAL' - + THEN 'ATUAL' WHEN r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM'), -1) - AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -1) - THEN 'MES_ANTERIOR' - + AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -1) + THEN 'MES_ANTERIOR' WHEN r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM'), -12) - AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -12) - THEN 'ANO_ANTERIOR' - END AS periodo - - FROM tb_flash_nodo_resumo_venda r - JOIN tb_flash_nodo n - ON n.id_nodo = r.id_nodo - WHERE n.tipo_nodo = 'EMPRESA' - AND ( - r.data_referencia BETWEEN TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM') AND TO_DATE(${args.data_venda}, 'YYYY-MM-DD') - OR r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM'), -1) - AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -1) - OR r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM'), -12) - AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -12) - ) - ) x - - /*GROUP BY GROUPING SETS ( - (x.codigo, x.canalapp), - () - )*/ - group by rollup(x.nomeempresaapp) + AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -12) + THEN 'ANO_ANTERIOR' + END AS periodo + FROM + tb_flash_nodo_resumo_venda r + JOIN tb_flash_nodo n + ON + n.id_nodo = r.id_nodo + WHERE + n.tipo_nodo = 'EMPRESA' + AND ( + r.data_referencia BETWEEN TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM') AND TO_DATE(${args.data_venda}, 'YYYY-MM-DD') + OR r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM'), -1) + AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -1) + OR r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM'), -12) + AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -12) + ) + ) x + GROUP BY + ROLLUP(x.nomeempresaapp) `,}; }, },