﻿USE akrcsist_bd0003_2026;

ALTER TABLE mon_monitoreo
    ADD COLUMN IF NOT EXISTS actividad TEXT NULL AFTER tema,
    ADD COLUMN IF NOT EXISTS competencia_descripcion TEXT NULL AFTER actividad,
    ADD COLUMN IF NOT EXISTS capacidad TEXT NULL AFTER competencia_descripcion,
    ADD COLUMN IF NOT EXISTS desempeno TEXT NULL AFTER capacidad,
    ADD COLUMN IF NOT EXISTS estudiantes_matriculados SMALLINT UNSIGNED NULL AFTER proposito_sesion,
    ADD COLUMN IF NOT EXISTS estudiantes_asistentes SMALLINT UNSIGNED NULL AFTER estudiantes_matriculados;

UPDATE mon_monitoreo
SET actividad = COALESCE(NULLIF(actividad, ''), NULLIF(tema, '')),
    competencia_descripcion = COALESCE(NULLIF(competencia_descripcion, ''), NULL)
WHERE id_monitoreo IS NOT NULL;

CREATE OR REPLACE VIEW vw_monitoreo_docente AS
SELECT
    m.id_monitoreo,
    m.fecha,
    m.momento_monitoreo,
    CASE m.momento_monitoreo
        WHEN 'DIAGNOSTICO' THEN 'Monitoreo Diagnostico'
        WHEN 'PROCESO' THEN 'Monitoreo de Proceso'
        WHEN 'CIERRE' THEN 'Monitoreo de Salida o Cierre'
        ELSE m.momento_monitoreo
    END AS momento_label,
    m.estado,
    m.dre,
    m.ugel,
    m.institucion_codigo,
    m.institucion_nombre,
    m.id_docente,
    p.numero_documento AS dni,
    COALESCE(NULLIF(p.nombre_completo, ''), TRIM(CONCAT_WS(' ', p.apellido_paterno, p.apellido_materno, p.nombres))) AS docente,
    COALESCE(NULLIF(m.docente_celular, ''), p.celular) AS docente_celular,
    m.monitor_nombre,
    m.monitor_dni,
    i.codigo AS instrumento_codigo,
    i.nombre AS instrumento,
    ne.descripcion AS nivel,
    g.nombre_corto AS grado,
    s.nombre_corto AS seccion,
    m.id_area,
    COALESCE(a.nombre, m.area_curricular) AS area_curricular,
    m.id_competencia,
    COALESCE(c.descripcion, m.competencia_descripcion) AS competencia,
    m.tema,
    m.actividad,
    m.competencia_descripcion,
    m.capacidad,
    m.desempeno,
    m.proposito_sesion,
    m.estudiantes_matriculados,
    m.estudiantes_asistentes,
    m.puntaje_total,
    m.puntaje_maximo,
    m.porcentaje_logro,
    m.nivel_global,
    m.fortalezas,
    m.aspectos_mejora,
    m.acciones_mejora,
    m.compromisos_docente,
    m.pasos_seguir,
    m.recomendaciones_directivas,
    m.fecha_seguimiento,
    m.observaciones
FROM mon_monitoreo m
INNER JOIN mon_instrumento i ON i.id_instrumento = m.id_instrumento
INNER JOIN docente d ON d.id_docente = m.id_docente
INNER JOIN persona p ON p.id_persona = d.id_persona
LEFT JOIN nivel_educativo ne ON ne.id_nivel = m.id_nivel
LEFT JOIN grado g ON g.id_grado = m.id_grado
LEFT JOIN seccion s ON s.id_seccion = m.id_seccion
LEFT JOIN area_curricular a ON a.id_area = m.id_area
LEFT JOIN competencia c ON c.id_competencia = m.id_competencia;

