Advertisement
jzgeorge

XXXX

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