From 488a8ab65337766ae2db6b597410a0bfede8fe2b Mon Sep 17 00:00:00 2001 From: "lucas.favaro" Date: Fri, 29 May 2026 11:15:54 -0300 Subject: [PATCH] =?UTF-8?q?Atualiza=C3=A7=C3=A3o=20query=20de=20perdas=20p?= =?UTF-8?q?or=20empresa.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/flash_perdas/flash_perdas.module.ts | 59 +++++++++++++------------ 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/src/flash_perdas/flash_perdas.module.ts b/src/flash_perdas/flash_perdas.module.ts index dd6c70a..6d428bd 100644 --- a/src/flash_perdas/flash_perdas.module.ts +++ b/src/flash_perdas/flash_perdas.module.ts @@ -156,55 +156,56 @@ export default moduleFactory return { sql: /*sql*/ ` SELECT - x.nome_segmento AS canalapp, + 'Lojas' AS categoriaapp, x.codigo AS cod_empresa, x.nomeempresaapp AS nomeempresaapp, CASE WHEN GROUPING(x.codigo) = 1 THEN 1 ELSE 0 END AS is_total, - SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda ELSE 0 END) * 1.02 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 ELSE 0 END) - - SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda ELSE 0 END) * 1.02 AS dif_mes_atual, + SUM(CASE WHEN x.data_referencia = TO_DATE(${args.data_perda}, 'YYYY-MM-DD') THEN x.vlr_contribuicao ELSE 0 END) AS contribuicao_dia, + 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.vlr_contribuicao ELSE 0 END) AS mes_atual, + SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.vlr_contribuicao - x.valor_meta_efetiva ELSE 0 END) AS dif_mes_atual, CASE - WHEN SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda ELSE 0 END) * 1.02 = 0 THEN 0 + 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_venda ELSE 0 END) * 1.02)) * 100) - 100 + ((SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.vlr_contribuicao 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_venda ELSE 0 END) * 1.02 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, + 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.vlr_contribuicao ELSE 0 END) AS mes_anterior, + SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.vlr_contribuicao ELSE 0 END) - + SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.vlr_contribuicao 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 + WHEN SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.vlr_contribuicao 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 + ((SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.vlr_contribuicao ELSE 0 END) / + SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.vlr_contribuicao ELSE 0 END)) * 100) - 100 , 2) END AS variacao_mes_anterior, - SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_venda ELSE 0 END) * 1.02 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, + 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.vlr_contribuicao ELSE 0 END) AS ano_anterior, + SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.vlr_contribuicao ELSE 0 END) - + SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.vlr_contribuicao 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 + WHEN SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.vlr_contribuicao 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 + ((SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.vlr_contribuicao ELSE 0 END) / + SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.vlr_contribuicao ELSE 0 END)) * 100) - 100 , 2) END AS variacao_ano_anterior FROM ( SELECT - r.nome_segmento, n.codigo, n.nome AS nomeempresaapp, - r.valor_venda, + r.data_referencia, + r.valor_meta_efetiva, + r.vlr_contribuicao, CASE - WHEN r.data_referencia BETWEEN TRUNC(TO_DATE(${args.data_perda}, 'YYYY-MM-DD'), 'MM') AND TO_DATE(${args.data_venda}, 'YYYY-MM-DD') + WHEN r.data_referencia BETWEEN TRUNC(TO_DATE(${args.data_perda}, 'YYYY-MM-DD'), 'MM') AND TO_DATE(${args.data_perda}, 'YYYY-MM-DD') THEN 'ATUAL' WHEN r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_perda}, 'YYYY-MM-DD'), 'MM'), -1) AND ADD_MONTHS(TO_DATE(${args.data_perda}, 'YYYY-MM-DD'), -1) @@ -214,7 +215,7 @@ export default moduleFactory THEN 'ANO_ANTERIOR' END AS periodo FROM - tb_flash_nodo_resumo_perda r + tb_flash_nodo_resumo_contribuicao r JOIN tb_flash_nodo n ON n.id_nodo = r.id_nodo @@ -222,7 +223,7 @@ export default moduleFactory n.tipo_nodo = 'EMPRESA' and (n.cod_empresa in (${args.ctx_user_companies_for_module})) AND ( - r.data_referencia BETWEEN TRUNC(TO_DATE(${args.data_perda}, 'YYYY-MM-DD'), 'MM') AND TO_DATE(${args.data_venda}, 'YYYY-MM-DD') + r.data_referencia BETWEEN TRUNC(TO_DATE(${args.data_perda}, 'YYYY-MM-DD'), 'MM') AND TO_DATE(${args.data_perda}, 'YYYY-MM-DD') OR r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_perda}, 'YYYY-MM-DD'), 'MM'), -1) AND ADD_MONTHS(TO_DATE(${args.data_perda}, 'YYYY-MM-DD'), -1) OR r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_perda}, 'YYYY-MM-DD'), 'MM'), -12) @@ -231,7 +232,7 @@ export default moduleFactory ) x GROUP BY GROUPING SETS ( - (x.codigo, x.nomeempresaapp, x.nome_segmento), + (x.codigo, x.nomeempresaapp), () ) `, @@ -242,7 +243,7 @@ export default moduleFactory sql: /*sql*/ ` WITH params AS ( SELECT - TO_DATE(${args.data_perda}, 'YYYY-MM-DD') AS data_venda, + TO_DATE('${args.data_perda}', 'YYYY-MM-DD') AS data_venda, ${args.codigo_categoria_pai} AS codigo_categoria_pai, ${args.cod_empresa} AS cod_empresa FROM dual