diff --git a/PLpgSQLFunction-etiqNaturezaInteresse-REQ000000329189.sql b/PLpgSQLFunction-etiqNaturezaInteresse-REQ000000329189.sql index 9d33f3f..3418656 100644 --- a/PLpgSQLFunction-etiqNaturezaInteresse-REQ000000329189.sql +++ b/PLpgSQLFunction-etiqNaturezaInteresse-REQ000000329189.sql @@ -1,5 +1,4 @@ - 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 - <> - 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) -)