diff --git a/PLpgSQLFunction-etiqNaturezaInteresse-REQ000000329189.sql b/PLpgSQLFunction-etiqNaturezaInteresse-REQ000000329189.sql index d50f2d6..525156c 100644 --- a/PLpgSQLFunction-etiqNaturezaInteresse-REQ000000329189.sql +++ b/PLpgSQLFunction-etiqNaturezaInteresse-REQ000000329189.sql @@ -14,11 +14,34 @@ DECLARE natureza TEXT; data_final_pc date; data_corte date; + msg_err TEXT := 'ERRO: Falta(m) parametro(s) '; + count_err int := 0; BEGIN + + IF iniciomandato IS NULL THEN + msg_err := concat(msg_err,' inicio_mandato '); + count_err := count_err + 1; + END IF; + + IF iniciovigencia IS NULL THEN + msg_err := concat(msg_err,' inicio_vigencia '); + count_err := count_err + 1; + END IF; + + IF fimvigencia IS NULL THEN + msg_err := concat(msg_err,' fim_vigencia '); + count_err := count_err + 1; + END IF; + + + IF programa = 'AUSENTE' THEN + msg_err := concat(msg_err,' programa '); + count_err := count_err + 1; + END IF; - IF programa = 'AUSENTE' THEN - RETURN 'ERRO - Falta paramentro-programa'; + IF count_err > 0 THEN + RETURN msg_err::text; EXIT; END IF; @@ -101,9 +124,21 @@ drop FUNCTION par.naturezainteresse_v2( select * from par.naturezainteresse_v2('2017-01-01', '2023-11-07', '2018-05-15', '2019-05-15','par3'); + +select * from par.naturezainteresse_v2(null, '2023-11-07', '2018-05-15', '2019-05-15','par3'); + + +select * from par.naturezainteresse_v2('2017-01-01', '2023-11-07', null, '2019-05-15','par3'); + + +select * from par.naturezainteresse_v2('2017-01-01', '2023-11-07', '2018-05-15', null,'par3'); + +select * from par.naturezainteresse_v2(null, '2023-11-07', null, null,'par3'); + + select * from par.naturezainteresse_v2('2017-01-01', '2023-11-07', '2018-05-15', '2019-05-15'); -select * from par.naturezainteresse_v2('2023-11-08',null, '2018-05-15', '2019-05-15','par3'); +select * from par.naturezainteresse_v3('2023-11-08',null, '2018-05-15', '2019-05-15','par3'); select * from par.naturezainteresse_v2('2023-11-08',null, '2018-05-15', '2019-05-15');