From 20ef3b4da517b394c44ec2cbbb808899d6ff65c7 Mon Sep 17 00:00:00 2001 From: RONALDO RODRIGUES DE OLIVEIRA Date: Thu, 11 Sep 2025 10:17:00 -0300 Subject: [PATCH] Função que lista responsável conforme prazos de mandato e vigência. --- declaracao_omissao/Estados_Distrito_Federal_add/2-function_par.get_responsaveis_termo_190825.sql | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 declaracao_omissao/Estados_Distrito_Federal_add/2-function_par.get_responsaveis_termo_190825.sql diff --git a/declaracao_omissao/Estados_Distrito_Federal_add/2-function_par.get_responsaveis_termo_190825.sql b/declaracao_omissao/Estados_Distrito_Federal_add/2-function_par.get_responsaveis_termo_190825.sql new file mode 100644 index 0000000..97f5014 --- /dev/null +++ b/declaracao_omissao/Estados_Distrito_Federal_add/2-function_par.get_responsaveis_termo_190825.sql @@ -0,0 +1,82 @@ +-- DROP FUNCTION par.get_responsaveis_termo(integer, varchar, varchar, date, date, date, varchar); + +CREATE OR REPLACE FUNCTION par.get_responsaveis_termo(i_itrid integer ,i_cnpj character varying, i_muncod character varying, i_datainiciovigencia date, i_datafimvigencia date, i_datafimpc date, i_tipoprograma character varying) + RETURNS TABLE(_rrpid integer, _cpf character varying, _nomeprefeito character varying, _dtiniciomandato date, _dtfimmandato date, _naturezainteresse character varying) + LANGUAGE plpgsql +AS $function$ + DECLARE + responsavel record; + + BEGIN + IF i_itrid = 2 THEN + FOR responsavel IN( + SELECT + distinct + rrpid, + rrpdtiniciomandato, + rrpdtfimmandato, + usucpf, + rrpnomeprefeito, + trim(par.naturezainteresse_v2( + rrpdtiniciomandato, + rrpdtfimmandato, + i_datainiciovigencia, + i_datafimvigencia, + i_tipoprograma) + ) as naturezainteresse + FROM + par.rollresponsaveisprefeitos + WHERE + muncod in(i_muncod) + and ( rrpdtfimmandato between i_datainiciovigencia and i_datafimpc or rrpdtiniciomandato between i_datainiciovigencia and i_datafimpc ) + order by rrpdtiniciomandato desc + ) + LOOP + _rrpid := responsavel.rrpid; + _cpf := responsavel.usucpf; + _nomeprefeito := responsavel.rrpnomeprefeito; + _dtiniciomandato := responsavel.rrpdtiniciomandato; + _dtfimmandato := responsavel.rrpdtfimmandato; + _naturezainteresse := responsavel.naturezainteresse; + return next; + END LOOP; + ELSE + FOR responsavel IN( + SELECT + distinct + rrsid, + rrsdtiniciomandato, + rrsdtfimmandato, + usucpf, + rrsnomesecretario, + + trim(par.naturezainteresse_v2( + rrsdtiniciomandato, + rrsdtfimmandato, + i_datainiciovigencia, + i_datafimvigencia, + i_tipoprograma) + ) as naturezainteresse + FROM + par.rollresponsaveissecretarios + WHERE + rrscnpj in(i_cnpj) + and ( rrsdtfimmandato between i_datainiciovigencia and i_datafimpc or rrsdtiniciomandato between i_datainiciovigencia and i_datafimpc ) + order by rrsdtiniciomandato desc + + ) + LOOP + _rrpid := responsavel.rrsid; + _cpf := responsavel.usucpf; + _nomeprefeito := responsavel.rrsnomesecretario; + _dtiniciomandato := responsavel.rrsdtiniciomandato; + _dtfimmandato := responsavel.rrsdtfimmandato; + _naturezainteresse := responsavel.naturezainteresse; + return next; + END LOOP; + END IF; + +END; $function$; + + + -- libgit2 0.25.0