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
ea80b19f
authored
Apr 22, 2025
by
RONALDO RODRIGUES DE OLIVEIRA
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Function responsaveis da declaração de omissao
parent
a4243ceb
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
159 additions
and
0 deletions
declaracao_omissao/2-function-par_get_responsaveis_termo.sql
declaracao_omissao/2-function-par_get_responsaveis_termo.sql
0 → 100644
View file @
ea80b19f
-- drop function if exists par.get_responsaveis_termo_par(varchar, varchar, integer, integer, date, date, varchar)
create
or
replace
function
par
.
get_responsaveis_termo_par
(
i_muncod
varchar
,
i_processo
varchar
,
i_prpid
integer
,
i_dopid
integer
,
i_datainiciovigencia
date
,
i_datafimvigencia
date
,
i_tipoprograma
varchar
(
45
)
)
returns
table
(
_rrpid
int
,
_cpf
varchar
,
_nomeprefeito
varchar
,
_dtiniciomandato
date
,
_dtfimmandato
date
,
_naturezainteresse
varchar
)
language
plpgsql
as
$$
declare
responsavel
record
;
tem_ex_dirigente
boolean
:
=
FALSE
;
ref_mandat_anter_inicio
date
;
ref_mandat_anter_fim
date
;
BEGIN
with
prefeitos
as
(
select
rrpid
,
usucpf
,
rrpnomeprefeito
,
rrpdtiniciomandato
,
rrpdtfimmandato
,
trim
(
par
.
naturezainteresse_v2
(
rrpdtiniciomandato
,
rrpdtfimmandato
,
i_datainiciovigencia
,
i_datafimvigencia
,
i_tipoprograma
))
as
naturezainteresse
from
par
.
rollresponsaveisprefeitos
where
muncod
in
(
i_muncod
)
)
select
(
rrpdtiniciomandato
-
31
),
(
rrpdtiniciomandato
-
1
)
into
ref_mandat_anter_inicio
,
ref_mandat_anter_fim
from
prefeitos
where
trim
(
naturezainteresse
)
IN
(
'Atual Gestor'
,
'Atual Gestor /Responsável /Corresponsável'
,
'Atual Gestor /Corresponsável'
);
for
responsavel
in
(
with
prefeitos
as
(
select
rrpid
,
usucpf
,
rrpnomeprefeito
,
rrpdtiniciomandato
,
rrpdtfimmandato
,
trim
(
par
.
naturezainteresse_v2
(
rrpdtiniciomandato
,
rrpdtfimmandato
,
i_datainiciovigencia
,
i_datafimvigencia
,
i_tipoprograma
))
as
naturezainteresse
from
par
.
rollresponsaveisprefeitos
where
muncod
in
(
i_muncod
)
)
select
distinct
rrpid
,
usucpf
,
rrpnomeprefeito
,
rrpdtiniciomandato
,
rrpdtfimmandato
,
naturezainteresse
from
prefeitos
where
trim
(
naturezainteresse
)
IN
(
'Ex-dirigente'
)
and
rrpdtfimmandato
between
ref_mandat_anter_inicio
and
ref_mandat_anter_fim
order
by
rrpdtiniciomandato
asc
)
loop
if
trim
(
responsavel
.
naturezainteresse
)
=
'Ex-dirigente'
then
if
exists
(
select
usucpf
from
par
.
get_gestor_ciencia_par
(
responsavel
.
usucpf
,
i_processo
,
i_dopid
,
i_prpid
)
)
then
_rrpid
:
=
responsavel
.
rrpid
;
_cpf
:
=
responsavel
.
usucpf
;
_nomeprefeito
:
=
responsavel
.
rrpnomeprefeito
;
_dtiniciomandato
:
=
responsavel
.
rrpdtiniciomandato
;
_dtfimmandato
:
=
responsavel
.
rrpdtfimmandato
;
_naturezainteresse
:
=
'Responsável'
;
tem_ex_dirigente
=
TRUE
;
return
next
;
end
if
;
end
if
;
end
loop
;
for
responsavel
in
(
with
prefeitos
as
(
select
rrpid
,
usucpf
,
rrpnomeprefeito
,
rrpdtiniciomandato
,
rrpdtfimmandato
,
trim
(
par
.
naturezainteresse_v2
(
rrpdtiniciomandato
,
rrpdtfimmandato
,
i_datainiciovigencia
,
i_datafimvigencia
,
i_tipoprograma
))
as
naturezainteresse
from
par
.
rollresponsaveisprefeitos
where
muncod
in
(
i_muncod
)
)
select
distinct
rrpid
,
usucpf
,
rrpnomeprefeito
,
rrpdtiniciomandato
,
rrpdtfimmandato
,
naturezainteresse
from
prefeitos
where
trim
(
naturezainteresse
)
NOT
IN
(
'Ex-dirigente'
)
order
by
rrpdtiniciomandato
asc
)
loop
if
tem_ex_dirigente
and
(
trim
(
responsavel
.
naturezainteresse
)
=
'Atual Gestor'
)
or
(
trim
(
responsavel
.
naturezainteresse
)
=
'Atual Gestor /Responsável /Corresponsável'
)
or
(
trim
(
responsavel
.
naturezainteresse
)
=
'Atual Gestor /Corresponsável'
)
then
if
tem_ex_dirigente
and
exists
(
select
usucpf
from
par
.
get_gestor_ciencia_par
(
responsavel
.
usucpf
,
i_processo
,
i_dopid
,
i_prpid
)
)
then
_rrpid
:
=
responsavel
.
rrpid
;
_cpf
:
=
responsavel
.
usucpf
;
_nomeprefeito
:
=
responsavel
.
rrpnomeprefeito
;
_dtiniciomandato
:
=
responsavel
.
rrpdtiniciomandato
;
_dtfimmandato
:
=
responsavel
.
rrpdtfimmandato
;
_naturezainteresse
:
=
trim
(
responsavel
.
naturezainteresse
);
return
next
;
end
if
;
else
_rrpid
:
=
responsavel
.
rrpid
;
_cpf
:
=
responsavel
.
usucpf
;
_nomeprefeito
:
=
responsavel
.
rrpnomeprefeito
;
_dtiniciomandato
:
=
responsavel
.
rrpdtiniciomandato
;
_dtfimmandato
:
=
responsavel
.
rrpdtfimmandato
;
_naturezainteresse
:
=
trim
(
responsavel
.
naturezainteresse
);
return
next
;
end
if
;
end
loop
;
end
;
$$
\ 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