Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- select
- t.des_nome,
- t.num_etapa,
- t.cod_ceco,
- t.cod_conta_contabil,
- sum(t.janeiro) as janeiro,
- sum(t.fevereiro) as fevereiro,
- sum(t.marco) as marco,
- sum(t.abril) as abril,
- sum(t.maio) as maio,
- sum(t.junho) as junho,
- sum(t.julho) as julho,
- sum(t.agosto) as agosto,
- sum(t.setembro) as setembro,
- sum(t.outubro) as outubro,
- sum(t.novembro) as novembro,
- sum(t.dezembro) as dezembro
- from (
- select v.num_etapa,v.des_nome,v.cod_ceco, v.cod_conta_contabil,
- case when num_mes = 1 then sum(v.valor) else 0 end as janeiro,
- case when num_mes = 2 then sum(v.valor) else 0 end as fevereiro,
- case when num_mes = 3 then sum(v.valor) else 0 end as marco,
- case when num_mes = 4 then sum(v.valor) else 0 end as abril,
- case when num_mes = 5 then sum(v.valor) else 0 end as maio,
- case when num_mes = 6 then sum(v.valor) else 0 end as junho,
- case when num_mes = 7 then sum(v.valor) else 0 end as julho,
- case when num_mes = 8 then sum(v.valor) else 0 end as agosto,
- case when num_mes = 9 then sum(v.valor) else 0 end as setembro,
- case when num_mes = 10 then sum(v.valor) else 0 end as outubro,
- case when num_mes = 11 then sum(v.valor) else 0 end as novembro,
- case when num_mes = 12 then sum(v.valor) else 0 end as dezembro
- from (
- -- real
- select
- '' as des_nome,
- 0 as num_etapa,
- c.cod_ceco,
- cc.cod_conta_contabil,
- rcc.num_mes,
- coalesce(sum(valor), 0) as valor
- from tab_real_ceco_cc rcc
- inner join tab_cenario cen on rcc.num_ano = cen.num_ano_competencia and rcc.num_mes < cen.num_mes_competencia
- inner join tab_planejamento_cenario pc on pc.id_cenario = cen.id
- inner join tab_planejamento_filial pf on pf.id = pc.id_planejamento_filial
- inner join tab_ceco c on c.id = rcc.id_ceco and c.id_filial = pf.id_filial
- inner join tab_conta_contabil cc on cc.id = rcc.id_conta_contabil
- where
- 1 = 1
- and pc.id = :id_planejamento_cenario
- group by c.cod_ceco, cc.cod_conta_contabil, rcc.num_mes
- union all
- --forecast
- select
- u.des_nome,
- wepe.num_etapa,
- c.cod_ceco,
- cc.cod_conta_contabil,
- pi.mes as num_mes,
- coalesce(sum(valor), 0) as valor
- from
- tab_wf_exec_plan_etapa wepe
- inner join tab_wf_exec_plan wep on wepe.id_wf_exec_plan = wep.id
- inner join tab_wf_plan wp on wep.id_wf_plan = wp.id
- inner join tab_wf_plan_resp_etapa wpre on wpre.id_wf_plan = wp.id
- inner join tab_planejamento_cenario pc on wp.id_planejamento_cenario = pc.id
- inner join tab_cenario cen on cen.id = pc.id_cenario
- inner join tab_planejamento_filial pf on pf.id = pc.id_planejamento_filial
- inner join tab_planejamento_ceco pceco on pceco.id_planejamento_cenario = pc.id
- inner join tab_planejamento_ceco_cc pcc on pcc.id_planejamento_ceco = pceco.id
- inner join tab_ceco c on c.id = pceco.id_ceco and c.id_filial = pf.id_filial and wpre.id_ceco = c.id
- inner join tab_conta_contabil cc on pcc.id_conta_contabil = cc.id
- inner join tab_planejamento_item pi on pi.id_planejamento_ceco_cc = pcc.id
- inner join tab_usuario u on wpre.id_usuario_responsavel = u.id
- where
- 1 = 1
- and pc.id = :id_planejamento_cenario
- group by c.cod_ceco, cc.cod_conta_contabil, pi.mes, u.des_nome, wepe.num_etapa
- ) as v
- group by v.num_mes, v.cod_ceco, v.cod_conta_contabil, v.num_etapa, v.des_nome
- ) t
- group by t.cod_ceco, t.cod_conta_contabil, t.num_etapa, t.des_nome
- order by 1, 2, 3;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement