Advertisement
jzgeorge

asdasd

Jul 25th, 2017
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. DROP VIEW esq_ceac_planclase.v_plan_clase_escuelas;
  2.  
  3. CREATE OR REPLACE VIEW esq_ceac_planclase.v_plan_clase_escuelas AS
  4.  SELECT DISTINCT (
  5.         CASE
  6.             WHEN da.idpersonal IS NOT NULL THEN da.idpersonal::text
  7.             ELSE (( SELECT personal.idpersonal
  8.                FROM esq_distributivos.distribucion_academica
  9.                  JOIN esq_distributivos.distribucion_academica_compartida ON distribucion_academica.iddistributivo = distribucion_academica_compartida.iddistributivo
  10.                  JOIN esq_datos_personales.personal ON personal.idpersonal = distribucion_academica_compartida.idpersonal
  11.                  JOIN esq_distributivos.materia_unica_compartida_configuracion ON distribucion_academica_compartida.idconfiguracion = materia_unica_compartida_configuracion.idconfiguracion
  12.               WHERE materia_unica_compartida_configuracion.descripcion::text = 'TEORIA'::text AND materia_unica_compartida_configuracion.idperiodo = pd.idperiodo AND distribucion_academica_compartida.iddistributivo = da.iddistributivo
  13.              LIMIT 1))::text
  14.         END || (((((da.iddistributivo || abs(da.idmateria_unica)::text) || m.idmateria::text) || pd.idperiodo::text) || pd.idescuela::text) || me.idmalla::text))::numeric AS idregistro,
  15.     pd.idperiodo,
  16.     pa.nombre AS nperiodo,
  17.     f.idfacultad,
  18.     f.nombre AS nfacultad,
  19.     pd.idescuela,
  20.     e.nombre AS nescuela,
  21.     me.idmalla,
  22.     da.idmateria_unica,
  23.     da.idparalelo,
  24.     ( SELECT pa_1.nombre
  25.            FROM esq_distributivos.paralelo pa_1
  26.           WHERE pa_1.idparalelo = da.idparalelo) AS paralelo,
  27.     ( SELECT DISTINCT materia.nombre
  28.            FROM esq_mallas.materia
  29.           WHERE materia.idmateria = m.idmateria AND materia.idtipo_perfil_profesional = m.idtipo_perfil_profesional) AS nombre,
  30.     m.idtipo_perfil_profesional,
  31.     m.idtipo_organizacion_curricular,
  32.     ( SELECT materia_unica.iddepartamento
  33.            FROM esq_distributivos.materia_unica
  34.           WHERE materia_unica.idmateria_unica = da.idmateria_unica) AS iddepartamento,
  35.     ( SELECT departamento.nombre
  36.            FROM esq_distributivos.materia_unica
  37.              JOIN esq_distributivos.departamento ON materia_unica.iddepartamento = departamento.iddepartamento
  38.           WHERE materia_unica.idmateria_unica = da.idmateria_unica) AS ndepartamento,
  39.     ( SELECT departamento.idfacultad
  40.            FROM esq_distributivos.materia_unica
  41.              JOIN esq_distributivos.departamento ON materia_unica.iddepartamento = departamento.iddepartamento
  42.           WHERE materia_unica.idmateria_unica = da.idmateria_unica) AS idfacultadmateria,
  43.     ( SELECT mu.nombre
  44.            FROM esq_distributivos.materia_unica mu
  45.           WHERE mu.idmateria_unica = da.idmateria_unica) AS nmateria_unica,
  46.     ( SELECT mm.creditos
  47.            FROM esq_mallas.malla_materia_nivel mm
  48.           WHERE mm.idmalla = pd.idmalla AND mm.idescuela = pd.idescuela AND pd.idmateria = mm.idmateria) AS creditos_asignatura,
  49.         CASE
  50.             WHEN da.idpersonal IS NOT NULL THEN da.idpersonal
  51.             ELSE ( SELECT personal.idpersonal
  52.                FROM esq_distributivos.distribucion_academica
  53.                  JOIN esq_distributivos.distribucion_academica_compartida ON distribucion_academica.iddistributivo = distribucion_academica_compartida.iddistributivo
  54.                  JOIN esq_datos_personales.personal ON personal.idpersonal = distribucion_academica_compartida.idpersonal
  55.                  JOIN esq_distributivos.materia_unica_compartida_configuracion ON distribucion_academica_compartida.idconfiguracion = materia_unica_compartida_configuracion.idconfiguracion
  56.               WHERE materia_unica_compartida_configuracion.descripcion::text = 'TEORIA'::text AND materia_unica_compartida_configuracion.idperiodo = pd.idperiodo AND distribucion_academica_compartida.iddistributivo = da.iddistributivo
  57.              LIMIT 1)
  58.         END AS idpersonal_docente,
  59.         CASE
  60.             WHEN da.idpersonal IS NOT NULL THEN ( SELECT (((COALESCE(personal.apellido1, ''::character varying)::text || ' '::text) || COALESCE(personal.apellido2, ''::character varying)::text) || ' '::text) || COALESCE(personal.nombres, ''::character varying)::text AS nom
  61.                FROM esq_datos_personales.personal
  62.               WHERE personal.idpersonal = da.idpersonal)
  63.             ELSE ( SELECT concat(personal.apellido1, ' ', personal.apellido2, ' ', personal.nombres) AS nombre_docente_teoria
  64.                FROM esq_distributivos.distribucion_academica
  65.                  JOIN esq_distributivos.distribucion_academica_compartida ON distribucion_academica.iddistributivo = distribucion_academica_compartida.iddistributivo
  66.                  JOIN esq_datos_personales.personal ON personal.idpersonal = distribucion_academica_compartida.idpersonal
  67.                  JOIN esq_distributivos.materia_unica_compartida_configuracion ON distribucion_academica_compartida.idconfiguracion = materia_unica_compartida_configuracion.idconfiguracion
  68.               WHERE materia_unica_compartida_configuracion.descripcion::text = 'TEORIA'::text AND materia_unica_compartida_configuracion.idperiodo = pd.idperiodo AND distribucion_academica_compartida.iddistributivo = da.iddistributivo
  69.              LIMIT 1)
  70.         END AS docente,
  71.     me.nombre AS nmalla,
  72.     ( SELECT mm.materia_virtual
  73.            FROM esq_mallas.malla_materia_nivel mm
  74.           WHERE mm.idmalla = pd.idmalla AND mm.idescuela = pd.idescuela AND pd.idmateria = mm.idmateria) AS es_virtual,
  75.         CASE
  76.             WHEN pl.idregistro IS NOT NULL THEN 'ED'::text
  77.             ELSE 'NE'::text
  78.         END AS estado,
  79.         CASE
  80.             WHEN pl.idregistro IS NOT NULL THEN pl.idregistro
  81.             ELSE 0::numeric
  82.         END AS idplanclase,
  83.     da.iddistributivo
  84.    FROM esq_inscripciones.inscripcion_detalle pd
  85.      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
  86.      JOIN esq_distributivos.distribucion_academica da ON da.iddistributivo = pd.iddistributivo AND da.habilitado::text = 'S'::text
  87.      JOIN esq_inscripciones.escuela e ON e.idescuela = pd.idescuela
  88.      JOIN esq_inscripciones.facultad f ON f.idfacultad = e.idfacultad
  89.      JOIN esq_periodos_academicos.periodo_academico pa ON pa.idperiodo = pd.idperiodo
  90.      JOIN esq_mallas.materia m ON m.idmateria = pd.idmateria
  91.      JOIN esq_mallas.malla_escuela me ON me.idmalla = pd.idmalla
  92.      LEFT JOIN esq_ceac_planclase.tbl_plc_planclase pl ON pl.iddistributivo = da.iddistributivo::numeric
  93.   ORDER BY (
  94.         CASE
  95.             WHEN pl.idregistro IS NOT NULL THEN 'ED'::text
  96.             ELSE 'NE'::text
  97.         END);
  98.  
  99. ALTER TABLE esq_ceac_planclase.v_plan_clase_escuelas
  100.   OWNER TO ceac_analitico;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement