Advertisement
jzgeorge

esq_ceac_planclase.v_docentes_departamento_periodo

Oct 16th, 2018
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE OR REPLACE VIEW esq_ceac_planclase.v_docentes_departamento_periodo AS
  2.  SELECT DISTINCT distribucion_academica.idpersonal,
  3.     ( SELECT departamento_docente.iddepartamento
  4.            FROM esq_distributivos.departamento_docente
  5.           WHERE departamento_docente.idpersonal = distribucion_academica.idpersonal) AS iddepartamento,
  6.     departamento_periodo.idperiodo,
  7.     concat(personal.apellido1, ' ', personal.apellido2, ' ', personal.nombres) AS nombre_docente,
  8.     personal.cedula,
  9.     personal.correo_personal_institucional,
  10.     categoria_tipo.idcategoria,
  11.     categoria_tipo.nombre AS categoria,
  12.     dedicacion_tipo.iddedicacion,
  13.     dedicacion_tipo.nombre AS dedicacion,
  14.     modalidad_laboral.idmodadalidad_laboral,
  15.     modalidad_laboral.nombre AS modalidadlaboral,
  16.     personal.genero,
  17.     ( SELECT departamento_1.idfacultad
  18.            FROM esq_distributivos.departamento departamento_1
  19.              JOIN esq_distributivos.departamento_docente ON departamento_1.iddepartamento = departamento_docente.iddepartamento
  20.           WHERE departamento_docente.idpersonal = distribucion_academica.idpersonal) AS idfacultad,
  21.     (distribucion_academica.idpersonal::text || departamento_periodo.idperiodo::text)::numeric AS idregistro
  22.    FROM esq_distributivos.distribucion_academica
  23.      JOIN esq_distributivos.departamento_periodo ON distribucion_academica.iddepartamento_periodo = departamento_periodo.id_departamento_periodo
  24.      JOIN esq_datos_personales.personal ON distribucion_academica.idpersonal = personal.idpersonal
  25.      JOIN esq_distributivos.categoria_tipo ON categoria_tipo.idcategoria = esq_distributivos.f_obtiene_dedicacion_categoria_modalidad_laboral(distribucion_academica.idpersonal, departamento_periodo.idperiodo, 2)
  26.      JOIN esq_distributivos.dedicacion_tipo ON dedicacion_tipo.iddedicacion = esq_distributivos.f_obtiene_dedicacion_categoria_modalidad_laboral(distribucion_academica.idpersonal, departamento_periodo.idperiodo, 1)
  27.      JOIN esq_distributivos.modalidad_laboral ON modalidad_laboral.idmodadalidad_laboral = esq_distributivos.f_obtiene_dedicacion_categoria_modalidad_laboral(distribucion_academica.idpersonal, departamento_periodo.idperiodo, 3)
  28.      JOIN esq_distributivos.departamento ON departamento.iddepartamento = departamento_periodo.iddepartamento
  29.   WHERE departamento_periodo.iddepartamento <> (-1) AND distribucion_academica.idpersonal > 0
  30. UNION
  31.  SELECT DISTINCT da1.idpersonal,
  32.     ( SELECT departamento_docente.iddepartamento
  33.            FROM esq_distributivos.departamento_docente
  34.           WHERE departamento_docente.idpersonal = da1.idpersonal) AS iddepartamento,
  35.     dp.idperiodo,
  36.     concat(personal.apellido1, ' ', personal.apellido2, ' ', personal.nombres) AS nombre_docente,
  37.     personal.cedula,
  38.     personal.correo_personal_institucional,
  39.     categoria_tipo.idcategoria,
  40.     categoria_tipo.nombre AS categoria,
  41.     dedicacion_tipo.iddedicacion,
  42.     dedicacion_tipo.nombre AS dedicacion,
  43.     modalidad_laboral.idmodadalidad_laboral,
  44.     modalidad_laboral.nombre AS modalidadlaboral,
  45.     personal.genero,
  46.     ( SELECT departamento_1.idfacultad
  47.            FROM esq_distributivos.departamento departamento_1
  48.              JOIN esq_distributivos.departamento_docente ON departamento_1.iddepartamento = departamento_docente.iddepartamento
  49.           WHERE departamento_docente.idpersonal = da1.idpersonal) AS idfacultad,
  50.     (da1.idpersonal::text || dp.idperiodo::text)::numeric AS idregistro
  51.    FROM esq_distributivos.distribucion_academica dac
  52.      JOIN esq_distributivos.distribucion_academica_compartida da1 ON da1.iddistributivo = dac.iddistributivo
  53.      JOIN esq_distributivos.departamento_docente dc ON dc.idpersonal = da1.idpersonal
  54.      JOIN esq_distributivos.departamento_periodo dp ON dp.id_departamento_periodo = dac.iddepartamento_periodo
  55.      JOIN esq_datos_personales.personal ON da1.idpersonal = personal.idpersonal
  56.      JOIN esq_distributivos.categoria_tipo ON categoria_tipo.idcategoria = esq_distributivos.f_obtiene_dedicacion_categoria_modalidad_laboral(da1.idpersonal, dp.idperiodo, 2)
  57.      JOIN esq_distributivos.dedicacion_tipo ON dedicacion_tipo.iddedicacion = esq_distributivos.f_obtiene_dedicacion_categoria_modalidad_laboral(da1.idpersonal, dp.idperiodo, 1)
  58.      JOIN esq_distributivos.modalidad_laboral ON modalidad_laboral.idmodadalidad_laboral = esq_distributivos.f_obtiene_dedicacion_categoria_modalidad_laboral(da1.idpersonal, dp.idperiodo, 3)
  59.   WHERE dp.iddepartamento <> (-1) AND da1.idpersonal > 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement