-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- View: vw_regularidades_inv -- Version: 3.0.0 -- Recupera las cursadas y equivalencias de regularidad (Aprobadas/Reprobadas) invalidadas (estado = I). -- Cursadas / Equivalencias de Regularidad / Otros Reconocimientos de regularidad. /Promociones (solo cuando la comision no tiene instancia de regularidad) -- -- Valores de los campos: -- origen (cursadas) : R = Acta de Regularidad / P = Acta de Promoción -- alcance (quivalenias): Equivalencia Parcial / Equivalencia de Regularidad -- tipo : Regularidad / Promoción / Equivalencia Parcial / Equivalencia de Regularidad -- resultado : A - Aprobado / R - Desaprobado / U - Ausente -- tipo_acta y tipo_tramite: N - Normal / R - Rectificativo -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- DROP VIEW vw_regularidades_inv; CREATE OR REPLACE VIEW vw_regularidades_inv ( elemento, id_acta, id_acta_original, nro_acta, tipo_acta, origen, tipo, evaluacion, comision, equivalencia_tramite, equivalencia_tramite_original, tipo_tramite, nro_resolucion, equivalencia, alumno, plan_version, instancia, fecha, fecha_vigencia, folio, renglon, escala_nota, nota, resultado, cond_regularidad, estado, pct_asistencia, observaciones, nota_descripcion, resultado_descripcion ) AS -- 1. Actas de Cursadas SELECT sga_comisiones.elemento, sga_actas.id_acta, CASE sga_actas.tipo_acta WHEN 'N' THEN sga_actas.id_acta WHEN 'R' THEN sga_actas.acta_referencia END as id_acta_original, sga_actas.nro_acta, sga_actas.tipo_acta, sga_actas.origen, cast('Regularidad' as varchar(30)) as tipo, sga_actas.evaluacion, sga_actas.comision, cast(null as integer) as equivalencia_tramite, cast(null as integer) as equivalencia_tramite_original, cast(null as char(1)) as tipo_tramite, cast(null as integer) as nro_resolucion, cast(null as integer) as equivalencia, sga_actas_detalle.alumno, sga_actas_detalle.plan_version, sga_actas_detalle.instancia, sga_actas_detalle.fecha, sga_actas_detalle.fecha_vigencia, sga_actas_detalle.folio, sga_actas_detalle.renglon, sga_actas_detalle.escala_nota, sga_actas_detalle.nota, sga_actas_detalle.resultado, sga_actas_detalle.cond_regularidad, sga_actas_detalle.estado, sga_actas_detalle.pct_asistencia, sga_actas_detalle.observaciones, sga_escalas_notas_det.descripcion, sga_instancias_resultado.descripcion FROM sga_actas, sga_comisiones, sga_actas_detalle LEFT JOIN sga_escalas_notas_det ON (sga_actas_detalle.escala_nota = sga_escalas_notas_det.escala_nota AND sga_actas_detalle.nota = sga_escalas_notas_det.nota), sga_instancias_resultado WHERE sga_actas_detalle.id_acta = sga_actas.id_acta AND sga_comisiones.comision = sga_actas.comision AND sga_actas.estado = 'C' -- Cerrado AND sga_actas.origen = 'R' -- Regularidades.. AND sga_actas_detalle.rectificado = 'N' -- No Rectificado AND sga_actas_detalle.estado = 'I' -- Invalidado AND sga_actas_detalle.resultado IN ('A','R','U') -- Aprobado/Reprobado/Ausente? AND sga_instancias_resultado.instancia = sga_actas_detalle.instancia AND sga_instancias_resultado.resultado = sga_actas_detalle.resultado UNION ALL -- 2. Actas de Promociones (de comisiones que son solo promocionales) SELECT sga_comisiones.elemento, sga_actas.id_acta, CASE sga_actas.tipo_acta WHEN 'N' THEN sga_actas.id_acta WHEN 'R' THEN sga_actas.acta_referencia END as id_acta_original, sga_actas.nro_acta, sga_actas.tipo_acta, sga_actas.origen, cast('Promoción' as varchar(30)) as tipo, sga_actas.evaluacion, sga_actas.comision, cast(null as integer) as equivalencia_tramite, cast(null as integer) as equivalencia_tramite_original, cast(null as char(1)) as tipo_tramite, cast(null as integer) as nro_resolucion, cast(null as integer) as equivalencia, sga_actas_detalle.alumno, sga_actas_detalle.plan_version, sga_actas_detalle.instancia, sga_actas_detalle.fecha, sga_actas_detalle.fecha_vigencia, sga_actas_detalle.folio, sga_actas_detalle.renglon, sga_actas_detalle.escala_nota, sga_actas_detalle.nota, sga_actas_detalle.resultado, sga_actas_detalle.cond_regularidad, sga_actas_detalle.estado, sga_actas_detalle.pct_asistencia, sga_actas_detalle.observaciones, sga_escalas_notas_det.descripcion, sga_instancias_resultado.descripcion FROM sga_actas, sga_comisiones, sga_actas_detalle LEFT JOIN sga_escalas_notas_det ON (sga_actas_detalle.escala_nota = sga_escalas_notas_det.escala_nota AND sga_actas_detalle.nota = sga_escalas_notas_det.nota), sga_instancias_resultado WHERE sga_actas_detalle.id_acta = sga_actas.id_acta AND sga_comisiones.comision = sga_actas.comision AND sga_actas.estado = 'C' -- Cerrado AND sga_actas.origen = 'P' -- Promociones AND sga_actas_detalle.rectificado = 'N' -- No Rectificado AND sga_actas_detalle.estado = 'I' -- Invalidado AND sga_actas_detalle.resultado IN ('A','R','U') -- Aprobado/Reprobado/Ausente? AND sga_instancias_resultado.instancia = sga_actas_detalle.instancia AND sga_instancias_resultado.resultado = sga_actas_detalle.resultado AND NOT EXISTS (SELECT 1 FROM sga_comisiones_instancias WHERE sga_comisiones_instancias.comision = sga_actas.comision AND sga_comisiones_instancias.instancia = 1) -- NO Existe instancia de cursada UNION ALL -- 3. Equivalencias de Regularidad (Original y Rectificativas) SELECT sga_equiv_otorgada.elemento, cast(null as integer) as id_acta, cast(null as integer) as id_acta_original, cast(null as varchar(30)) as nro_acta, cast(null as char(1)) as tipo_acta, cast(null as char(1)) as origen, cast('Equivalencia de Regularidad' as varchar(30)) as tipo, cast(null as integer) as evaluacion, cast(null as integer) as comision, sga_equiv_tramite.equivalencia_tramite, CASE sga_equiv_tramite.tipo_tramite WHEN 'N' THEN sga_equiv_tramite.equivalencia_tramite WHEN 'R' THEN sga_equiv_tramite.rectifica_a END as equivalencia_tramite_original, sga_equiv_tramite.tipo_tramite as tipo_tramite, sga_equiv_tramite.documento as nro_resolucion, sga_equiv_otorgada.equivalencia, sga_equiv_tramite.alumno, sga_equiv_tramite.plan_version, cast(null as integer) as instancia, sga_equiv_otorgada.fecha, sga_equiv_otorgada.fecha_vigencia, cast(null as smallint) as folio, cast(null as smallint) as renglon, sga_equiv_otorgada.escala_nota, sga_equiv_otorgada.nota, sga_equiv_otorgada.resultado, cast(null as integer) as cond_regularidad, sga_equiv_otorgada.estado, cast(null as numeric(5,2)) as pct_asistencia, sga_equiv_otorgada.temas_a_rendir as observaciones, sga_escalas_notas_det.descripcion, sga_escalas_notas_resultado.descripcion FROM sga_equiv_tramite, sga_equiv_otorgada LEFT JOIN sga_escalas_notas_det ON (sga_equiv_otorgada.escala_nota = sga_escalas_notas_det.escala_nota AND sga_equiv_otorgada.nota = sga_escalas_notas_det.nota), sga_escalas_notas_resultado WHERE sga_equiv_otorgada.equivalencia_tramite = sga_equiv_tramite.equivalencia_tramite AND sga_equiv_tramite.estado = 'C' -- Cerrado AND sga_equiv_otorgada.alcance IN ('R','P') -- Equivalencia de Regularidad y Parcial AND sga_equiv_otorgada.rectificado = 'N' -- No Rectificado AND sga_equiv_otorgada.estado = 'I' -- Invalidado AND sga_equiv_otorgada.resultado IN ('A','R') -- Aprobado/Reprobado AND sga_escalas_notas_resultado.resultado = sga_equiv_otorgada.resultado ; -- ++++++++++++++++++++++++++++++ Fin view vw_regularidades_inv +++++++++++++++++++++++++++++++++++++++ GRANT SELECT ON vw_regularidades_inv to public;