Advertisement
jzgeorge

plcoorviced

Jul 21st, 2017
401
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 (
  7.         CASE
  8.             WHEN da.idpersonal IS NOT NULL THEN da.idpersonal::text
  9.             ELSE (( SELECT personal.idpersonal
  10.                FROM esq_distributivos.distribucion_academica
  11.                  JOIN esq_distributivos.distribucion_academica_compartida ON distribucion_academica.iddistributivo = distribucion_academica_compartida.iddistributivo
  12.                  JOIN esq_datos_personales.personal ON personal.idpersonal = distribucion_academica_compartida.idpersonal
  13.                  JOIN esq_distributivos.materia_unica_compartida_configuracion ON distribucion_academica_compartida.idconfiguracion = materia_unica_compartida_configuracion.idconfiguracion
  14.               WHERE materia_unica_compartida_configuracion.descripcion::text = 'TEORIA'::text AND materia_unica_compartida_configuracion.idperiodo = pd.idperiodo AND distribucion_academica_compartida.iddistributivo = da.iddistributivo
  15.              LIMIT 1))::text
  16.         END || (((((da.iddistributivo || abs(da.idmateria_unica)::text) || m.idmateria::text) || pd.idperiodo::text) || pd.idescuela::text) || me.idmalla::text))::numeric AS idregistro,
  17.     pd.idperiodo,
  18.     pa.nombre AS nperiodo,
  19.     f.idfacultad,
  20.     f.nombre AS nfacultad,
  21.     da.idmateria_unica,
  22.     da.idparalelo,
  23.     ( SELECT pa_1.nombre
  24.            FROM esq_distributivos.paralelo pa_1
  25.           WHERE pa_1.idparalelo = da.idparalelo) AS paralelo,
  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.     ( SELECT mu.nombre
  42.            FROM esq_distributivos.materia_unica mu
  43.           WHERE mu.idmateria_unica = da.idmateria_unica) AS nmateria_unica,
  44.     ( SELECT mm.creditos
  45.            FROM esq_mallas.malla_materia_nivel mm
  46.           WHERE mm.idmalla = pd.idmalla AND mm.idescuela = pd.idescuela AND pd.idmateria = mm.idmateria) AS creditos_asignatura,
  47.         CASE
  48.             WHEN da.idpersonal IS NOT NULL THEN da.idpersonal
  49.             ELSE ( SELECT personal.idpersonal
  50.                FROM esq_distributivos.distribucion_academica
  51.                  JOIN esq_distributivos.distribucion_academica_compartida ON distribucion_academica.iddistributivo = distribucion_academica_compartida.iddistributivo
  52.                  JOIN esq_datos_personales.personal ON personal.idpersonal = distribucion_academica_compartida.idpersonal
  53.                  JOIN esq_distributivos.materia_unica_compartida_configuracion ON distribucion_academica_compartida.idconfiguracion = materia_unica_compartida_configuracion.idconfiguracion
  54.               WHERE materia_unica_compartida_configuracion.descripcion::text = 'TEORIA'::text AND materia_unica_compartida_configuracion.idperiodo = pd.idperiodo AND distribucion_academica_compartida.iddistributivo = da.iddistributivo
  55.              LIMIT 1)
  56.         END AS idpersonal_docente,
  57.         CASE
  58.             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
  59.                FROM esq_datos_personales.personal
  60.               WHERE personal.idpersonal = da.idpersonal)
  61.             ELSE ( SELECT concat(personal.apellido1, ' ', personal.apellido2, ' ', personal.nombres) AS nombre_docente_teoria
  62.                FROM esq_distributivos.distribucion_academica
  63.                  JOIN esq_distributivos.distribucion_academica_compartida ON distribucion_academica.iddistributivo = distribucion_academica_compartida.iddistributivo
  64.                  JOIN esq_datos_personales.personal ON personal.idpersonal = distribucion_academica_compartida.idpersonal
  65.                  JOIN esq_distributivos.materia_unica_compartida_configuracion ON distribucion_academica_compartida.idconfiguracion = materia_unica_compartida_configuracion.idconfiguracion
  66.               WHERE materia_unica_compartida_configuracion.descripcion::text = 'TEORIA'::text AND materia_unica_compartida_configuracion.idperiodo = pd.idperiodo AND distribucion_academica_compartida.iddistributivo = da.iddistributivo
  67.              LIMIT 1)
  68.         END AS docente,
  69.     ( SELECT mm.materia_virtual
  70.            FROM esq_mallas.malla_materia_nivel mm
  71.           WHERE mm.idmalla = pd.idmalla AND mm.idescuela = pd.idescuela AND pd.idmateria = mm.idmateria) AS es_virtual,
  72.         CASE
  73.             WHEN pl.idregistro IS NOT NULL THEN 'ED'::text
  74.             ELSE 'NE'::text
  75.         END AS estado,
  76.         CASE
  77.             WHEN pl.idregistro IS NOT NULL THEN pl.idregistro
  78.             ELSE 0::numeric
  79.         END AS idplanclase
  80.    FROM esq_inscripciones.inscripcion_detalle pd
  81.      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
  82.      JOIN esq_distributivos.distribucion_academica da ON da.iddistributivo = pd.iddistributivo AND da.habilitado::text = 'S'::text
  83.      JOIN esq_inscripciones.escuela e ON e.idescuela = pd.idescuela
  84.      JOIN esq_inscripciones.facultad f ON f.idfacultad = e.idfacultad
  85.      JOIN esq_periodos_academicos.periodo_academico pa ON pa.idperiodo = pd.idperiodo
  86.      JOIN esq_mallas.materia m ON m.idmateria = pd.idmateria
  87.      JOIN esq_mallas.malla_escuela me ON me.idmalla = pd.idmalla
  88.      LEFT JOIN esq_ceac_planclase.tbl_plc_planclase pl ON pl.iddistributivo = da.iddistributivo::numeric
  89.   ORDER BY (
  90.         CASE
  91.             WHEN pl.idregistro IS NOT NULL THEN 'ED'::text
  92.             ELSE 'NE'::text
  93.         END);
  94.  
  95. ALTER TABLE esq_ceac_planclase.v_plan_clase_departamentos
  96.   OWNER TO ceac_analitico;
  97.  
  98.  
  99. -- View: esq_ceac_planclase.v_plan_clase_escuelas
  100.  
  101. -- DROP VIEW esq_ceac_planclase.v_plan_clase_escuelas;
  102.  
  103. CREATE OR REPLACE VIEW esq_ceac_planclase.v_plan_clase_escuelas AS
  104.  SELECT DISTINCT (
  105.         CASE
  106.             WHEN da.idpersonal IS NOT NULL THEN da.idpersonal::text
  107.             ELSE (( SELECT personal.idpersonal
  108.                FROM esq_distributivos.distribucion_academica
  109.                  JOIN esq_distributivos.distribucion_academica_compartida ON distribucion_academica.iddistributivo = distribucion_academica_compartida.iddistributivo
  110.                  JOIN esq_datos_personales.personal ON personal.idpersonal = distribucion_academica_compartida.idpersonal
  111.                  JOIN esq_distributivos.materia_unica_compartida_configuracion ON distribucion_academica_compartida.idconfiguracion = materia_unica_compartida_configuracion.idconfiguracion
  112.               WHERE materia_unica_compartida_configuracion.descripcion::text = 'TEORIA'::text AND materia_unica_compartida_configuracion.idperiodo = pd.idperiodo AND distribucion_academica_compartida.iddistributivo = da.iddistributivo
  113.              LIMIT 1))::text
  114.         END || (((((da.iddistributivo || abs(da.idmateria_unica)::text) || m.idmateria::text) || pd.idperiodo::text) || pd.idescuela::text) || me.idmalla::text))::numeric AS idregistro,
  115.     pd.idperiodo,
  116.     pa.nombre AS nperiodo,
  117.     f.idfacultad,
  118.     f.nombre AS nfacultad,
  119.     pd.idescuela,
  120.     e.nombre AS nescuela,
  121.     me.idmalla,
  122.     da.idmateria_unica,
  123.     da.idparalelo,
  124.     ( SELECT pa_1.nombre
  125.            FROM esq_distributivos.paralelo pa_1
  126.           WHERE pa_1.idparalelo = da.idparalelo) AS paralelo,
  127.     ( SELECT DISTINCT materia.nombre
  128.            FROM esq_mallas.materia
  129.           WHERE materia.idmateria = m.idmateria AND materia.idtipo_perfil_profesional = m.idtipo_perfil_profesional) AS nombre,
  130.     m.idtipo_perfil_profesional,
  131.     ( SELECT materia_unica.iddepartamento
  132.            FROM esq_distributivos.materia_unica
  133.           WHERE materia_unica.idmateria_unica = da.idmateria_unica) AS iddepartamento,
  134.     ( SELECT departamento.nombre
  135.            FROM esq_distributivos.materia_unica
  136.              JOIN esq_distributivos.departamento ON materia_unica.iddepartamento = departamento.iddepartamento
  137.           WHERE materia_unica.idmateria_unica = da.idmateria_unica) AS ndepartamento,
  138.     ( SELECT departamento.idfacultad
  139.            FROM esq_distributivos.materia_unica
  140.              JOIN esq_distributivos.departamento ON materia_unica.iddepartamento = departamento.iddepartamento
  141.           WHERE materia_unica.idmateria_unica = da.idmateria_unica) AS idfacultadmateria,
  142.     ( SELECT mu.nombre
  143.            FROM esq_distributivos.materia_unica mu
  144.           WHERE mu.idmateria_unica = da.idmateria_unica) AS nmateria_unica,
  145.     ( SELECT mm.creditos
  146.            FROM esq_mallas.malla_materia_nivel mm
  147.           WHERE mm.idmalla = pd.idmalla AND mm.idescuela = pd.idescuela AND pd.idmateria = mm.idmateria) AS creditos_asignatura,
  148.         CASE
  149.             WHEN da.idpersonal IS NOT NULL THEN da.idpersonal
  150.             ELSE ( SELECT personal.idpersonal
  151.                FROM esq_distributivos.distribucion_academica
  152.                  JOIN esq_distributivos.distribucion_academica_compartida ON distribucion_academica.iddistributivo = distribucion_academica_compartida.iddistributivo
  153.                  JOIN esq_datos_personales.personal ON personal.idpersonal = distribucion_academica_compartida.idpersonal
  154.                  JOIN esq_distributivos.materia_unica_compartida_configuracion ON distribucion_academica_compartida.idconfiguracion = materia_unica_compartida_configuracion.idconfiguracion
  155.               WHERE materia_unica_compartida_configuracion.descripcion::text = 'TEORIA'::text AND materia_unica_compartida_configuracion.idperiodo = pd.idperiodo AND distribucion_academica_compartida.iddistributivo = da.iddistributivo
  156.              LIMIT 1)
  157.         END AS idpersonal_docente,
  158.         CASE
  159.             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
  160.                FROM esq_datos_personales.personal
  161.               WHERE personal.idpersonal = da.idpersonal)
  162.             ELSE ( SELECT concat(personal.apellido1, ' ', personal.apellido2, ' ', personal.nombres) AS nombre_docente_teoria
  163.                FROM esq_distributivos.distribucion_academica
  164.                  JOIN esq_distributivos.distribucion_academica_compartida ON distribucion_academica.iddistributivo = distribucion_academica_compartida.iddistributivo
  165.                  JOIN esq_datos_personales.personal ON personal.idpersonal = distribucion_academica_compartida.idpersonal
  166.                  JOIN esq_distributivos.materia_unica_compartida_configuracion ON distribucion_academica_compartida.idconfiguracion = materia_unica_compartida_configuracion.idconfiguracion
  167.               WHERE materia_unica_compartida_configuracion.descripcion::text = 'TEORIA'::text AND materia_unica_compartida_configuracion.idperiodo = pd.idperiodo AND distribucion_academica_compartida.iddistributivo = da.iddistributivo
  168.              LIMIT 1)
  169.         END AS docente,
  170.     me.nombre AS nmalla,
  171.     ( SELECT mm.materia_virtual
  172.            FROM esq_mallas.malla_materia_nivel mm
  173.           WHERE mm.idmalla = pd.idmalla AND mm.idescuela = pd.idescuela AND pd.idmateria = mm.idmateria) AS es_virtual,
  174.         CASE
  175.             WHEN pl.idregistro IS NOT NULL THEN 'ED'::text
  176.             ELSE 'NE'::text
  177.         END AS estado,
  178.         CASE
  179.             WHEN pl.idregistro IS NOT NULL THEN pl.idregistro
  180.             ELSE 0::numeric
  181.         END AS idplanclase
  182.    FROM esq_inscripciones.inscripcion_detalle pd
  183.      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
  184.      JOIN esq_distributivos.distribucion_academica da ON da.iddistributivo = pd.iddistributivo AND da.habilitado::text = 'S'::text
  185.      JOIN esq_inscripciones.escuela e ON e.idescuela = pd.idescuela
  186.      JOIN esq_inscripciones.facultad f ON f.idfacultad = e.idfacultad
  187.      JOIN esq_periodos_academicos.periodo_academico pa ON pa.idperiodo = pd.idperiodo
  188.      JOIN esq_mallas.materia m ON m.idmateria = pd.idmateria
  189.      JOIN esq_mallas.malla_escuela me ON me.idmalla = pd.idmalla
  190.      LEFT JOIN esq_ceac_planclase.tbl_plc_planclase pl ON pl.iddistributivo = da.iddistributivo::numeric
  191.   ORDER BY (
  192.         CASE
  193.             WHEN pl.idregistro IS NOT NULL THEN 'ED'::text
  194.             ELSE 'NE'::text
  195.         END);
  196.  
  197. ALTER TABLE esq_ceac_planclase.v_plan_clase_escuelas
  198.   OWNER TO ceac_analitico;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement