Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
RONALDO RODRIGUES DE OLIVEIRA
/
simec-scripts-banco
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
bbc7a86a
authored
Apr 23, 2025
by
MATEUS GUIZELINI JARDIM
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
extracao par2
parent
c313dc2c
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
406 additions
and
0 deletions
mateus_jardim/script_sql/extracao_par2_script.sql
mateus_jardim/script_sql/extracao_par2_script.sql
0 → 100644
View file @
bbc7a86a
select
CASE
WHEN
iumuncod
IS
NULL
THEN
estestuf
ELSE
munestuf
END
AS
"UF"
,
foo
.
munmundescricao
as
"Entidade"
,
--prpnumeroprocesso as "Processo",
to_char
(
prpnumeroprocesso
::
bigint
,
'FM00000"."000000"/"0000"-"00'
)
as
"Processo"
,
foo
.
doc
as
"Documento"
,
data_vigencia
as
"Vigência"
,
contagem
as
"Validação"
,
(
SELECT
tisub
.
tpsdescricao
FROM
par
.
propostasubacao
pro
INNER
JOIN
par
.
propostatiposubacao
prot
on
pro
.
ptsid
=
prot
.
ptsid
AND
prot
.
ptsstatus
=
'A'
INNER
JOIN
par
.
tiposubacao
tisub
ON
tisub
.
tpsid
=
prot
.
tpsid
and
tisub
.
tpsstatus
=
'A'
where
pro
.
ptsid
=
sub
.
ptsid
limit
1
)
as
"Tipo"
,
par
.
retornacodigosubacao
(
sd
.
sbaid
)
as
"Código da Subação"
,
sub
.
sbadsc
as
"Subação"
,
sd
.
sbdano
as
"Ano"
,
COALESCE
(
REPLACE
(
TO_CHAR
(
sd
.
sbdvaloraprovado
,
'FM999999990.00'
),
'.'
,
','
),
'0,00'
)
as
"Valor da Subação"
,
COALESCE
(
REPLACE
(
TO_CHAR
(
valorempenho
,
'FM999999990.00'
),
'.'
,
','
),
'0,00'
)
as
"Valor Empenhado"
,
COALESCE
(
REPLACE
(
TO_CHAR
(
valorpagamento
,
'FM999999990.00'
),
'.'
,
','
),
'0,00'
)
as
"Valor Pago"
,
case
when
pagsituacaopagamento
=
'A'
THEN
'Sim'
else
'Não'
end
as
"Situação Pagamento"
,
CASE
WHEN
estestuf
IS
NULL
THEN
'Municipal'
ELSE
'Estadual'
END
as
"Esfera"
,
sub
.
sbaemenda
as
"Subação de Emenda"
,
CASE
WHEN
sub
.
sbastatus
=
'A'
THEN
'Ativo'
WHEN
sub
.
sbastatus
=
'I'
THEN
'Inativo'
ELSE
'Cópia'
END
AS
"Status da Subação"
,
(
SELECT
SUM
(
qtdtermo
)
as
total_qtdtermo
FROM
(
SELECT
distinct
si
.
icoid
,
(
CASE
WHEN
sbacronograma
=
1
THEN
(
SELECT
DISTINCT
CASE
WHEN
sic
.
icovalidatecnico
=
'S'
THEN
sum
(
coalesce
(
sic
.
icoquantidadetecnico
,
0
))
END
as
vlrsubacao
FROM
par
.
subacaoitenscomposicao
sic
WHERE
sic
.
sbaid
=
s
.
sbaid
AND
sic
.
icoano
=
sd
.
sbdano
AND
sic
.
icoid
=
si
.
icoid
AND
sic
.
icostatus
=
'A'
GROUP
BY
sic
.
sbaid
,
sic
.
icovalidatecnico
)
ELSE
(
SELECT
DISTINCT
CASE
WHEN
(
s
.
frmid
=
2
)
OR
(
s
.
frmid
=
4
AND
s
.
ptsid
=
42
)
OR
(
s
.
frmid
=
12
AND
s
.
ptsid
=
46
)
THEN
-- escolas sem itens
sum
(
coalesce
(
se
.
sesquantidadetecnico
,
0
))
ELSE
-- escolas com itens
CASE
WHEN
sic
.
icovalidatecnico
=
'S'
THEN
-- validado (caso não o item não é contado)
sum
(
coalesce
(
ssi
.
seiqtdtecnico
,
0
))
END
END
as
vlrsubacao
FROM
entidade
.
entidade
t
inner
join
entidade
.
funcaoentidade
f
on
f
.
entid
=
t
.
entid
left
join
entidade
.
entidadedetalhe
ed
on
t
.
entid
=
ed
.
entid
inner
join
entidade
.
endereco
d
on
t
.
entid
=
d
.
entid
left
join
territorios
.
municipio
m
on
m
.
muncod
=
d
.
muncod
left
join
par
.
escolas
e
on
e
.
entid
=
t
.
entid
INNER
JOIN
par
.
subacaoescolas
se
ON
se
.
escid
=
e
.
escid
INNER
JOIN
par
.
subacaoitenscomposicao
sic
on
se
.
sbaid
=
sic
.
sbaid
AND
se
.
sesano
=
sic
.
icoano
AND
sic
.
icostatus
=
'A'
LEFT
JOIN
par
.
subescolas_subitenscomposicao
ssi
ON
ssi
.
sesid
=
se
.
sesid
AND
ssi
.
icoid
=
sic
.
icoid
WHERE
sic
.
sbaid
=
s
.
sbaid
AND
sic
.
icoano
=
sd
.
sbdano
AND
sic
.
icoid
=
si
.
icoid
AND
(
t
.
entescolanova
=
false
OR
t
.
entescolanova
is
null
)
AND
t
.
entstatus
=
'A'
AND
f
.
funid
=
3
GROUP
BY
sic
.
sbaid
,
se
.
sesvalidatecnico
,
sic
.
icovalidatecnico
)
END
)
as
qtdtermo
FROM
par
.
subacao
s
/*Para recuperar o itrid - ver se é estadual ou municipal*/
INNER
JOIN
par
.
acao
aca
on
aca
.
aciid
=
s
.
aciid
AND
acistatus
=
'A'
INNER
JOIN
par
.
pontuacao
pon
on
pon
.
ptoid
=
aca
.
ptoid
AND
ptostatus
=
'A'
INNER
JOIN
par
.
instrumentounidade
inu
on
inu
.
inuid
=
pon
.
inuid
/*FIM - Para recuperar o itrid*/
INNER
JOIN
par
.
subacaodetalhe
sd
ON
sd
.
sbaid
=
s
.
sbaid
LEFT
JOIN
par
.
documentoparreprogramacaosubacao
dps
INNER
JOIN
par
.
vm_documentopar_ativos
dp
ON
dp
.
dopid
=
dps
.
dopid
ON
dps
.
sbdid
=
sd
.
sbdid
AND
dps
.
dpsstatus
=
'A'
INNER
JOIN
par
.
termocomposicao
tc
ON
tc
.
sbdid
=
sd
.
sbdid
INNER
JOIN
par
.
subacaoitenscomposicao
si
ON
si
.
sbaid
=
s
.
sbaid
AND
si
.
icoano
=
sd
.
sbdano
AND
si
.
icostatus
=
'A'
LEFT
JOIN
par
.
subacaoitenscomposicaocontratos
con
ON
con
.
icoid
=
si
.
icoid
AND
con
.
sccid
IS
NOT
NULL
INNER
JOIN
par
.
propostaitemcomposicao
pic
ON
pic
.
picid
=
si
.
picid
LEFT
JOIN
par
.
empenhopregaoitensenviados
emi
ON
emi
.
idsigarp
=
pic
.
idsigarp
AND
emi
.
sbaid
=
si
.
sbaid
--AND emi.prpid = {$prpid}
AND
emi
.
epistatus
=
'A'
WHERE
sd
.
sbaid
=
sub
.
sbaid
AND
icomonitoramentocancelado
=
false
AND
si
.
icovalidatecnico
=
'S'
)
AS
subquery
)
as
"Quantidade de Itens Planejados"
,
(
select
sum
(
su
.
icoquantidaderecebida
)
FROM
par
.
subacaoitenscomposicao
su
INNER
JOIN
par
.
subacao
s
ON
s
.
sbaid
=
su
.
sbaid
AND
s
.
sbastatus
=
'A'
and
su
.
icostatus
=
'A'
where
s
.
sbaid
=
sub
.
sbaid
)
as
"Quantidade de Itens Validados"
,
iuesituacaohabilita
as
"Habilitação"
,
case
when
(
SELECT
count
(
1
)
FROM
par
.
subacao
s
INNER
JOIN
par
.
subacaoitenscomposicao
sic
on
s
.
sbaid
=
sic
.
sbaid
AND
s
.
sbastatus
=
'A'
INNER
JOIN
par
.
subacaoitenscomposicaocontratos
sicc
ON
sicc
.
icoid
=
sic
.
icoid
where
s
.
sbaid
=
sub
.
sbaid
)
>
0
THEN
'Sim'
else
'Não'
end
as
"Contrato Inserido"
,
case
when
(
SELECT
count
(
1
)
FROM
par
.
subacao
s
INNER
JOIN
par
.
subacaoitenscomposicao
sic
on
s
.
sbaid
=
sic
.
sbaid
AND
s
.
sbastatus
=
'A'
INNER
JOIN
par
.
subacaoitenscomposicaonotasfiscais
sicnf
ON
sicnf
.
icoid
=
sic
.
icoid
where
s
.
sbaid
=
sub
.
sbaid
)
>
0
THEN
'Sim'
else
'Não'
end
as
"Nota Fiscal Inserida"
,
(
SELECT
count
(
*
)
FROM
par
.
subacao
s
INNER
JOIN
par
.
subacaoescolas
se
on
se
.
sbaid
=
sd
.
sbaid
AND
s
.
sbastatus
=
'A'
where
s
.
sbaid
=
sub
.
sbaid
)
as
"Qtd de Escolas Atendidas"
,
TO_CHAR
(
foopc
.
enviopc
,
'DD/MM/YYYY'
)
as
"Data Envio PC"
,
CASE
WHEN
EXISTS
(
SELECT
tspid
FROM
par
.
termossigpcpar
where
prpid
=
foo
.
prpid
)
THEN
'SIGPC'
WHEN
(
SELECT
d
.
esdid
FROM
par
.
documentoparprestacaodecontas
pc
--INNER JOIN par.comprovanteprestacaocontas cpc ON cpc.prpid = pc.prpid
INNER
JOIN
workflow
.
documento
d
ON
pc
.
docid
=
d
.
docid
WHERE
pc
.
prpid
=
foo
.
prpid
)
<>
2005
THEN
'Enviada'
WHEN
(
SELECT
count
(
1
)
FROM
par
.
termocomposicao
tc
INNER
JOIN
par
.
subacaodetalhe
sd
ON
sd
.
sbdid
=
tc
.
sbdid
INNER
JOIN
par
.
subacao
s
ON
s
.
sbaid
=
sd
.
sbaid
AND
s
.
sbastatus
=
'A'
where
dopid
=
id
and
EXISTS
(
SELECT
1
FROM
par
.
programaformacao
pf
WHERE
pf
.
prgid
=
s
.
prgid
AND
pf
.
frmstatus
=
'A'
))
>
0
THEN
'Não Enviada'
/* FIM Formação*/
ELSE
CASE
WHEN
coalesce
(
valorpagamento
,
0
)
<=
0
THEN
cast
(
estado_documentopc
as
text
)
WHEN
vigencia_termo_pc
>
'2018-07-02'
THEN
CASE
WHEN
(
vigencia_termo_pc
+
'60 day'
::
INTERVAL
)
::
DATE
-
current_date
<
0
THEN
CASE
WHEN
id_opc
=
2298
THEN
cast
(
estado_documentopc
as
text
)
||
' - '
||
cast
(
estado_opc
as
text
)
ELSE
cast
(
estado_documentopc
as
text
)
END
ELSE
CASE
WHEN
(
vigencia_termo_pc
+
'60 day'
::
INTERVAL
)
::
DATE
-
current_date
<
60
THEN
'Restam '
||
cast
(
((
vigencia_termo_pc
+
'60 day'
::
INTERVAL
)::
DATE
-
current_date
)
AS
TEXT
)
||
' dias para envio da PC'
ELSE
cast
(
estado_documentopc
as
text
)
END
END
ELSE
CASE
WHEN
date
'2018-07-02'
+
INTEGER
'60'
-
current_date
<
0
THEN
CASE
WHEN
id_opc
=
2298
THEN
cast
(
estado_documentopc
as
text
)
||
' - '
||
cast
(
estado_opc
as
text
)
ELSE
cast
(
estado_documentopc
as
text
)
END
ELSE
CASE
WHEN
date
'2018-07-02'
+
INTEGER
'60'
-
current_date
<
60
THEN
'Restam '
||
cast
(
(
date
'2018-07-02'
+
INTEGER
'60'
-
current_date
)
AS
TEXT
)
||
' dias para envio da PC'
ELSE
cast
(
estado_documentopc
as
text
)
END
END
END
END
as
"Situação Envio PC"
,
foopc
.
fasepc
as
"Fase Análise PC"
,
(
case
when
foopc
.
valorrepassado
>
0
then
foopc
.
situacaopc
else
'Sem valor a comprovar'
end
)
as
"Situação Análise PC"
,
foopc
.
paracercacs
as
"Conclusão PC"
,
COALESCE
(
REPLACE
(
par
.
retornasaldoprocesso
(
prpnumeroprocesso
),
'.'
,
','
),
'0,00'
)
as
"Saldo CC"
FROM
(
SELECT
dp
.
dopid
as
id
,
dp
.
prpid
,
dp
.
dopstatus
,
d
.
tpdcod
as
tipo_doc
,
(
SELECT
to_char
(
vigencia
,
'MM/YYYY'
)
AS
vigencia
FROM
(
SELECT
TO_date
(
dopdatafimvigencia
,
'MM/YYYY'
)
as
vigencia
,
CASE
WHEN
(
dpv
.
dpvid
IS
NOT
NULL
AND
d
.
dopstatus
=
'A'
)
THEN
0
WHEN
(
dpv
.
dpvid
IS
NULL
AND
d
.
dopstatus
=
'A'
AND
d
.
mdoid
IN
(
69
,
82
,
81
,
41
,
80
,
68
,
42
,
67
,
65
,
76
,
79
,
74
,
44
,
78
,
56
,
62
,
52
,
71
,
66
,
73
,
75
,
77
))
THEN
1
WHEN
(
dpv
.
dpvid
IS
NULL
AND
d
.
dopstatus
=
'I'
AND
d
.
mdoid
IN
(
69
,
82
,
81
,
41
,
80
,
68
,
42
,
67
,
65
,
76
,
79
,
74
,
44
,
78
,
56
,
62
,
52
,
71
,
66
,
73
,
75
,
77
))
THEN
2
WHEN
(
dpv
.
dpvid
IS
NOT
NULL
AND
d
.
dopstatus
=
'I'
)
THEN
3
ELSE
4
END
AS
prioridade
FROM
par
.
documentopar
d
LEFT
JOIN
par
.
documentoparvalidacao
dpv
ON
d
.
dopid
=
dpv
.
dopid
AND
dpv
.
dpvstatus
=
'A'
WHERE
d
.
prpid
=
pp
.
prpid
AND
d
.
dopstatus
IN
(
'A'
,
'I'
)
AND
dopdatafimvigencia
IS
NOT
NULL
ORDER
BY
d
.
dopid
DESC
,
prioridade
)
AS
foo
LIMIT
1
)
as
data_vigencia
,
mdonome
as
tipodocumento
,
iu
.
muncod
as
iumuncod
,
est
.
estuf
as
estestuf
,
mun
.
estuf
as
munestuf
,
mun
.
mundescricao
as
munmundescricao
,
dp
.
dopnumerodocumento
as
doc
,
pp
.
prpnumeroprocesso
,
(
SELECT
count
(
dopid
)
FROM
par
.
documentoparvalidacao
WHERE
dopid
=
dp
.
dopid
AND
dpvstatus
=
'A'
)
as
contagem
,
(
select
sum
(
vrlempenhocancelado
)
from
par
.
v_vrlempenhocancelado
where
processo
=
pp
.
prpnumeroprocesso
)
as
valorempenho
,
pm
.
valor_pagamento
as
valorpagamento
,
pm
.
pagstatus
as
pagsituacaopagamento
,
dp
.
dopdatafimvigencia
,
epc
.
esddsc
as
estado_documentopc
,
dopc
.
esdid
as
id_opc
,
eopc
.
esddsc
as
estado_opc
,
(
date_trunc
(
'month'
,
TO_date
(
dp
.
dopdatafimvigencia
,
'MM/YYYY'
))
+
'1 month'
-
'1 day'
::
INTERVAL
)
as
vigencia_termo_pc
FROM
par
.
documentopar
dp
INNER
JOIN
par
.
modelosdocumentos
d
ON
d
.
mdoid
=
dp
.
mdoid
INNER
JOIN
par
.
processopar
pp
ON
pp
.
prpid
=
dp
.
prpid
LEFT
JOIN
par
.
situacaoprestacaocontas
pc
ON
pp
.
prpid
=
pc
.
prpid
LEFT
JOIN
workflow
.
documento
dpc
ON
dpc
.
docid
=
pc
.
docid
LEFT
JOIN
workflow
.
estadodocumento
epc
ON
dpc
.
esdid
=
epc
.
esdid
LEFT
JOIN
par
.
situacaoopc
opc
ON
pp
.
prpid
=
opc
.
prpid
LEFT
JOIN
workflow
.
documento
dopc
ON
opc
.
docid
=
dopc
.
docid
LEFT
JOIN
workflow
.
estadodocumento
eopc
ON
dopc
.
esdid
=
eopc
.
esdid
INNER
JOIN
par
.
instrumentounidade
iu
ON
iu
.
inuid
=
pp
.
inuid
LEFT
JOIN
territorios
.
municipio
mun
on
mun
.
muncod
=
iu
.
muncod
LEFT
JOIN
territorios
.
estado
est
on
est
.
estuf
=
iu
.
estuf
INNER
JOIN
(
select
d
.
dopid
,
sum
(
vve
.
vrlempenhocancelado
)
+
sum
(
coalesce
(
emr
.
vrlreforco
,
0
))
as
valor
from
par
.
documentopar
d
inner
join
par
.
processopar
prp
on
prp
.
prpid
=
d
.
prpid
inner
join
par
.
empenho
emp
on
emp
.
empnumeroprocesso
=
prp
.
prpnumeroprocesso
and
empcodigoespecie
not
in
(
'03'
,
'13'
,
'02'
,
'04'
)
and
empstatus
=
'A'
inner
join
par
.
v_vrlempenhocancelado
vve
on
vve
.
empid
=
emp
.
empid
left
join
(
select
empnumeroprocesso
,
empidpai
,
sum
(
empvalorempenho
)
as
vrlreforco
,
empcodigoespecie
from
par
.
empenho
where
empcodigoespecie
in
(
'02'
)
and
empstatus
=
'A'
group
by
empnumeroprocesso
,
empcodigoespecie
,
empidpai
)
as
emr
on
emr
.
empidpai
=
emp
.
empid
inner
join
par
.
empenhosubacao
ems
on
ems
.
empid
=
emp
.
empid
AND
eobstatus
=
'A'
where
d
.
dopstatus
=
'A'
group
by
d
.
dopid
)
em
ON
em
.
dopid
=
dp
.
dopid
LEFT
JOIN
(
Select
em
.
empnumeroprocesso
as
empnumeroprocesso
,
pagstatus
,
sum
(
pg
.
pagvalorparcela
)
as
valor_pagamento
From
par
.
pagamento
pg
join
par
.
empenho
em
on
em
.
empid
=
pg
.
empid
and
empstatus
=
'A'
AND
pg
.
pagstatus
=
'A'
where
trim
(
pg
.
pagsituacaopagamento
)
ilike
'%EFETIVADO%'
group
by
empnumeroprocesso
,
pagstatus
)
as
pm
on
pm
.
empnumeroprocesso
=
pp
.
prpnumeroprocesso
and
pm
.
pagstatus
=
'A'
LEFT
JOIN
(
select
d
.
dopid
,
sum
(
pobvalorpagamento
)
as
valor_pagamento
from
par
.
documentopar
d
inner
join
par
.
processopar
prp
on
prp
.
prpid
=
d
.
prpid
inner
join
par
.
empenho
emp
on
emp
.
empnumeroprocesso
=
prp
.
prpnumeroprocesso
and
empcodigoespecie
not
in
(
'03'
,
'13'
,
'02'
,
'04'
)
and
empstatus
=
'A'
inner
join
par
.
pagamento
pag
on
pag
.
empid
=
emp
.
empid
AND
pag
.
pagstatus
=
'A'
AND
pag
.
pagsituacaopagamento
in
(
'8 - SOLICITAÇÃO APROVADA'
,
'SOLICITAÇÃO APROVADA'
,
'ENVIADO AO SIAFI'
,
'0 - AUTORIZADO'
,
'AUTORIZADO'
,
'Enviado ao SIGEF'
)
inner
join
par
.
pagamentosubacao
ps
on
ps
.
pagid
=
pag
.
pagid
and
pobstatus
=
'A'
where
d
.
dopstatus
=
'A'
group
by
d
.
dopid
,
pagsituacaopagamento
)
pgs
ON
pgs
.
dopid
=
dp
.
dopid
)
as
foo
--- sub ação
LEFT
JOIN
par
.
termocomposicao
tc
ON
foo
.
id
=
tc
.
dopid
LEFT
JOIN
par
.
subacaodetalhe
sd
ON
tc
.
sbdid
=
sd
.
sbdid
LEFT
JOIN
par
.
processoparcomposicao
ppc
ON
ppc
.
sbdid
=
sd
.
sbdid
LEFT
join
par
.
subacao
sub
ON
sd
.
sbaid
=
sub
.
sbaid
---
left
join
(
select
prpid
,
prpnumeroprocesso
as
processo
,
substr
(
prpnumeroprocesso
,
12
,
4
)
AS
ano
,
doc
as
termo
,
tipodocumento
,
iniciovigencia
,
((
date_trunc
(
'MONTH'
,
TO_date
(
data_vigencia
,
'MM/YYYY'
))
+
INTERVAL
'1 MONTH - 1 day'
)
::
DATE
)
as
fimvigencia
,
valorpagamento
as
valorrepassado
,
cpcdtenvio
::
DATE
as
enviopc
,
fasepc
,
situacaopc
,
muncod
,
estuf
,
paracercacs
,
iuesituacaohabilita
,
foobar
.
id
as
ddopid
FROM
(
SELECT
dp
.
dopid
as
id
,
dp
.
prpid
,
dp
.
dopstatus
,
d
.
tpdcod
as
tipo_doc
,
(
SELECT
to_char
(
vigencia
,
'MM/YYYY'
)
AS
vigencia
FROM
(
SELECT
TO_date
(
dopdatafimvigencia
,
'MM/YYYY'
)
as
vigencia
,
CASE
WHEN
(
dpv
.
dpvid
IS
NOT
NULL
AND
d
.
dopstatus
=
'A'
)
THEN
0
WHEN
(
dpv
.
dpvid
IS
NULL
AND
d
.
dopstatus
=
'A'
AND
d
.
mdoid
IN
(
69
,
82
,
81
,
41
,
80
,
68
,
42
,
67
,
65
,
76
,
79
,
74
,
44
,
78
,
56
,
62
,
52
,
71
,
66
,
73
,
75
,
77
))
THEN
1
WHEN
(
dpv
.
dpvid
IS
NULL
AND
d
.
dopstatus
=
'I'
AND
d
.
mdoid
IN
(
69
,
82
,
81
,
41
,
80
,
68
,
42
,
67
,
65
,
76
,
79
,
74
,
44
,
78
,
56
,
62
,
52
,
71
,
66
,
73
,
75
,
77
))
THEN
2
WHEN
(
dpv
.
dpvid
IS
NOT
NULL
AND
d
.
dopstatus
=
'I'
)
THEN
3
ELSE
4
END
AS
prioridade
FROM
par
.
documentopar
d
LEFT
JOIN
par
.
documentoparvalidacao
dpv
ON
d
.
dopid
=
dpv
.
dopid
AND
dpv
.
dpvstatus
=
'A'
WHERE
d
.
prpid
=
pp
.
prpid
AND
d
.
dopstatus
IN
(
'A'
,
'I'
)
ORDER
BY
d
.
dopid
DESC
,
prioridade
)
AS
foo
LIMIT
1
)
as
data_vigencia
,
mdonome
as
tipodocumento
,
dp
.
dopnumerodocumento
as
doc
,
pp
.
prpnumeroprocesso
,
pm
.
valor_pagamento
as
valorpagamento
,
dp
.
dopdatafimvigencia
,
cpc
.
cpcdtenvio
,
((
date_trunc
(
'MONTH'
,
TO_date
(
dp
.
dopdatainiciovigencia
,
'MM/YYYY'
)))
::
DATE
)
as
iniciovigencia
,
fed
.
esddsc
as
fasepc
,
sed
.
esddsc
as
situacaopc
,
iu
.
muncod
,
iu
.
estuf
,
CASE
WHEN
tpc
.
tipid
NOTNULL
THEN
tpc
.
tipdescricao
ELSE
'-'
END
paracercacs
,
iue
.
iuesituacaohabilita
as
iuesituacaohabilita
FROM
par
.
documentopar
dp
LEFT
JOIN
par
.
declaracaoinformacoesfinanceiras
dif
ON
dp
.
prpid
=
dif
.
prpid
AND
dif
.
difstatus
=
'A'
LEFT
JOIN
par
.
comprovanteprestacaocontas
cpc
ON
dp
.
prpid
=
cpc
.
prpid
AND
cpc
.
cpcstatus
=
'A'
INNER
JOIN
par
.
modelosdocumentos
d
ON
d
.
mdoid
=
dp
.
mdoid
INNER
JOIN
par
.
processopar
pp
ON
pp
.
prpid
=
dp
.
prpid
INNER
JOIN
par
.
documentoparprestacaodecontas
dpc
ON
dpc
.
prpid
=
pp
.
prpid
LEFT
JOIN
par
.
parecercacspc
pc
ON
dpc
.
dppid
=
pc
.
dppid
LEFT
JOIN
par
.
tipoparecerpc
tpc
ON
pc
.
tipid
=
tpc
.
tipid
INNER
JOIN
workflow
.
documento
df
ON
df
.
docid
=
dpc
.
docid
INNER
JOIN
workflow
.
estadodocumento
fed
ON
df
.
esdid
=
fed
.
esdid
INNER
JOIN
par
.
situacaoprestacaocontas
spc
ON
spc
.
prpid
=
pp
.
prpid
INNER
JOIN
workflow
.
documento
dspc
ON
dspc
.
docid
=
spc
.
docid
INNER
JOIN
workflow
.
estadodocumento
sed
ON
dspc
.
esdid
=
sed
.
esdid
INNER
JOIN
par
.
instrumentounidade
iu
ON
iu
.
inuid
=
pp
.
inuid
LEFT
JOIN
par
.
instrumentounidadeentidade
iue
ON
iue
.
inuid
=
pp
.
inuid
and
iue
.
iuestatus
=
'A'
and
iue
.
iuedefault
=
true
LEFT
JOIN
(
Select
em
.
empnumeroprocesso
as
empnumeroprocesso
,
pagstatus
,
sum
(
pg
.
pagvalorparcela
)
as
valor_pagamento
From
par
.
pagamento
pg
join
par
.
empenho
em
on
em
.
empid
=
pg
.
empid
and
empstatus
=
'A'
AND
pg
.
pagstatus
=
'A'
where
trim
(
pg
.
pagsituacaopagamento
)
ilike
'%EFETIVADO%'
group
by
empnumeroprocesso
,
pagstatus
)
as
pm
on
pm
.
empnumeroprocesso
=
pp
.
prpnumeroprocesso
and
pm
.
pagstatus
=
'A'
)
as
foobar
where
dopstatus
=
'A'
AND
id
IS
NOT
NULL
AND
tipo_doc
in
(
102
,
21
,
16
)
)
as
foopc
on
foopc
.
ddopid
=
foo
.
id
where
dopstatus
=
'A'
--AND iuinuid = 2561
AND
id
IS
NOT
NULL
--@todo confirmar com thiago
AND
tipo_doc
in
(
102
,
21
,
16
,
105
)
--and foo.prpnumeroprocesso = '23400004847201460'
--and iumuncod = 'CE'
--limit 100;
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment