Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE FUNCTION esq_ceac_planclase.f_horas_imparticion(p_idperiodo integer, p_idpersonal bigint)
- RETURNS integer AS
- $BODY$
- DECLARE
- t_horas integer; t_sum integer; r_numero_horas integer;
- BEGIN
- /*horas cátedras materias*/
- SELECT sum(mc.horas) into t_horas
- FROM esq_distributivos.distribucion_academica d
- inner join esq_distributivos.materia_unica_configuracion mc on mc.id_materia_unica = d.idmateria_unica
- WHERE d.habilitado::text = 'S'::text AND d.cupo > 0 and mc.id_periodo_academico = p_idperiodo
- AND d.idpersonal = p_idpersonal
- and mc.es_compartida <> 'S'
- AND (d.iddepartamento_periodo IN (SELECT p.id_departamento_periodo FROM esq_distributivos.departamento_periodo p WHERE p.idperiodo in(p_idperiodo)));
- /*horas cátedras materias compartidas*/
- SELECT sum(c.numero_horas) into t_sum
- FROM esq_distributivos.distribucion_academica_compartida dc
- JOIN esq_distributivos.materia_unica_compartida_configuracion c ON c.idconfiguracion = dc.idconfiguracion
- JOIN esq_distributivos.distribucion_academica da1 ON da1.iddistributivo = dc.iddistributivo
- WHERE dc.habilitado::text = 'S'::text
- AND dc.idpersonal =p_idpersonal
- AND (da1.iddepartamento_periodo IN (SELECT p.id_departamento_periodo FROM esq_distributivos.departamento_periodo p WHERE p.idperiodo = p_idperiodo));
- t_horas := coalesce(t_horas, 0);
- t_sum := COALESCE(t_sum, 0);
- r_numero_horas := t_horas + t_sum ;
- return r_numero_horas;
- END;
- $BODY$
- LANGUAGE plpgsql VOLATILE
- COST 100;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement