Commit d8003cd1152ffa7864bc146d556390467e93e9b6

Authored by Lucas Schmoeller da Silva
1 parent a386d0ec
Exists in master

Criada função para calculo de data prevista para entrega de exemplar

portabilis/ieducar#116
ieducar/misc/database/deltas/portabilis/69_cria_function_calcular_data_prevista_emprestimo.sql 0 → 100644
... ... @@ -0,0 +1,34 @@
  1 +-- //
  2 +
  3 + --
  4 + -- Cria function para calcular a data prevista de um empréstimo
  5 + --
  6 + -- @author Lucas Schmoeller da Silva <lucas@portabilis.com.br>
  7 + -- @license @@license@@
  8 + -- @version $Id$
  9 +
  10 + CREATE OR REPLACE FUNCTION modules.preve_data_emprestimo(biblioteca_id integer, data_prevista date)
  11 + RETURNS date AS
  12 + $BODY$
  13 + DECLARE
  14 + begin
  15 +
  16 + 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
  17 + IF ((SELECT 1 FROM pmieducar.biblioteca_feriados WHERE ref_cod_biblioteca = biblioteca_id and data_feriado = data_prevista) IS NULL) THEN
  18 + RETURN data_prevista;
  19 + ELSE
  20 + RETURN modules.preve_data_emprestimo(biblioteca_id, data_prevista+1);
  21 + END IF;
  22 + ELSE
  23 + RETURN modules.preve_data_emprestimo(biblioteca_id, data_prevista+1);
  24 + END IF;
  25 +
  26 + end;$BODY$
  27 + LANGUAGE 'plpgsql' VOLATILE;
  28 +
  29 +
  30 + -- //@UNDO
  31 +
  32 + DROP FUNCTION modules.preve_data_emprestimo(integer,date);
  33 +
  34 + -- //
0 35 \ No newline at end of file
... ...