Advertisement
jzgeorge

v_plan_clase_departamentos

Sep 22nd, 2018
299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- View: esq_ceac_planclase.v_plan_clase_departamentos
  2.  
  3. -- DROP VIEW esq_ceac_planclase.v_plan_clase_departamentos;
  4.  
  5. CREATE OR REPLACE VIEW esq_ceac_planclase.v_plan_clase_departamentos AS
  6.  SELECT DISTINCT dp.idperiodo,
  7.     pa.nombre AS nperiodo,
  8.     da.idparalelo,
  9.     p.nombre AS paralelo,
  10.     mu.iddepartamento,
  11.     mu.idmateria_unica,
  12.     translate(mu.nombre::text, 'áéíóúÁÉÍÓÚäëïöüÄËÏÖÜ'::text, 'aeiouAEIOUaeiouAEIOU'::text) AS nmateria_unica,
  13.     d.nombre AS ndepartamento,
  14.     da.idpersonal AS idpersonal_docente,
  15.     pe.cedula,
  16.     (((COALESCE(pe.apellido1, ''::character varying)::text || ' '::text) || COALESCE(pe.apellido2, ''::character varying)::text) || ' '::text) || COALESCE(pe.nombres, ''::character varying)::text AS docente,
  17.     pe.correo_personal_institucional AS correo,
  18.     0 AS idtipo_perfil_profesional,
  19.     0 AS idconfiguracion,
  20.     'TEORIA'::character varying AS tipo_configuracion,
  21.     d.idfacultad,
  22.     d.idfacultad AS idfacultadmateria,
  23.     f.nombre AS nfacultad,
  24.     0 AS creditos_asignatura,
  25.     ( SELECT count(t_1.idpersonal) AS count
  26.            FROM ( SELECT DISTINCT id.idpersonal
  27.                    FROM esq_inscripciones.inscripcion_detalle id
  28.                   WHERE id.iddistributivo = da.iddistributivo AND id.anulado::text = 'N'::text AND (id.idperiodo IN ( SELECT pa_1.idperiodo
  29.                            FROM esq_periodos_academicos.periodo_academico pa_1
  30.                              JOIN esq_distributivos.departamento_periodo dp_1 ON dp_1.idperiodo = pa_1.idperiodo
  31.                           WHERE dp_1.id_departamento_periodo = da.iddepartamento_periodo))) t_1) AS num_estudiantes_registrados,
  32.     translate(mu.nombre::text, 'áéíóúÁÉÍÓÚäëïöüÄËÏÖÜ'::text, 'aeiouAEIOUaeiouAEIOU'::text) AS nombre,
  33.         CASE
  34.             WHEN pl.idregistro IS NOT NULL THEN pl.estado
  35.             ELSE 'NE'::text
  36.         END AS estado,
  37.         CASE
  38.             WHEN pl.idregistro IS NOT NULL THEN pl.idregistro
  39.             ELSE 0::numeric
  40.         END AS idplanclase,
  41.     0 AS iddistributivo_compartido,
  42.     da.iddistributivo,
  43.     ''::text AS es_virtual,
  44.     (((dp.idperiodo::text || abs(mu.idmateria_unica)::text) || da.idpersonal::text) || da.iddistributivo::text)::numeric AS idregistro
  45.    FROM esq_distributivos.distribucion_academica da
  46.      JOIN esq_distributivos.departamento_periodo dp ON dp.id_departamento_periodo = da.iddepartamento_periodo
  47.      JOIN esq_distributivos.departamento_docente dc ON dc.idpersonal = da.idpersonal
  48.      JOIN esq_distributivos.departamento d ON d.iddepartamento = dp.iddepartamento
  49.      JOIN esq_distributivos.materia_unica mu ON mu.idmateria_unica = da.idmateria_unica
  50.      JOIN esq_distributivos.paralelo p ON p.idparalelo = da.idparalelo
  51.      JOIN esq_datos_personales.personal pe ON pe.idpersonal = da.idpersonal
  52.      JOIN esq_periodos_academicos.periodo_academico pa ON pa.idperiodo = dp.idperiodo
  53.      JOIN esq_inscripciones.facultad f ON f.idfacultad = d.idfacultad
  54.      LEFT JOIN esq_ceac_planclase.tbl_plc_planclase pl ON pl.iddistributivo = da.iddistributivo::numeric
  55.   WHERE da.idpersonal > 0 AND mu.idmateria_unica > 0 AND da.habilitado::text = 'S'::text and mu.nombre not like '%VIRTUAL%'
  56. UNION ALL
  57.  SELECT DISTINCT dp.idperiodo,
  58.     pa1.nombre AS nperiodo,
  59.     da1.idparalelo,
  60.     p1.nombre AS paralelo,
  61.     mc.iddepartamento,
  62.     mc.idmateria_unica,
  63.     ((((mc.nombre::text || ' ('::text) || c.descripcion::text) || ' '::text) || c.numero_horas) || 'HRS. )'::text AS nmateria_unica,
  64.     d1.nombre AS ndepartamento,
  65.     da1.idpersonal AS idpersonal_docente,
  66.     pec.cedula,
  67.     (((COALESCE(pec.apellido1, ''::character varying)::text || ' '::text) || COALESCE(pec.apellido2, ''::character varying)::text) || ' '::text) || COALESCE(pec.nombres, ''::character varying)::text AS docente,
  68.     pec.correo_personal_institucional AS correo,
  69.     0 AS idtipo_perfil_profesional,
  70.     da1.idconfiguracion,
  71.     c.descripcion AS tipo_configuracion,
  72.     d1.idfacultad,
  73.     d1.idfacultad AS idfacultadmateria,
  74.     f1.nombre AS nfacultad,
  75.     0 AS creditos_asignatura,
  76.     ( SELECT count(t_1.idpersonal) AS count
  77.            FROM ( SELECT DISTINCT id.idpersonal
  78.                    FROM esq_inscripciones.inscripcion_detalle id
  79.                   WHERE id.iddistributivo = dac.iddistributivo AND id.anulado::text = 'N'::text AND (id.idperiodo IN ( SELECT pa.idperiodo
  80.                            FROM esq_periodos_academicos.periodo_academico pa
  81.                              JOIN esq_distributivos.departamento_periodo dp_1 ON dp_1.idperiodo = pa.idperiodo
  82.                           WHERE dp_1.id_departamento_periodo = dac.iddepartamento_periodo))) t_1) AS num_estudiantes_registrados,
  83.     translate(mc.nombre::text, 'áéíóúÁÉÍÓÚäëïöüÄËÏÖÜ'::text, 'aeiouAEIOUaeiouAEIOU'::text) AS nombre,
  84.         CASE
  85.             WHEN pl.idregistro IS NOT NULL THEN pl.estado
  86.             ELSE 'NE'::text
  87.         END AS estado,
  88.         CASE
  89.             WHEN pl.idregistro IS NOT NULL THEN pl.idregistro
  90.             ELSE 0::numeric
  91.         END AS idplanclase,
  92.     da1.iddistributivo_compartido,
  93.     dac.iddistributivo,
  94.     ''::text AS es_virtual,
  95.     (((((dp.idperiodo::text || abs(mc.idmateria_unica)::text) || da1.idpersonal::text) || da1.idconfiguracion::text) || da1.iddistributivo::text) || da1.iddistributivo_compartido::text)::numeric AS idregistro
  96.    FROM esq_distributivos.distribucion_academica dac
  97.      JOIN esq_distributivos.distribucion_academica_compartida da1 ON da1.iddistributivo = dac.iddistributivo AND da1.habilitado::text = 'S'::text
  98.      JOIN esq_distributivos.paralelo p ON p.idparalelo = dac.idparalelo
  99.      JOIN esq_distributivos.paralelo p1 ON p1.idparalelo = da1.idparalelo
  100.      JOIN esq_distributivos.departamento_docente dc ON dc.idpersonal = da1.idpersonal
  101.      JOIN esq_distributivos.departamento_periodo dp ON dp.id_departamento_periodo = dac.iddepartamento_periodo
  102.      JOIN esq_distributivos.departamento d1 ON d1.iddepartamento = dp.iddepartamento
  103.      JOIN esq_distributivos.materia_unica_compartida_configuracion c ON c.idconfiguracion = da1.idconfiguracion
  104.      JOIN esq_distributivos.materia_unica mc ON mc.idmateria_unica = c.idmateria_unica
  105.      JOIN esq_datos_personales.personal pec ON pec.idpersonal = da1.idpersonal
  106.      JOIN esq_periodos_academicos.periodo_academico pa1 ON pa1.idperiodo = dp.idperiodo
  107.      JOIN esq_inscripciones.facultad f1 ON f1.idfacultad = d1.idfacultad
  108.      LEFT JOIN esq_ceac_planclase.tbl_plc_planclase pl ON pl.iddistributivo = dac.iddistributivo::numeric AND pl.iddistributivo_compartido = da1.iddistributivo_compartido::numeric
  109.   WHERE da1.idpersonal > 0 AND mc.idmateria_unica > 0 AND dac.habilitado::text = 'S'::text and mc.nombre not like '%VIRTUAL%';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement