Advertisement
jzgeorge

act syllabus

Jul 29th, 2019
309
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE OR REPLACE VIEW esq_ceac_planclase.v_syllabus_newview AS
  2.  SELECT DISTINCT (COALESCE(
  3.         CASE
  4.             WHEN da.idpersonal > 0 THEN da.idpersonal::text
  5.             ELSE (( SELECT personal.idpersonal
  6.                FROM esq_distributivos.distribucion_academica
  7.                  JOIN esq_distributivos.distribucion_academica_compartida ON distribucion_academica.iddistributivo = distribucion_academica_compartida.iddistributivo
  8.                  JOIN esq_datos_personales.personal ON personal.idpersonal = distribucion_academica_compartida.idpersonal
  9.                  JOIN esq_distributivos.materia_unica_compartida_configuracion ON distribucion_academica_compartida.idconfiguracion = materia_unica_compartida_configuracion.idconfiguracion
  10.               WHERE materia_unica_compartida_configuracion.descripcion::text = 'TEORIA'::text AND materia_unica_compartida_configuracion.idperiodo = pd.idperiodo AND distribucion_academica_compartida.iddistributivo = da.iddistributivo AND distribucion_academica_compartida.habilitado::text = 'S'::text AND distribucion_academica.es_prueba::text = 'N'::text
  11.              LIMIT 1))::text
  12.         END, da.idpersonal::text) || (((((abs(da.idmateria_unica)::text || m.idmateria::text) || pd.idperiodo::text) || pd.idescuela::text) || me.idmalla::text) ||
  13.         CASE
  14.             WHEN sy.idregistro IS NOT NULL THEN sy.idregistro
  15.             WHEN sy2.idregistro IS NOT NULL THEN sy2.idregistro
  16.             ELSE 0::numeric
  17.         END::text))::numeric AS idregistro,
  18.     pd.idperiodo,
  19.     pa.nombre AS nperiodo,
  20.     f.idfacultad,
  21.     f.nombre AS nfacultad,
  22.     pd.idescuela,
  23.     e.nombre AS nescuela,
  24.     me.idmalla,
  25.     da.idmateria_unica,
  26.     ( SELECT DISTINCT materia.nombre
  27.            FROM esq_mallas.materia
  28.           WHERE materia.idmateria = m.idmateria AND materia.idtipo_perfil_profesional = m.idtipo_perfil_profesional) AS nombre,
  29.     m.idtipo_perfil_profesional,
  30.     ( SELECT materia_unica.iddepartamento
  31.            FROM esq_distributivos.materia_unica
  32.           WHERE materia_unica.idmateria_unica = da.idmateria_unica) AS iddepartamento,
  33.     ( SELECT departamento.nombre
  34.            FROM esq_distributivos.materia_unica
  35.              JOIN esq_distributivos.departamento ON materia_unica.iddepartamento = departamento.iddepartamento
  36.           WHERE materia_unica.idmateria_unica = da.idmateria_unica) AS ndepartamento,
  37.     ( SELECT departamento.idfacultad
  38.            FROM esq_distributivos.materia_unica
  39.              JOIN esq_distributivos.departamento ON materia_unica.iddepartamento = departamento.iddepartamento
  40.           WHERE materia_unica.idmateria_unica = da.idmateria_unica) AS idfacultadmateria,
  41.         CASE
  42.             WHEN sy.idregistro IS NOT NULL THEN sy.idregistro
  43.             WHEN sy2.idregistro IS NOT NULL THEN sy2.idregistro
  44.             ELSE NULL::numeric
  45.         END AS idsyllabus,
  46.         CASE
  47.             WHEN sy.idregistro IS NOT NULL THEN sy.estado
  48.             WHEN sy2.idregistro IS NOT NULL THEN sy2.estado
  49.             ELSE 'NE'::text
  50.         END AS estado,
  51.     ( SELECT mu.nombre
  52.            FROM esq_distributivos.materia_unica mu
  53.           WHERE mu.idmateria_unica = da.idmateria_unica) AS nmateria_unica,
  54.     COALESCE(( SELECT mm.creditos
  55.            FROM esq_mallas.malla_materia_nivel mm
  56.           WHERE mm.idmalla = pd.idmalla AND mm.idescuela = pd.idescuela AND pd.idmateria = mm.idmateria), sy.creditos) AS creditos_asignatura,
  57.     COALESCE(
  58.         CASE
  59.             WHEN da.idpersonal > 0 THEN da.idpersonal
  60.             ELSE ( SELECT personal.idpersonal
  61.                FROM esq_distributivos.distribucion_academica
  62.                  JOIN esq_distributivos.distribucion_academica_compartida ON distribucion_academica.iddistributivo = distribucion_academica_compartida.iddistributivo
  63.                  JOIN esq_datos_personales.personal ON personal.idpersonal = distribucion_academica_compartida.idpersonal
  64.                  JOIN esq_distributivos.materia_unica_compartida_configuracion ON distribucion_academica_compartida.idconfiguracion = materia_unica_compartida_configuracion.idconfiguracion
  65.               WHERE materia_unica_compartida_configuracion.descripcion::text = 'TEORIA'::text AND materia_unica_compartida_configuracion.idperiodo = pd.idperiodo AND distribucion_academica_compartida.iddistributivo = da.iddistributivo AND distribucion_academica_compartida.habilitado::text = 'S'::text
  66.              LIMIT 1)
  67.         END, da.idpersonal) AS idpersonal_docente,
  68.     COALESCE(
  69.         CASE
  70.             WHEN da.idpersonal > 0 THEN ( SELECT (((COALESCE(personal.apellido1, ''::character varying)::text || ' '::text) || COALESCE(personal.apellido2, ''::character varying)::text) || ' '::text) || COALESCE(personal.nombres, ''::character varying)::text AS nom
  71.                FROM esq_datos_personales.personal
  72.               WHERE personal.idpersonal = da.idpersonal)
  73.             ELSE ( SELECT concat(personal.apellido1, ' ', personal.apellido2, ' ', personal.nombres) AS nombre_docente_teoria
  74.                FROM esq_distributivos.distribucion_academica
  75.                  JOIN esq_distributivos.distribucion_academica_compartida ON distribucion_academica.iddistributivo = distribucion_academica_compartida.iddistributivo
  76.                  JOIN esq_datos_personales.personal ON personal.idpersonal = distribucion_academica_compartida.idpersonal
  77.                  JOIN esq_distributivos.materia_unica_compartida_configuracion ON distribucion_academica_compartida.idconfiguracion = materia_unica_compartida_configuracion.idconfiguracion
  78.               WHERE materia_unica_compartida_configuracion.descripcion::text = 'TEORIA'::text AND materia_unica_compartida_configuracion.idperiodo = pd.idperiodo AND distribucion_academica_compartida.iddistributivo = da.iddistributivo AND distribucion_academica_compartida.habilitado::text = 'S'::text AND distribucion_academica.es_prueba::text = 'N'::text
  79.              LIMIT 1)
  80.         END, ( SELECT (((COALESCE(personal.apellido1, ''::character varying)::text || ' '::text) || COALESCE(personal.apellido2, ''::character varying)::text) || ' '::text) || COALESCE(personal.nombres, ''::character varying)::text AS nom
  81.            FROM esq_datos_personales.personal
  82.           WHERE personal.idpersonal = da.idpersonal)) AS docente,
  83.     me.nombre AS nmalla,
  84.     ( SELECT mm.materia_virtual
  85.            FROM esq_mallas.malla_materia_nivel mm
  86.           WHERE mm.idmalla = pd.idmalla AND mm.idescuela = pd.idescuela AND pd.idmateria = mm.idmateria) AS es_virtual,
  87.         CASE
  88.             WHEN sy.idregistro IS NOT NULL THEN 'S'::text
  89.             WHEN sy2.idregistro IS NOT NULL THEN 'N'::text
  90.             ELSE NULL::text
  91.         END AS vigente
  92.    FROM esq_inscripciones.inscripcion_detalle pd
  93.      JOIN esq_inscripciones.inscripcion i ON i.idinscripcion = pd.idinscripcion AND i.idperiodo = pd.idperiodo AND i.idescuela = pd.idescuela AND i.idpersonal = pd.idpersonal
  94.      JOIN esq_distributivos.distribucion_academica da ON da.iddistributivo = pd.iddistributivo AND da.habilitado::text = 'S'::text AND da.es_prueba::text = 'N'::text
  95.      JOIN esq_inscripciones.escuela e ON e.idescuela = pd.idescuela
  96.      JOIN esq_inscripciones.facultad f ON f.idfacultad = e.idfacultad
  97.      JOIN esq_periodos_academicos.periodo_academico pa ON pa.idperiodo = pd.idperiodo
  98.      JOIN esq_mallas.materia m ON m.idmateria = pd.idmateria
  99.      JOIN esq_mallas.malla_escuela me ON me.idmalla = pd.idmalla
  100.      LEFT JOIN esq_ceac_planclase.tbl_syllabus sy ON sy.id_materia = da.idmateria_unica AND sy.id_periodo_academico = pd.idperiodo AND sy.id_personal =
  101.         CASE
  102.             WHEN da.idpersonal > 0 THEN da.idpersonal
  103.             ELSE ( SELECT personal.idpersonal
  104.                FROM esq_distributivos.distribucion_academica
  105.                  JOIN esq_distributivos.distribucion_academica_compartida ON distribucion_academica.iddistributivo = distribucion_academica_compartida.iddistributivo
  106.                  JOIN esq_datos_personales.personal ON personal.idpersonal = distribucion_academica_compartida.idpersonal
  107.                  JOIN esq_distributivos.materia_unica_compartida_configuracion ON distribucion_academica_compartida.idconfiguracion = materia_unica_compartida_configuracion.idconfiguracion
  108.               WHERE materia_unica_compartida_configuracion.descripcion::text = 'TEORIA'::text AND materia_unica_compartida_configuracion.idperiodo = pd.idperiodo AND distribucion_academica_compartida.iddistributivo = da.iddistributivo AND distribucion_academica_compartida.habilitado::text = 'S'::text AND distribucion_academica.es_prueba::text = 'N'::text
  109.              LIMIT 1)
  110.         END::numeric
  111.      LEFT JOIN esq_ceac_planclase.tbl_pea sy2 ON sy2.idmateria_unica = da.idmateria_unica::numeric AND sy2.idperiodo = pd.idperiodo::numeric AND sy2.iddocente::numeric =
  112.         CASE
  113.             WHEN da.idpersonal > 0 THEN da.idpersonal
  114.             ELSE ( SELECT personal.idpersonal
  115.                FROM esq_distributivos.distribucion_academica
  116.                  JOIN esq_distributivos.distribucion_academica_compartida ON distribucion_academica.iddistributivo = distribucion_academica_compartida.iddistributivo
  117.                  JOIN esq_datos_personales.personal ON personal.idpersonal = distribucion_academica_compartida.idpersonal
  118.                  JOIN esq_distributivos.materia_unica_compartida_configuracion ON distribucion_academica_compartida.idconfiguracion = materia_unica_compartida_configuracion.idconfiguracion
  119.               WHERE materia_unica_compartida_configuracion.descripcion::text = 'TEORIA'::text AND materia_unica_compartida_configuracion.idperiodo = pd.idperiodo AND distribucion_academica_compartida.iddistributivo = da.iddistributivo AND distribucion_academica_compartida.habilitado::text = 'S'::text AND distribucion_academica.es_prueba::text = 'N'::text
  120.              LIMIT 1)
  121.         END::numeric AND sy2.estado = 'AP'::text
  122.   ORDER BY (
  123.         CASE
  124.             WHEN sy.idregistro IS NOT NULL THEN sy.estado
  125.             WHEN sy2.idregistro IS NOT NULL THEN sy2.estado
  126.             ELSE 'NE'::text
  127.         END);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement