Advertisement
Guest User

Untitled

a guest
Jul 6th, 2018
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. select
  2.     t.des_nome,
  3.     t.num_etapa,
  4.     t.cod_ceco,
  5.     t.cod_conta_contabil,
  6.     sum(t.janeiro) as janeiro,
  7.     sum(t.fevereiro) as fevereiro,
  8.     sum(t.marco) as marco,
  9.     sum(t.abril) as abril,
  10.     sum(t.maio) as maio,
  11.     sum(t.junho) as junho,
  12.     sum(t.julho) as julho,
  13.     sum(t.agosto) as agosto,
  14.     sum(t.setembro) as setembro,
  15.     sum(t.outubro) as outubro,
  16.     sum(t.novembro) as novembro,
  17.     sum(t.dezembro) as dezembro
  18. from (
  19. select  v.num_etapa,v.des_nome,v.cod_ceco, v.cod_conta_contabil,
  20.         case when num_mes = 1 then sum(v.valor) else 0 end as janeiro,
  21.         case when num_mes = 2 then sum(v.valor) else 0 end as fevereiro,
  22.         case when num_mes = 3 then sum(v.valor) else 0 end as marco,
  23.         case when num_mes = 4 then sum(v.valor) else 0 end as abril,
  24.         case when num_mes = 5 then sum(v.valor) else 0 end as maio,
  25.         case when num_mes = 6 then sum(v.valor) else 0 end as junho,
  26.         case when num_mes = 7 then sum(v.valor) else 0 end as julho,
  27.         case when num_mes = 8 then sum(v.valor) else 0 end as agosto,
  28.         case when num_mes = 9 then sum(v.valor) else 0 end as setembro,
  29.         case when num_mes = 10 then sum(v.valor) else 0 end as outubro,
  30.         case when num_mes = 11 then sum(v.valor) else 0 end as novembro,
  31.         case when num_mes = 12 then sum(v.valor) else 0 end as dezembro
  32. from (
  33.     -- real
  34.     select
  35.     '' as des_nome,
  36.     0 as num_etapa,
  37.     c.cod_ceco,
  38.     cc.cod_conta_contabil,
  39.     rcc.num_mes,
  40.     coalesce(sum(valor), 0) as valor
  41.     from tab_real_ceco_cc rcc
  42.     inner join tab_cenario cen on rcc.num_ano = cen.num_ano_competencia and rcc.num_mes < cen.num_mes_competencia
  43.     inner join tab_planejamento_cenario pc on pc.id_cenario = cen.id
  44.     inner join tab_planejamento_filial pf on pf.id = pc.id_planejamento_filial
  45.     inner join tab_ceco c on c.id = rcc.id_ceco and c.id_filial = pf.id_filial
  46.     inner join tab_conta_contabil cc on cc.id = rcc.id_conta_contabil
  47.     where
  48.         1 = 1
  49.         and pc.id = :id_planejamento_cenario
  50.     group by c.cod_ceco, cc.cod_conta_contabil, rcc.num_mes
  51.     union all
  52.     --forecast
  53.     select
  54.     u.des_nome,
  55.     wepe.num_etapa,
  56.     c.cod_ceco,
  57.     cc.cod_conta_contabil,
  58.     pi.mes as num_mes,
  59.     coalesce(sum(valor), 0) as valor
  60.     from
  61.     tab_wf_exec_plan_etapa wepe
  62.     inner join tab_wf_exec_plan wep on wepe.id_wf_exec_plan = wep.id
  63.     inner join tab_wf_plan wp on wep.id_wf_plan = wp.id
  64.     inner join tab_wf_plan_resp_etapa wpre on wpre.id_wf_plan = wp.id
  65.     inner join tab_planejamento_cenario pc on wp.id_planejamento_cenario = pc.id
  66.     inner join tab_cenario cen on cen.id = pc.id_cenario
  67.     inner join tab_planejamento_filial pf on pf.id = pc.id_planejamento_filial
  68.     inner join tab_planejamento_ceco pceco on pceco.id_planejamento_cenario = pc.id
  69.     inner join tab_planejamento_ceco_cc pcc on pcc.id_planejamento_ceco = pceco.id
  70.     inner join tab_ceco c on c.id = pceco.id_ceco and c.id_filial = pf.id_filial and wpre.id_ceco = c.id
  71.     inner join tab_conta_contabil cc on pcc.id_conta_contabil = cc.id
  72.     inner join tab_planejamento_item pi on pi.id_planejamento_ceco_cc = pcc.id
  73.     inner join tab_usuario u on wpre.id_usuario_responsavel = u.id
  74.     where
  75.         1 = 1
  76.         and pc.id = :id_planejamento_cenario
  77.     group by c.cod_ceco, cc.cod_conta_contabil, pi.mes, u.des_nome, wepe.num_etapa
  78. ) as v
  79. group by v.num_mes, v.cod_ceco, v.cod_conta_contabil, v.num_etapa, v.des_nome
  80. ) t
  81. group by t.cod_ceco, t.cod_conta_contabil, t.num_etapa, t.des_nome
  82. order by 1, 2, 3;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement