From d8003cd1152ffa7864bc146d556390467e93e9b6 Mon Sep 17 00:00:00 2001 From: Lucas Schmoeller da Silva Date: Wed, 18 Mar 2015 17:07:40 -0300 Subject: [PATCH] Criada função para calculo de data prevista para entrega de exemplar --- ieducar/misc/database/deltas/portabilis/69_cria_function_calcular_data_prevista_emprestimo.sql | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+), 0 deletions(-) create mode 100644 ieducar/misc/database/deltas/portabilis/69_cria_function_calcular_data_prevista_emprestimo.sql diff --git a/ieducar/misc/database/deltas/portabilis/69_cria_function_calcular_data_prevista_emprestimo.sql b/ieducar/misc/database/deltas/portabilis/69_cria_function_calcular_data_prevista_emprestimo.sql new file mode 100644 index 0000000..4a0f759 --- /dev/null +++ b/ieducar/misc/database/deltas/portabilis/69_cria_function_calcular_data_prevista_emprestimo.sql @@ -0,0 +1,34 @@ +-- // + + -- + -- Cria function para calcular a data prevista de um empréstimo + -- + -- @author Lucas Schmoeller da Silva + -- @license @@license@@ + -- @version $Id$ + + CREATE OR REPLACE FUNCTION modules.preve_data_emprestimo(biblioteca_id integer, data_prevista date) + RETURNS date AS + $BODY$ + DECLARE + begin + + IF (( select 1 from pmieducar.biblioteca_dia WHERE ref_cod_biblioteca = biblioteca_id AND dia = ((SELECT EXTRACT(DOW FROM data_prevista))+1) limit 1) IS NOT null) THEN + IF ((SELECT 1 FROM pmieducar.biblioteca_feriados WHERE ref_cod_biblioteca = biblioteca_id and data_feriado = data_prevista) IS NULL) THEN + RETURN data_prevista; + ELSE + RETURN modules.preve_data_emprestimo(biblioteca_id, data_prevista+1); + END IF; + ELSE + RETURN modules.preve_data_emprestimo(biblioteca_id, data_prevista+1); + END IF; + + end;$BODY$ + LANGUAGE 'plpgsql' VOLATILE; + + + -- //@UNDO + + DROP FUNCTION modules.preve_data_emprestimo(integer,date); + + -- // \ No newline at end of file -- libgit2 0.21.2