Advertisement
jzgeorge

esq_ceac_planclase.v_plan_clase_escuelas

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