Advertisement
jzgeorge

f_horas_imparticion

Oct 24th, 2018
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE OR REPLACE FUNCTION esq_ceac_planclase.f_horas_imparticion(p_idperiodo integer, p_idpersonal bigint)
  2.   RETURNS integer AS
  3. $BODY$
  4. DECLARE
  5.  t_horas integer; t_sum integer; r_numero_horas integer;
  6. BEGIN
  7.  
  8.     /*horas cátedras materias*/
  9.         SELECT sum(mc.horas) into t_horas
  10.         FROM esq_distributivos.distribucion_academica d
  11.             inner join esq_distributivos.materia_unica_configuracion mc on mc.id_materia_unica = d.idmateria_unica
  12.         WHERE d.habilitado::text = 'S'::text AND d.cupo > 0 and mc.id_periodo_academico = p_idperiodo
  13.               AND d.idpersonal = p_idpersonal
  14.               and mc.es_compartida <> 'S'
  15.               AND (d.iddepartamento_periodo IN (SELECT p.id_departamento_periodo FROM esq_distributivos.departamento_periodo p WHERE p.idperiodo in(p_idperiodo)));
  16.         /*horas cátedras materias compartidas*/          
  17.         SELECT sum(c.numero_horas) into t_sum
  18.         FROM esq_distributivos.distribucion_academica_compartida dc
  19.              JOIN esq_distributivos.materia_unica_compartida_configuracion c ON c.idconfiguracion = dc.idconfiguracion
  20.              JOIN esq_distributivos.distribucion_academica da1 ON da1.iddistributivo = dc.iddistributivo
  21.         WHERE dc.habilitado::text = 'S'::text
  22.             AND dc.idpersonal =p_idpersonal
  23.             AND (da1.iddepartamento_periodo IN (SELECT p.id_departamento_periodo FROM esq_distributivos.departamento_periodo p WHERE p.idperiodo = p_idperiodo));
  24.         t_horas := coalesce(t_horas, 0);
  25.         t_sum   := COALESCE(t_sum, 0);
  26.         r_numero_horas := t_horas + t_sum ;
  27.        
  28.            return r_numero_horas;
  29. END;
  30. $BODY$
  31.   LANGUAGE plpgsql VOLATILE
  32.   COST 100;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement