Fix: ajuste nas procedures de contribuição
davinTI/app-dono-modulos/pipeline/head This commit looks good

This commit is contained in:
2026-05-07 15:01:29 -03:00
parent 940f2fcdb7
commit 8fea2da1c9
9 changed files with 56 additions and 25 deletions
@@ -10,7 +10,9 @@ BEGIN
INSERT INTO TB_FLASH_NODO_RESUMO_CONTRIBUICAO (
id_resumo, id_nodo, data_referencia, ano_referencia, mes_referencia, dia_referencia,
valor_contribuicao, valor_meta_propria, valor_meta_filhos, valor_meta_efetiva,
nro_tickets, vlr_imp_contribuicao, qtde_contribuicao,
vlr_contribuicao, vl_ticket_medio,
valor_meta_propria, valor_meta_filhos, valor_meta_efetiva,
percentual_meta_propria, percentual_meta_filhos, percentual_meta_efetiva,
desvio, percentual_atingimento, data_apuracao
)
@@ -22,7 +24,10 @@ BEGIN
contribuicao_direta AS (
SELECT f.id_nodo, TRUNC(f.data_referencia) AS data_referencia,
f.ano_referencia, f.mes_referencia, f.dia_referencia,
SUM(f.vlr_contribuicao) AS valor_contribuicao
SUM(f.nro_tickets) AS nro_tickets,
SUM(f.vlr_imp_contribuicao) AS vlr_imp_contribuicao,
SUM(f.qtde_contribuicao) AS qtde_contribuicao,
SUM(f.vlr_contribuicao) AS vlr_contribuicao
FROM TB_FLASH_FATO_CONTRIBUICAO f
WHERE f.data_referencia BETWEEN p_data_inicial AND p_data_final
GROUP BY f.id_nodo, TRUNC(f.data_referencia), f.ano_referencia, f.mes_referencia, f.dia_referencia
@@ -33,7 +38,10 @@ BEGIN
EXTRACT(YEAR FROM d.data_referencia) AS ano_referencia,
EXTRACT(MONTH FROM d.data_referencia) AS mes_referencia,
EXTRACT(DAY FROM d.data_referencia) AS dia_referencia,
SUM(NVL(cd.valor_contribuicao, 0)) AS valor_contribuicao
SUM(NVL(cd.nro_tickets, 0)) AS nro_tickets,
SUM(NVL(cd.vlr_imp_contribuicao, 0)) AS vlr_imp_contribuicao,
SUM(NVL(cd.qtde_contribuicao, 0)) AS qtde_contribuicao,
SUM(NVL(cd.vlr_contribuicao, 0)) AS vlr_contribuicao
FROM (
SELECT CONNECT_BY_ROOT n.id_nodo AS id_nodo_ancestral,
n.id_nodo AS id_nodo_descendente
@@ -72,17 +80,21 @@ BEGIN
)
SELECT SEQ_TB_FLASH_NODO_RESUMO_CONTRIBUICAO.NEXTVAL,
b.id_nodo, b.data_referencia, b.ano_referencia, b.mes_referencia, b.dia_referencia,
ch.valor_contribuicao,
ch.nro_tickets,
ch.vlr_imp_contribuicao,
ch.qtde_contribuicao,
ch.vlr_contribuicao,
CASE WHEN NVL(ch.nro_tickets, 0) > 0 THEN ch.vlr_contribuicao / ch.nro_tickets ELSE NULL END,
mpd.valor_meta_propria,
mfd.valor_meta_filhos,
CASE WHEN mpd.valor_meta_propria IS NOT NULL THEN mpd.valor_meta_propria ELSE mfd.valor_meta_filhos END,
mpd.percentual_meta_propria,
CAST(NULL AS NUMBER(10,4)),
CASE WHEN mpd.percentual_meta_propria IS NOT NULL THEN mpd.percentual_meta_propria ELSE NULL END,
NVL(ch.valor_contribuicao, 0) - NVL(CASE WHEN mpd.valor_meta_propria IS NOT NULL THEN mpd.valor_meta_propria ELSE mfd.valor_meta_filhos END, 0),
NVL(ch.vlr_contribuicao, 0) - NVL(CASE WHEN mpd.valor_meta_propria IS NOT NULL THEN mpd.valor_meta_propria ELSE mfd.valor_meta_filhos END, 0),
CASE
WHEN NVL(CASE WHEN mpd.valor_meta_propria IS NOT NULL THEN mpd.valor_meta_propria ELSE mfd.valor_meta_filhos END, 0) = 0 THEN NULL
ELSE (NVL(ch.valor_contribuicao, 0) / CASE WHEN mpd.valor_meta_propria IS NOT NULL THEN mpd.valor_meta_propria ELSE mfd.valor_meta_filhos END) * 100
ELSE (NVL(ch.vlr_contribuicao, 0) / CASE WHEN mpd.valor_meta_propria IS NOT NULL THEN mpd.valor_meta_propria ELSE mfd.valor_meta_filhos END) * 100
END,
SYSDATE
FROM base b