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
5e65c2ef
authored
Jan 23, 2025
by
RONALDO RODRIGUES DE OLIVEIRA
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update PLpgSQLFunction-etiqNaturezaInteresse-REQ000000329189.sql
Duplicação
parent
d0cf956e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
0 additions
and
91 deletions
PLpgSQLFunction-etiqNaturezaInteresse-REQ000000329189.sql
PLpgSQLFunction-etiqNaturezaInteresse-REQ000000329189.sql
View file @
5e65c2ef
CREATE
OR
REPLACE
FUNCTION
par
.
naturezainteresse
(
iniciomandato
date
,
fimmandato
date
,
...
...
@@ -90,93 +89,3 @@ drop FUNCTION par.naturezainteresse(
programa varchar(10)
)
CREATE OR REPLACE FUNCTION par.naturezainteresse(
iniciomandato date,
fimmandato date,
iniciovigencia date,
fimvigencia date,
programa varchar(10) default 'par'
)
RETURNS text
AS $$
DECLARE
natureza TEXT;
data_final_pc date;
data_corte date;
BEGIN
SELECT
case programa
when 'pac' then (dpcdatainiciocontagem2 + interval '60 day')::date
when 'par3' then (dpcdatainiciocontagem3 + interval '60 day')::date
else
(dpcdatainiciocontagem1 + interval '60 day')::date
end into data_corte
FROM par.datasprestacaocontas WHERE dpcid = '1';
IF fimvigencia < data_corte THEN
data_final_pc := data_corte + 60;
ELSE
data_final_pc := fimvigencia + 60;
END IF;
IF fimmandato IS NULL THEN
natureza := 'Atual Gestor /';
IF ((iniciomandato >= iniciovigencia) AND (iniciomandato <= fimvigencia)) THEN
natureza := concat(natureza,'Responsável /');
ELSEIF iniciovigencia >= iniciomandato THEN
natureza := concat(natureza,'Responsável /');
END IF;
IF data_final_pc >= iniciomandato THEN
natureza := concat(natureza,'Corresponsável /');
END IF;
ELSE
<<bloco_resp>>
BEGIN
IF iniciomandato >= iniciovigencia AND iniciomandato <= fimvigencia THEN
natureza := concat(natureza,' Responsável /');
exit bloco_resp;
ELSEIF fimmandato >= iniciovigencia AND fimmandato <= fimvigencia THEN
natureza := concat(natureza, 'Responsável /');
exit bloco_resp;
ELSEIF iniciovigencia >= iniciomandato AND iniciovigencia <= fimmandato THEN
natureza := concat(natureza, 'Responsável /');
exit bloco_resp;
ELSEIF fimvigencia >= iniciomandato AND fimvigencia <= fimmandato THEN
natureza := concat(natureza, 'Responsável /');
exit bloco_resp;
END IF;
END;
IF data_final_pc >= iniciomandato AND data_final_pc <= fimmandato THEN
natureza := concat(natureza, 'Corresponsável /');
END IF;
END IF;
natureza := substring(natureza, 1, length(natureza)-2);
IF natureza IS NULL THEN
natureza := concat(natureza, 'Ex-dirigente');
END IF;
RETURN natureza::text;
END;
$$ language PLPGSQL;
/*
* Excluir objeto
*/
/*
drop FUNCTION par.naturezainteresse(
iniciomandato date,
fimmandato date,
iniciovigencia date,
fimvigencia date,
programa varchar(10)
)
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