-- Módulo: Licencias, permisos y vacaciones de docentes
-- Base normativa: RVM N.° 031-2026-MINEDU (26/02/2026; publicada 27/02/2026).
-- Alcance: catálogo normativo, expediente electrónico, trazabilidad, actos
-- administrativos, recuperación de horas y continuidad del servicio educativo.
--
-- Migración idempotente para MySQL/MariaDB. No contiene datos personales de prueba.

SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS lp_norma (
    id_norma SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    codigo VARCHAR(60) NOT NULL,
    tipo_norma VARCHAR(50) NOT NULL,
    numero VARCHAR(50) NOT NULL,
    titulo VARCHAR(500) NOT NULL,
    entidad_emisora VARCHAR(180) NOT NULL,
    fecha_emision DATE NOT NULL,
    fecha_publicacion DATE NULL,
    fecha_vigencia DATE NULL,
    url_oficial VARCHAR(700) NULL,
    reemplaza_codigo VARCHAR(60) NULL,
    version_catalogo SMALLINT UNSIGNED NOT NULL DEFAULT 1,
    vigente TINYINT(1) NOT NULL DEFAULT 1,
    creado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    actualizado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id_norma),
    UNIQUE KEY uq_lp_norma_codigo (codigo),
    KEY idx_lp_norma_vigencia (vigente, fecha_vigencia)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS lp_tipo_solicitud (
    id_tipo_solicitud SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    id_norma SMALLINT UNSIGNED NOT NULL,
    codigo VARCHAR(32) NOT NULL,
    categoria VARCHAR(20) NOT NULL COMMENT 'LICENCIA, PERMISO o VACACIONES',
    clase VARCHAR(20) NOT NULL COMMENT 'CON_GOCE, SIN_GOCE o MODALIDAD',
    nombre VARCHAR(320) NOT NULL,
    numeral_norma VARCHAR(20) NOT NULL,
    descripcion TEXT NULL,
    regla_resumen TEXT NULL,
    aplica_nombrado TINYINT(1) NOT NULL DEFAULT 1,
    aplica_contratado TINYINT(1) NOT NULL DEFAULT 0,
    unidad_duracion VARCHAR(20) NOT NULL DEFAULT 'DIA_CALENDARIO',
    duracion_maxima DECIMAL(10,2) NULL,
    requiere_papeleta TINYINT(1) NOT NULL DEFAULT 0,
    requiere_resolucion TINYINT(1) NOT NULL DEFAULT 0,
    requiere_remision_ugel TINYINT(1) NOT NULL DEFAULT 0,
    permite_recuperacion TINYINT(1) NOT NULL DEFAULT 0,
    requiere_continuidad TINYINT(1) NOT NULL DEFAULT 1,
    orden SMALLINT UNSIGNED NOT NULL DEFAULT 0,
    vigente_desde DATE NOT NULL,
    vigente_hasta DATE NULL,
    estado TINYINT(1) NOT NULL DEFAULT 1,
    creado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    actualizado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id_tipo_solicitud),
    UNIQUE KEY uq_lp_tipo_codigo (codigo),
    KEY idx_lp_tipo_catalogo (categoria, clase, estado, orden),
    KEY idx_lp_tipo_norma (id_norma),
    CONSTRAINT fk_lp_tipo_norma FOREIGN KEY (id_norma)
        REFERENCES lp_norma (id_norma) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS lp_tipo_requisito (
    id_tipo_requisito INT UNSIGNED NOT NULL AUTO_INCREMENT,
    id_tipo_solicitud SMALLINT UNSIGNED NOT NULL,
    codigo VARCHAR(32) NOT NULL,
    nombre VARCHAR(220) NOT NULL,
    descripcion TEXT NOT NULL,
    momento VARCHAR(20) NOT NULL DEFAULT 'SOLICITUD' COMMENT 'SOLICITUD, POSTERIOR o RETORNO',
    obligatorio TINYINT(1) NOT NULL DEFAULT 1,
    condicional TINYINT(1) NOT NULL DEFAULT 0,
    condicion_aplicacion VARCHAR(700) NULL,
    grupo_codigo VARCHAR(40) NULL,
    alternativa_codigo VARCHAR(40) NULL,
    plazo_valor SMALLINT UNSIGNED NULL,
    plazo_unidad VARCHAR(30) NULL,
    numeral_norma VARCHAR(20) NOT NULL,
    orden SMALLINT UNSIGNED NOT NULL DEFAULT 0,
    estado TINYINT(1) NOT NULL DEFAULT 1,
    creado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    actualizado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id_tipo_requisito),
    UNIQUE KEY uq_lp_req_tipo_codigo (id_tipo_solicitud, codigo),
    KEY idx_lp_req_activo (id_tipo_solicitud, estado, orden),
    CONSTRAINT fk_lp_req_tipo FOREIGN KEY (id_tipo_solicitud)
        REFERENCES lp_tipo_solicitud (id_tipo_solicitud) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS lp_solicitud (
    id_solicitud BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    id_anio_lectivo SMALLINT UNSIGNED NOT NULL,
    id_institucion SMALLINT UNSIGNED NOT NULL,
    id_persona INT UNSIGNED NOT NULL,
    id_docente INT UNSIGNED NULL,
    id_tipo_solicitud SMALLINT UNSIGNED NOT NULL,
    correlativo INT UNSIGNED NOT NULL,
    numero_solicitud VARCHAR(60) NOT NULL,
    canal_presentacion VARCHAR(20) NOT NULL DEFAULT 'PRESENCIAL',
    fecha_presentacion DATETIME NULL,
    fecha_recepcion DATETIME NULL,
    fecha_inicio DATE NOT NULL,
    fecha_fin DATE NULL,
    hora_inicio TIME NULL,
    hora_fin TIME NULL,
    total_dias DECIMAL(8,2) NULL,
    total_minutos INT UNSIGNED NULL,
    motivo TEXT NOT NULL,
    declaracion_jurada TEXT NULL,
    area_desempeno VARCHAR(80) NULL,
    condicion_laboral VARCHAR(30) NULL,
    doble_vinculacion TINYINT(1) NOT NULL DEFAULT 0,
    centro_laboral_ausencia VARCHAR(220) NULL,
    estado VARCHAR(30) NOT NULL DEFAULT 'BORRADOR',
    etapa_actual VARCHAR(40) NOT NULL DEFAULT 'REGISTRO',
    fecha_limite_atencion DATETIME NULL,
    reservado TINYINT(1) NOT NULL DEFAULT 1,
    version_registro INT UNSIGNED NOT NULL DEFAULT 1,
    solicitante_dni_snapshot VARCHAR(20) NOT NULL,
    solicitante_nombre_snapshot VARCHAR(260) NOT NULL,
    cargo_snapshot VARCHAR(160) NULL,
    jornada_snapshot VARCHAR(80) NULL,
    plaza_snapshot VARCHAR(80) NULL,
    institucion_snapshot VARCHAR(220) NOT NULL,
    activo TINYINT(1) NOT NULL DEFAULT 1,
    creado_por INT UNSIGNED NOT NULL,
    actualizado_por INT UNSIGNED NULL,
    creado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    actualizado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id_solicitud),
    UNIQUE KEY uq_lp_sol_numero (id_anio_lectivo, numero_solicitud),
    UNIQUE KEY uq_lp_sol_correlativo (id_anio_lectivo, id_institucion, correlativo),
    KEY idx_lp_sol_persona_fecha (id_persona, fecha_inicio, fecha_fin),
    KEY idx_lp_sol_bandeja (id_institucion, estado, etapa_actual, fecha_recepcion),
    KEY idx_lp_sol_tipo (id_tipo_solicitud, fecha_inicio),
    KEY idx_lp_sol_docente (id_docente),
    KEY idx_lp_sol_creado_por (creado_por),
    KEY idx_lp_sol_actualizado_por (actualizado_por),
    CONSTRAINT fk_lp_sol_anio FOREIGN KEY (id_anio_lectivo)
        REFERENCES anio_lectivo (id_anio_lectivo) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_sol_ie FOREIGN KEY (id_institucion)
        REFERENCES institucion_educativa (id_institucion) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_sol_persona FOREIGN KEY (id_persona)
        REFERENCES persona (id_persona) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_sol_docente FOREIGN KEY (id_docente)
        REFERENCES docente (id_docente) ON UPDATE CASCADE ON DELETE SET NULL,
    CONSTRAINT fk_lp_sol_tipo FOREIGN KEY (id_tipo_solicitud)
        REFERENCES lp_tipo_solicitud (id_tipo_solicitud) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_sol_creador FOREIGN KEY (creado_por)
        REFERENCES usuario_sistema (id_usuario) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_sol_editor FOREIGN KEY (actualizado_por)
        REFERENCES usuario_sistema (id_usuario) ON UPDATE CASCADE ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS lp_documento (
    id_documento BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    id_solicitud BIGINT UNSIGNED NOT NULL,
    id_tipo_requisito INT UNSIGNED NULL,
    tipo_documento VARCHAR(50) NOT NULL,
    nombre_original VARCHAR(255) NOT NULL,
    nombre_guardado VARCHAR(255) NOT NULL,
    ruta_privada VARCHAR(700) NOT NULL,
    mime_type VARCHAR(120) NOT NULL,
    tamano_bytes BIGINT UNSIGNED NOT NULL,
    sha256 CHAR(64) NOT NULL,
    numero_documento VARCHAR(120) NULL,
    entidad_emisora VARCHAR(220) NULL,
    fecha_documento DATE NULL,
    folios SMALLINT UNSIGNED NOT NULL DEFAULT 1,
    version_documento SMALLINT UNSIGNED NOT NULL DEFAULT 1,
    verificacion_estado VARCHAR(25) NOT NULL DEFAULT 'PENDIENTE',
    verificacion_observacion VARCHAR(700) NULL,
    reservado TINYINT(1) NOT NULL DEFAULT 1,
    estado TINYINT(1) NOT NULL DEFAULT 1,
    creado_por INT UNSIGNED NOT NULL,
    verificado_por INT UNSIGNED NULL,
    creado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    verificado_en DATETIME NULL,
    PRIMARY KEY (id_documento),
    UNIQUE KEY uq_lp_doc_version (id_solicitud, sha256, version_documento),
    KEY idx_lp_doc_requisito (id_tipo_requisito, estado),
    KEY idx_lp_doc_creado_por (creado_por),
    KEY idx_lp_doc_verificado_por (verificado_por),
    CONSTRAINT fk_lp_doc_sol FOREIGN KEY (id_solicitud)
        REFERENCES lp_solicitud (id_solicitud) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_doc_req FOREIGN KEY (id_tipo_requisito)
        REFERENCES lp_tipo_requisito (id_tipo_requisito) ON UPDATE CASCADE ON DELETE SET NULL,
    CONSTRAINT fk_lp_doc_creador FOREIGN KEY (creado_por)
        REFERENCES usuario_sistema (id_usuario) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_doc_verificador FOREIGN KEY (verificado_por)
        REFERENCES usuario_sistema (id_usuario) ON UPDATE CASCADE ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS lp_estado_historial (
    id_historial BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    id_solicitud BIGINT UNSIGNED NOT NULL,
    estado_anterior VARCHAR(30) NULL,
    estado_nuevo VARCHAR(30) NOT NULL,
    etapa_anterior VARCHAR(40) NULL,
    etapa_nueva VARCHAR(40) NOT NULL,
    accion VARCHAR(60) NOT NULL,
    comentario TEXT NULL,
    datos_evento LONGTEXT NULL COMMENT 'JSON serializado; no almacenar archivos ni secretos',
    actor_rol VARCHAR(30) NOT NULL,
    actor_id_usuario INT UNSIGNED NULL,
    actor_nombre_snapshot VARCHAR(160) NOT NULL,
    ip_origen VARCHAR(45) NULL,
    creado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (id_historial),
    KEY idx_lp_hist_sol_fecha (id_solicitud, creado_en),
    KEY idx_lp_hist_actor (actor_id_usuario, creado_en),
    CONSTRAINT fk_lp_hist_sol FOREIGN KEY (id_solicitud)
        REFERENCES lp_solicitud (id_solicitud) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_hist_actor FOREIGN KEY (actor_id_usuario)
        REFERENCES usuario_sistema (id_usuario) ON UPDATE CASCADE ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS lp_expediente (
    id_expediente BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    id_solicitud BIGINT UNSIGNED NOT NULL,
    id_anio_lectivo SMALLINT UNSIGNED NOT NULL,
    numero_expediente VARCHAR(70) NOT NULL,
    fecha_apertura DATETIME NOT NULL,
    fecha_cierre DATETIME NULL,
    oficina_actual VARCHAR(160) NULL,
    folios_totales INT UNSIGNED NOT NULL DEFAULT 0,
    estado VARCHAR(30) NOT NULL DEFAULT 'ABIERTO',
    asignado_a INT UNSIGNED NULL,
    creado_por INT UNSIGNED NOT NULL,
    creado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    actualizado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id_expediente),
    UNIQUE KEY uq_lp_exp_sol (id_solicitud),
    UNIQUE KEY uq_lp_exp_numero (id_anio_lectivo, numero_expediente),
    KEY idx_lp_exp_bandeja (oficina_actual, estado, fecha_apertura),
    KEY idx_lp_exp_asignado (asignado_a),
    KEY idx_lp_exp_creador (creado_por),
    CONSTRAINT fk_lp_exp_sol FOREIGN KEY (id_solicitud)
        REFERENCES lp_solicitud (id_solicitud) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_exp_anio FOREIGN KEY (id_anio_lectivo)
        REFERENCES anio_lectivo (id_anio_lectivo) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_exp_asignado FOREIGN KEY (asignado_a)
        REFERENCES usuario_sistema (id_usuario) ON UPDATE CASCADE ON DELETE SET NULL,
    CONSTRAINT fk_lp_exp_creador FOREIGN KEY (creado_por)
        REFERENCES usuario_sistema (id_usuario) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS lp_papeleta (
    id_papeleta BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    id_solicitud BIGINT UNSIGNED NOT NULL,
    numero_papeleta VARCHAR(70) NOT NULL,
    fecha_permiso DATE NOT NULL,
    hora_salida TIME NOT NULL,
    hora_retorno_prevista TIME NULL,
    hora_retorno_real TIME NULL,
    minutos_autorizados SMALLINT UNSIGNED NOT NULL,
    minutos_compensar SMALLINT UNSIGNED NOT NULL DEFAULT 0,
    motivo_snapshot VARCHAR(700) NOT NULL,
    estado VARCHAR(25) NOT NULL DEFAULT 'EMITIDA',
    autorizada_por INT UNSIGNED NOT NULL,
    registrada_por INT UNSIGNED NOT NULL,
    autorizada_en DATETIME NOT NULL,
    creado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    actualizado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id_papeleta),
    UNIQUE KEY uq_lp_pap_sol (id_solicitud),
    UNIQUE KEY uq_lp_pap_numero (numero_papeleta),
    KEY idx_lp_pap_fecha (fecha_permiso, estado),
    KEY idx_lp_pap_autoriza (autorizada_por),
    KEY idx_lp_pap_registra (registrada_por),
    CONSTRAINT fk_lp_pap_sol FOREIGN KEY (id_solicitud)
        REFERENCES lp_solicitud (id_solicitud) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_pap_autoriza FOREIGN KEY (autorizada_por)
        REFERENCES usuario_sistema (id_usuario) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_pap_registra FOREIGN KEY (registrada_por)
        REFERENCES usuario_sistema (id_usuario) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS lp_remision_ugel (
    id_remision BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    id_solicitud BIGINT UNSIGNED NOT NULL,
    id_expediente BIGINT UNSIGNED NOT NULL,
    numero_oficio VARCHAR(100) NOT NULL,
    fecha_remision DATETIME NOT NULL,
    entidad_destino VARCHAR(220) NOT NULL,
    mesa_partes_destino VARCHAR(180) NULL,
    codigo_tramite_externo VARCHAR(120) NULL,
    fecha_recepcion DATETIME NULL,
    cargo_id_documento BIGINT UNSIGNED NULL,
    estado VARCHAR(30) NOT NULL DEFAULT 'REMITIDA',
    observacion VARCHAR(700) NULL,
    remitido_por INT UNSIGNED NOT NULL,
    creado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    actualizado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id_remision),
    UNIQUE KEY uq_lp_rem_oficio (numero_oficio),
    KEY idx_lp_rem_sol_fecha (id_solicitud, fecha_remision),
    KEY idx_lp_rem_exp (id_expediente),
    KEY idx_lp_rem_cargo (cargo_id_documento),
    KEY idx_lp_rem_usuario (remitido_por),
    CONSTRAINT fk_lp_rem_sol FOREIGN KEY (id_solicitud)
        REFERENCES lp_solicitud (id_solicitud) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_rem_exp FOREIGN KEY (id_expediente)
        REFERENCES lp_expediente (id_expediente) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_rem_cargo FOREIGN KEY (cargo_id_documento)
        REFERENCES lp_documento (id_documento) ON UPDATE CASCADE ON DELETE SET NULL,
    CONSTRAINT fk_lp_rem_usuario FOREIGN KEY (remitido_por)
        REFERENCES usuario_sistema (id_usuario) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS lp_resolucion (
    id_resolucion BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    id_solicitud BIGINT UNSIGNED NOT NULL,
    id_remision BIGINT UNSIGNED NULL,
    id_documento BIGINT UNSIGNED NULL,
    numero_resolucion VARCHAR(120) NOT NULL,
    tipo_resolucion VARCHAR(40) NOT NULL DEFAULT 'DIRECTORAL',
    fecha_emision DATE NOT NULL,
    decision VARCHAR(30) NOT NULL,
    fecha_inicio_efecto DATE NULL,
    fecha_fin_efecto DATE NULL,
    fecha_notificacion DATETIME NULL,
    medio_notificacion VARCHAR(40) NULL,
    constancia_notificacion VARCHAR(180) NULL,
    registrado_nexus TINYINT(1) NOT NULL DEFAULT 0,
    fecha_registro_nexus DATETIME NULL,
    registrado_ayni TINYINT(1) NOT NULL DEFAULT 0,
    fecha_registro_ayni DATETIME NULL,
    estado VARCHAR(25) NOT NULL DEFAULT 'EMITIDA',
    observacion TEXT NULL,
    registrado_por INT UNSIGNED NOT NULL,
    creado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    actualizado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id_resolucion),
    UNIQUE KEY uq_lp_res_numero (numero_resolucion),
    KEY idx_lp_res_sol_fecha (id_solicitud, fecha_emision),
    KEY idx_lp_res_remision (id_remision),
    KEY idx_lp_res_documento (id_documento),
    KEY idx_lp_res_usuario (registrado_por),
    CONSTRAINT fk_lp_res_sol FOREIGN KEY (id_solicitud)
        REFERENCES lp_solicitud (id_solicitud) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_res_rem FOREIGN KEY (id_remision)
        REFERENCES lp_remision_ugel (id_remision) ON UPDATE CASCADE ON DELETE SET NULL,
    CONSTRAINT fk_lp_res_doc FOREIGN KEY (id_documento)
        REFERENCES lp_documento (id_documento) ON UPDATE CASCADE ON DELETE SET NULL,
    CONSTRAINT fk_lp_res_usuario FOREIGN KEY (registrado_por)
        REFERENCES usuario_sistema (id_usuario) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS lp_recuperacion_hora (
    id_recuperacion BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    id_solicitud BIGINT UNSIGNED NOT NULL,
    numero_secuencia SMALLINT UNSIGNED NOT NULL,
    fecha_programada DATE NOT NULL,
    hora_inicio TIME NOT NULL,
    hora_fin TIME NOT NULL,
    minutos_programados SMALLINT UNSIGNED NOT NULL,
    fecha_realizada DATE NULL,
    minutos_realizados SMALLINT UNSIGNED NULL,
    actividad_compensatoria VARCHAR(700) NOT NULL,
    evidencia_id_documento BIGINT UNSIGNED NULL,
    estado VARCHAR(25) NOT NULL DEFAULT 'PROGRAMADA',
    observacion VARCHAR(700) NULL,
    aprobada_por INT UNSIGNED NULL,
    creada_por INT UNSIGNED NOT NULL,
    creado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    actualizado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id_recuperacion),
    UNIQUE KEY uq_lp_rec_sol_sec (id_solicitud, numero_secuencia),
    KEY idx_lp_rec_fecha (fecha_programada, estado),
    KEY idx_lp_rec_evidencia (evidencia_id_documento),
    KEY idx_lp_rec_aprobador (aprobada_por),
    KEY idx_lp_rec_creador (creada_por),
    CONSTRAINT fk_lp_rec_sol FOREIGN KEY (id_solicitud)
        REFERENCES lp_solicitud (id_solicitud) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_rec_doc FOREIGN KEY (evidencia_id_documento)
        REFERENCES lp_documento (id_documento) ON UPDATE CASCADE ON DELETE SET NULL,
    CONSTRAINT fk_lp_rec_aprobador FOREIGN KEY (aprobada_por)
        REFERENCES usuario_sistema (id_usuario) ON UPDATE CASCADE ON DELETE SET NULL,
    CONSTRAINT fk_lp_rec_creador FOREIGN KEY (creada_por)
        REFERENCES usuario_sistema (id_usuario) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS lp_continuidad_servicio (
    id_continuidad BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    id_solicitud BIGINT UNSIGNED NOT NULL,
    riesgo_servicio VARCHAR(20) NOT NULL DEFAULT 'POR_EVALUAR',
    estrategia VARCHAR(40) NOT NULL,
    descripcion TEXT NOT NULL,
    id_docente_reemplazo INT UNSIGNED NULL,
    fecha_inicio DATE NOT NULL,
    fecha_fin DATE NULL,
    horas_cubiertas DECIMAL(8,2) NULL,
    entrega_cargo_id_documento BIGINT UNSIGNED NULL,
    estado VARCHAR(25) NOT NULL DEFAULT 'PLANIFICADA',
    fecha_verificacion DATETIME NULL,
    observacion_verificacion VARCHAR(700) NULL,
    responsable_id_usuario INT UNSIGNED NOT NULL,
    verificado_por INT UNSIGNED NULL,
    creado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    actualizado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id_continuidad),
    KEY idx_lp_cont_sol_estado (id_solicitud, estado),
    KEY idx_lp_cont_periodo (fecha_inicio, fecha_fin),
    KEY idx_lp_cont_reemplazo (id_docente_reemplazo),
    KEY idx_lp_cont_documento (entrega_cargo_id_documento),
    KEY idx_lp_cont_responsable (responsable_id_usuario),
    KEY idx_lp_cont_verificador (verificado_por),
    CONSTRAINT fk_lp_cont_sol FOREIGN KEY (id_solicitud)
        REFERENCES lp_solicitud (id_solicitud) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_cont_reemplazo FOREIGN KEY (id_docente_reemplazo)
        REFERENCES docente (id_docente) ON UPDATE CASCADE ON DELETE SET NULL,
    CONSTRAINT fk_lp_cont_doc FOREIGN KEY (entrega_cargo_id_documento)
        REFERENCES lp_documento (id_documento) ON UPDATE CASCADE ON DELETE SET NULL,
    CONSTRAINT fk_lp_cont_responsable FOREIGN KEY (responsable_id_usuario)
        REFERENCES usuario_sistema (id_usuario) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_cont_verificador FOREIGN KEY (verificado_por)
        REFERENCES usuario_sistema (id_usuario) ON UPDATE CASCADE ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS lp_tramo_vacacional (
    id_tramo BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    id_solicitud BIGINT UNSIGNED NOT NULL,
    numero_tramo TINYINT UNSIGNED NOT NULL,
    fecha_inicio DATE NOT NULL,
    fecha_fin DATE NOT NULL,
    dias_calendario TINYINT UNSIGNED NOT NULL,
    origen VARCHAR(25) NOT NULL COMMENT 'PROGRAMADO, REPROGRAMADO, FRACCIONADO o ADELANTADO',
    periodo_generado_desde DATE NULL,
    periodo_generado_hasta DATE NULL,
    estado VARCHAR(25) NOT NULL DEFAULT 'PROPUESTO',
    creado_por INT UNSIGNED NOT NULL,
    creado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    actualizado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id_tramo),
    UNIQUE KEY uq_lp_tramo_sol_num (id_solicitud, numero_tramo),
    KEY idx_lp_tramo_periodo (fecha_inicio, fecha_fin, estado),
    KEY idx_lp_tramo_creador (creado_por),
    CONSTRAINT fk_lp_tramo_sol FOREIGN KEY (id_solicitud)
        REFERENCES lp_solicitud (id_solicitud) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_tramo_creador FOREIGN KEY (creado_por)
        REFERENCES usuario_sistema (id_usuario) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS lp_correlativo (
    id_correlativo INT UNSIGNED NOT NULL AUTO_INCREMENT,
    id_anio_lectivo SMALLINT UNSIGNED NOT NULL,
    id_institucion SMALLINT UNSIGNED NOT NULL,
    tipo_documento VARCHAR(30) NOT NULL,
    prefijo VARCHAR(20) NOT NULL,
    ultimo_numero INT UNSIGNED NOT NULL DEFAULT 0,
    longitud SMALLINT UNSIGNED NOT NULL DEFAULT 6,
    version_registro INT UNSIGNED NOT NULL DEFAULT 1,
    actualizado_por INT UNSIGNED NULL,
    actualizado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id_correlativo),
    UNIQUE KEY uq_lp_corr_ambito (id_anio_lectivo, id_institucion, tipo_documento),
    KEY idx_lp_corr_ie (id_institucion),
    KEY idx_lp_corr_usuario (actualizado_por),
    CONSTRAINT fk_lp_corr_anio FOREIGN KEY (id_anio_lectivo)
        REFERENCES anio_lectivo (id_anio_lectivo) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_corr_ie FOREIGN KEY (id_institucion)
        REFERENCES institucion_educativa (id_institucion) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_corr_usuario FOREIGN KEY (actualizado_por)
        REFERENCES usuario_sistema (id_usuario) ON UPDATE CASCADE ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS lp_configuracion (
    id_configuracion INT UNSIGNED NOT NULL AUTO_INCREMENT,
    id_anio_lectivo SMALLINT UNSIGNED NOT NULL,
    id_institucion SMALLINT UNSIGNED NOT NULL,
    dias_habiles_remision_ugel SMALLINT UNSIGNED NOT NULL DEFAULT 2,
    maximo_archivo_bytes BIGINT UNSIGNED NOT NULL DEFAULT 10485760,
    extensiones_permitidas VARCHAR(255) NOT NULL DEFAULT 'pdf,jpg,jpeg,png,xls,xlsx,docx',
    zona_horaria VARCHAR(60) NOT NULL DEFAULT 'America/Lima',
    entidad_ugel VARCHAR(220) NULL,
    mesa_partes_ugel VARCHAR(220) NULL,
    correo_ugel VARCHAR(160) NULL,
    serie_solicitud VARCHAR(20) NOT NULL DEFAULT 'LP',
    serie_expediente VARCHAR(20) NOT NULL DEFAULT 'EXP-LP',
    serie_papeleta VARCHAR(20) NOT NULL DEFAULT 'PAP-LP',
    serie_oficio VARCHAR(20) NOT NULL DEFAULT 'OF-LP',
    alertar_antes_dias SMALLINT UNSIGNED NOT NULL DEFAULT 3,
    version_registro INT UNSIGNED NOT NULL DEFAULT 1,
    actualizado_por INT UNSIGNED NULL,
    creado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    actualizado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id_configuracion),
    UNIQUE KEY uq_lp_cfg_ambito (id_anio_lectivo, id_institucion),
    KEY idx_lp_cfg_ie (id_institucion),
    KEY idx_lp_cfg_usuario (actualizado_por),
    CONSTRAINT fk_lp_cfg_anio FOREIGN KEY (id_anio_lectivo)
        REFERENCES anio_lectivo (id_anio_lectivo) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_cfg_ie FOREIGN KEY (id_institucion)
        REFERENCES institucion_educativa (id_institucion) ON UPDATE CASCADE ON DELETE RESTRICT,
    CONSTRAINT fk_lp_cfg_usuario FOREIGN KEY (actualizado_por)
        REFERENCES usuario_sistema (id_usuario) ON UPDATE CASCADE ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Norma vigente. La RVM N.° 031-2026-MINEDU derogó la RVM N.° 081-2023-MINEDU.
INSERT INTO lp_norma
    (codigo, tipo_norma, numero, titulo, entidad_emisora, fecha_emision,
     fecha_publicacion, fecha_vigencia, url_oficial, reemplaza_codigo,
     version_catalogo, vigente)
VALUES
    ('RVM-031-2026-MINEDU', 'RESOLUCION_VICEMINISTERIAL', '031-2026-MINEDU',
     'Disposiciones para el procedimiento de las licencias, permisos y vacaciones de los profesores en el marco de la Ley N.° 29944, Ley de Reforma Magisterial',
     'Ministerio de Educación', '2026-02-26', '2026-02-27', '2026-02-27',
     'https://www.minedu.gob.pe/reforma-magisterial/pdf/licencias/2026/rvm_031_norma_licencias_permisos_docentes.pdf',
     'RVM-081-2023-MINEDU', 1, 1)
ON DUPLICATE KEY UPDATE
    tipo_norma = VALUES(tipo_norma),
    numero = VALUES(numero),
    titulo = VALUES(titulo),
    entidad_emisora = VALUES(entidad_emisora),
    fecha_emision = VALUES(fecha_emision),
    fecha_publicacion = VALUES(fecha_publicacion),
    fecha_vigencia = VALUES(fecha_vigencia),
    url_oficial = VALUES(url_oficial),
    reemplaza_codigo = VALUES(reemplaza_codigo),
    version_catalogo = VALUES(version_catalogo),
    vigente = VALUES(vigente);

SET @lp_norma_031 := (
    SELECT id_norma FROM lp_norma WHERE codigo = 'RVM-031-2026-MINEDU' LIMIT 1
);

-- 20 licencias: 16 con goce y 4 sin goce (numerales 5.4 a 5.23).
INSERT INTO lp_tipo_solicitud
    (id_norma, codigo, categoria, clase, nombre, numeral_norma, descripcion,
     regla_resumen, aplica_nombrado, aplica_contratado, unidad_duracion,
     duracion_maxima, requiere_papeleta, requiere_resolucion,
     requiere_remision_ugel, permite_recuperacion, requiere_continuidad,
     orden, vigente_desde, estado)
VALUES
(@lp_norma_031,'LIC-G-01','LICENCIA','CON_GOCE','Incapacidad temporal','5.4','Licencia por incapacidad temporal acreditada conforme a la normativa de seguridad social.','Los primeros 20 días son a cargo del empleador; desde el día 21 corresponde CITT. Los plazos y documentos varían por atención ambulatoria u hospitalización.',1,1,'DIA_CALENDARIO',NULL,0,1,1,0,1,1,'2026-02-27',1),
(@lp_norma_031,'LIC-G-02','LICENCIA','CON_GOCE','Familiar directo con enfermedad grave o terminal, o accidente grave','5.5','Licencia para asistir a un familiar directo con enfermedad grave o terminal o que sufrió accidente grave.','Hasta 7 días calendario; reglas especiales para hijo menor con cáncer. Puede existir recuperación de días adicionales en los supuestos previstos por la norma.',1,1,'DIA_CALENDARIO',7,0,1,1,1,1,2,'2026-02-27',1),
(@lp_norma_031,'LIC-G-03','LICENCIA','CON_GOCE','Asistencia médica y terapia de rehabilitación de personas con discapacidad','5.6','Licencia para acompañar a una persona con discapacidad a atención médica o terapia de rehabilitación.','Se solicita indicando fechas y horas; exige acreditar vínculo, discapacidad y asistencia efectiva posterior.',1,1,'HORA',NULL,0,1,1,0,1,3,'2026-02-27',1),
(@lp_norma_031,'LIC-G-04','LICENCIA','CON_GOCE','Exámenes preventivos oncológicos','5.7','Licencia para realizar exámenes preventivos oncológicos.','Máximo 2 días hábiles por año; el tiempo se compensa dentro de los 30 días calendario posteriores.',1,1,'DIA_HABIL',2,0,1,1,1,1,4,'2026-02-27',1),
(@lp_norma_031,'LIC-G-05','LICENCIA','CON_GOCE','Exámenes de detección temprana de cáncer de mama y cuello uterino','5.8','Licencia para exámenes de detección temprana de cáncer de mama y cuello uterino.','Máximo 1 día hábil por año; debe acreditarse la atención dentro del plazo posterior fijado.',1,1,'DIA_HABIL',1,0,1,1,0,1,5,'2026-02-27',1),
(@lp_norma_031,'LIC-G-06','LICENCIA','CON_GOCE','Maternidad','5.9','Licencia por maternidad para profesoras nombradas y contratadas.','98 días calendario, normalmente 49 prenatales y 49 postnatales, con ampliaciones legales y posibilidad de diferir el descanso prenatal.',1,1,'DIA_CALENDARIO',98,0,1,1,0,1,6,'2026-02-27',1),
(@lp_norma_031,'LIC-G-07','LICENCIA','CON_GOCE','Paternidad','5.10','Licencia por paternidad para profesor nombrado o contratado.','El plazo ordinario y sus ampliaciones se determinan por la contingencia del parto y los supuestos especiales acreditados.',1,1,'DIA_CALENDARIO',NULL,0,1,1,0,1,7,'2026-02-27',1),
(@lp_norma_031,'LIC-G-08','LICENCIA','CON_GOCE','Adopción','5.11','Licencia por adopción de niña o niño de hasta doce años.','Hasta 30 días calendario desde la entrega física o acto equivalente previsto por la norma.',1,1,'DIA_CALENDARIO',30,0,1,1,0,1,8,'2026-02-27',1),
(@lp_norma_031,'LIC-G-09','LICENCIA','CON_GOCE','Fallecimiento de padres, cónyuge o hijos','5.12','Licencia por fallecimiento de padres, cónyuge o hijos.','8 días calendario si el deceso ocurre en la provincia del centro laboral y 15 días si ocurre en provincia distinta.',1,1,'DIA_CALENDARIO',15,0,1,1,0,1,9,'2026-02-27',1),
(@lp_norma_031,'LIC-G-10','LICENCIA','CON_GOCE','Siniestros','5.13','Licencia cuando el inmueble habitual resulta afectado por siniestro, caso fortuito o fuerza mayor acreditada.','Hasta 30 días calendario, conforme a la evidencia emitida por la autoridad competente.',1,1,'DIA_CALENDARIO',30,0,1,1,0,1,10,'2026-02-27',1),
(@lp_norma_031,'LIC-G-11','LICENCIA','CON_GOCE','Estudios de posgrado, especialización o perfeccionamiento autorizados','5.14','Licencia por estudios autorizados por el Minedu o gobiernos regionales.','Solo nombrados con al menos 3 años de servicios; hasta 2 años continuos y compromiso de servir el doble del tiempo de licencia.',1,0,'DIA_CALENDARIO',730,0,1,1,0,1,11,'2026-02-27',1),
(@lp_norma_031,'LIC-G-12','LICENCIA','CON_GOCE','Capacitación organizada o autorizada por Minedu o gobiernos regionales','5.15','Licencia por capacitación oficial organizada o autorizada por Minedu o gobierno regional.','La actividad debe relacionarse con las funciones; exige compromiso de permanencia por el doble del tiempo autorizado.',1,1,'DIA_CALENDARIO',NULL,0,1,1,0,1,12,'2026-02-27',1),
(@lp_norma_031,'LIC-G-13','LICENCIA','CON_GOCE','Representación oficial del Estado Peruano','5.16','Licencia para representar oficialmente al Estado en eventos científicos, educativos, culturales o deportivos.','Hasta 30 días calendario por año fiscal, previa acreditación de la entidad competente.',1,1,'DIA_CALENDARIO',30,0,1,1,0,1,13,'2026-02-27',1),
(@lp_norma_031,'LIC-G-14','LICENCIA','CON_GOCE','Citación expresa judicial, militar o policial','5.17','Licencia para concurrir a diligencia por citación expresa judicial, militar o policial.','Comprende el tiempo de la diligencia y el traslado sustentado; las audiencias virtuales deben estar expresamente indicadas.',1,1,'DIA_HABIL',NULL,0,1,1,0,1,14,'2026-02-27',1),
(@lp_norma_031,'LIC-G-15','LICENCIA','CON_GOCE','Representación sindical','5.18','Licencia sindical conforme al alcance y representación reconocidos por la autoridad de trabajo.','Sujeta al procedimiento anual, vigencia de la junta directiva, registro ROSSP y acreditación del padrón de afiliados.',1,1,'DIA_CALENDARIO',NULL,0,1,1,0,1,15,'2026-02-27',1),
(@lp_norma_031,'LIC-G-16','LICENCIA','CON_GOCE','Desempeño de cargo de consejero regional o regidor municipal','5.19','Licencia para ejercer el cargo de consejero regional o regidor municipal.','Hasta un día de trabajo semanal o mensual según corresponda durante el mandato, previa acreditación del JNE.',1,0,'DIA_HABIL',NULL,0,1,1,0,1,16,'2026-02-27',1),
(@lp_norma_031,'LIC-SG-01','LICENCIA','SIN_GOCE','Motivos particulares','5.20','Licencia sin goce por motivos particulares.','Solo nombrados con más de un año de servicios; hasta 2 años dentro de un período de 5 años, supeditada a la necesidad del servicio.',1,0,'DIA_CALENDARIO',730,0,1,1,0,1,17,'2026-02-27',1),
(@lp_norma_031,'LIC-SG-02','LICENCIA','SIN_GOCE','Capacitación no oficializada','5.21','Licencia para estudios o capacitación sin auspicio ni propuesta del Minedu o gobierno regional.','Solo nombrados con más de un año; hasta 2 años en la trayectoria laboral y estudios relacionados con sus funciones.',1,0,'DIA_CALENDARIO',730,0,1,1,0,1,18,'2026-02-27',1),
(@lp_norma_031,'LIC-SG-03','LICENCIA','SIN_GOCE','Desempeño de funciones públicas por elección o cargos políticos o de confianza','5.22','Licencia por función pública de elección o por cargo político o de confianza.','Rige mientras permanezca en el cargo; el plazo de solicitud depende del área de desempeño y del momento en que se recibe la acreditación.',1,0,'DIA_CALENDARIO',NULL,0,1,1,0,1,19,'2026-02-27',1),
(@lp_norma_031,'LIC-SG-04','LICENCIA','SIN_GOCE','Enfermedad grave de padres, cónyuge, conviviente reconocido judicialmente o hijos','5.23','Licencia sin goce para atender enfermedad grave de familiar directo.','Hasta 6 meses, previa acreditación médica y del vínculo familiar.',1,0,'DIA_CALENDARIO',183,0,1,1,0,1,20,'2026-02-27',1)
ON DUPLICATE KEY UPDATE
    id_norma=VALUES(id_norma), categoria=VALUES(categoria), clase=VALUES(clase),
    nombre=VALUES(nombre), numeral_norma=VALUES(numeral_norma),
    descripcion=VALUES(descripcion), regla_resumen=VALUES(regla_resumen),
    aplica_nombrado=VALUES(aplica_nombrado), aplica_contratado=VALUES(aplica_contratado),
    unidad_duracion=VALUES(unidad_duracion), duracion_maxima=VALUES(duracion_maxima),
    requiere_papeleta=VALUES(requiere_papeleta), requiere_resolucion=VALUES(requiere_resolucion),
    requiere_remision_ugel=VALUES(requiere_remision_ugel), permite_recuperacion=VALUES(permite_recuperacion),
    requiere_continuidad=VALUES(requiere_continuidad), orden=VALUES(orden),
    vigente_desde=VALUES(vigente_desde), vigente_hasta=NULL, estado=VALUES(estado);

-- Requisitos normativos. Se usa una tabla temporal para mantener el seed legible,
-- atómico e idempotente sin fijar identificadores autoincrementales.
DROP TEMPORARY TABLE IF EXISTS tmp_lp_requisito_seed;
CREATE TEMPORARY TABLE tmp_lp_requisito_seed (
    tipo_codigo VARCHAR(32) NOT NULL,
    codigo VARCHAR(32) NOT NULL,
    nombre VARCHAR(220) NOT NULL,
    descripcion TEXT NOT NULL,
    momento VARCHAR(20) NOT NULL,
    obligatorio TINYINT(1) NOT NULL,
    condicional TINYINT(1) NOT NULL,
    condicion_aplicacion VARCHAR(700) NULL,
    grupo_codigo VARCHAR(40) NULL,
    alternativa_codigo VARCHAR(40) NULL,
    plazo_valor SMALLINT UNSIGNED NULL,
    plazo_unidad VARCHAR(30) NULL,
    numeral_norma VARCHAR(20) NOT NULL,
    orden SMALLINT UNSIGNED NOT NULL,
    PRIMARY KEY (tipo_codigo, codigo)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO tmp_lp_requisito_seed
    (tipo_codigo, codigo, nombre, descripcion, momento, obligatorio,
     condicional, condicion_aplicacion, grupo_codigo, alternativa_codigo,
     plazo_valor, plazo_unidad, numeral_norma, orden)
VALUES
-- 5.4 Incapacidad temporal.
('LIC-G-01','SOLICITUD','Solicitud dentro del plazo','Presentar la solicitud al jefe inmediato dentro de los 2 días hábiles siguientes al inicio de la contingencia; para ámbito rural 1 o VRAEM el plazo es de 5 días hábiles.','SOLICITUD',1,0,NULL,NULL,NULL,2,'DIA_HABIL_DESPUES','5.4.4.a',1),
('LIC-G-01','CITT','Certificado de Incapacidad Temporal para el Trabajo','Presentar CITT. Es obligatorio desde el día 21 de incapacidad y también puede sustentar el periodo inicial.','SOLICITUD',1,1,'Obligatorio desde el día 21; alternativo al conjunto de certificado médico y sustentos para los primeros 20 días.','SALUD','CITT',NULL,NULL,'5.4.4.b',2),
('LIC-G-01','CM_SUSTENTOS','Certificado médico y sustentos','Para los primeros 20 días, presentar certificado médico junto con receta, comprobante de honorarios o atención médica y comprobante de compra de medicamentos, todos contemporáneos al inicio de la licencia.','SOLICITUD',1,1,'Alternativa al CITT únicamente durante los primeros 20 días.','SALUD','CM',NULL,NULL,'5.4.4.b',3),
('LIC-G-01','HOSPITALIZACION','Constancia de hospitalización','Puede iniciar el trámite cuando existe hospitalización; el CITT se presenta dentro de los 3 días hábiles de emitido o la solicitud se formula dentro de los 2 días hábiles posteriores al alta con el CITT.','SOLICITUD',1,1,'Solo cuando el profesor estuvo hospitalizado.','HOSPITALIZACION',NULL,3,'DIA_HABIL_DESPUES','5.4.4.c',4),
('LIC-G-01','DJ_DEMORA_CITT','Declaración jurada por demora del CITT','Cuando la emisión del CITT se demora, presentar declaración jurada y regularizar el CITT dentro de los 2 días hábiles de su emisión, antes de que se deniegue la solicitud.','SOLICITUD',1,1,'Solo cuando la entidad de salud demora la emisión del CITT.','DEMORA_CITT',NULL,2,'DIA_HABIL_DESPUES','5.4.4.d',5),

-- 5.5 Familiar con enfermedad grave, terminal o accidente grave.
('LIC-G-02','SOLICITUD','Solicitud dentro del plazo','Presentar la solicitud dentro de los 2 días hábiles posteriores al diagnóstico de enfermedad grave o terminal o al accidente grave.','SOLICITUD',1,0,NULL,NULL,NULL,2,'DIA_HABIL_DESPUES','5.5.4.a',1),
('LIC-G-02','CM_LEY_30012','Certificado médico oficial','Presentar certificado médico en el formato regulado por el Decreto Supremo N.° 008-2017-TR.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.5.4.b',2),
('LIC-G-02','VINCULO','Documento de vínculo familiar','Acreditar filiación con acta de nacimiento o DNI del hijo; para padre o madre, acta de nacimiento del profesor y DNI del familiar; matrimonio con acta; convivencia con documento notarial, judicial o registral.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.5.4.c',3),
('LIC-G-02','TUTELA_CURATELA','Resolución de tutela o curatela','Presentar resolución judicial de tutela o curatela cuando corresponda.','SOLICITUD',1,1,'Cuando el vínculo de cuidado se sustenta en tutela o curatela.','REPRESENTACION',NULL,NULL,NULL,'5.5.4.d',4),
('LIC-G-02','DJ_REGULARIZACION','Declaración jurada y regularización','Si no es posible adjuntar un documento al solicitar, presentar declaración jurada y regularizarlo dentro de los 2 días hábiles de obtenido.','SOLICITUD',1,1,'Solo ante imposibilidad acreditada de contar oportunamente con alguno de los documentos.','REGULARIZACION',NULL,2,'DIA_HABIL_DESPUES','5.5.4.e',5),

-- 5.6 Asistencia a persona con discapacidad.
('LIC-G-03','SOLICITUD','Solicitud anticipada','Presentar solicitud con al menos 2 días hábiles de anticipación, indicando fechas y horas de la asistencia.','SOLICITUD',1,0,NULL,NULL,NULL,2,'DIA_HABIL_ANTES','5.6.4.a',1),
('LIC-G-03','CITA','Cita médica o de terapia','Adjuntar cita de atención médica o terapia de rehabilitación.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.6.4.b',2),
('LIC-G-03','VINCULO_APOYO','Vínculo o designación de apoyo','Acreditar filiación, tutela, curatela o designación judicial, notarial o registral de apoyo, según corresponda.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.6.4.c',3),
('LIC-G-03','DISCAPACIDAD','Acreditación de discapacidad','Presentar certificado de discapacidad o carné de inscripción en el Conadis.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.6.4.d',4),
('LIC-G-03','CONSTANCIA_ATENCION','Constancia de acompañamiento','Acreditar que la persona con discapacidad fue acompañada por el profesor durante la atención o terapia.','POSTERIOR',1,0,NULL,NULL,NULL,2,'DIA_HABIL_DESPUES','5.6.4.e',5),

-- 5.7 y 5.8 Exámenes oncológicos.
('LIC-G-04','SOLICITUD','Solicitud anticipada','Presentar solicitud con 5 días calendario de anticipación.','SOLICITUD',1,0,NULL,NULL,NULL,5,'DIA_CALENDARIO_ANTES','5.7.3.a',1),
('LIC-G-04','ORDEN_MEDICA','Orden médica','Adjuntar orden médica que detalle los exámenes preventivos oncológicos.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.7.3.b',2),
('LIC-G-04','CONSTANCIA_EXAMEN','Constancia de realización','Presentar documentos que acrediten la realización de los exámenes.','POSTERIOR',1,0,NULL,NULL,NULL,3,'DIA_HABIL_DESPUES','5.7.3.c',3),
('LIC-G-04','PLAN_RECUPERACION','Programación de compensación','Registrar la compensación del tiempo utilizado dentro de los 30 días calendario posteriores a la licencia.','POSTERIOR',1,0,NULL,NULL,NULL,30,'DIA_CALENDARIO_DESPUES','5.7',4),
('LIC-G-05','SOLICITUD','Solicitud anticipada','Presentar solicitud con 5 días calendario de anticipación.','SOLICITUD',1,0,NULL,NULL,NULL,5,'DIA_CALENDARIO_ANTES','5.8.3.a',1),
('LIC-G-05','CITA','Programación de atención','Adjuntar cita o programación de los exámenes de detección temprana.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.8.3.b',2),
('LIC-G-05','CONSTANCIA_ATENCION','Constancia de atención','Acreditar la atención efectuada.','POSTERIOR',1,0,NULL,NULL,NULL,3,'DIA_HABIL_DESPUES','5.8.3.c',3),

-- 5.9 Maternidad.
('LIC-G-06','SOLICITUD','Solicitud anticipada','La profesora nombrada presenta la solicitud 15 días calendario antes del inicio; la contratada que ingresa con la contingencia la presenta al día siguiente de la adjudicación.','SOLICITUD',1,0,NULL,NULL,NULL,15,'DIA_CALENDARIO_ANTES','5.9.4.a',1),
('LIC-G-06','CITT_MATERNIDAD','CITT por maternidad','Presentar Certificado de Incapacidad Temporal para el Trabajo por maternidad.','SOLICITUD',1,0,NULL,'SALUD','CITT',NULL,NULL,'5.9.4.b',2),
('LIC-G-06','CM_VALIDADO','Certificado médico validado','Como alternativa, presentar certificado médico con fecha probable de parto validado por EsSalud.','SOLICITUD',1,0,NULL,'SALUD','CM_VALIDADO',NULL,NULL,'5.9.4.b',3),
('LIC-G-06','DIFERIMIENTO','Sustento para diferir descanso prenatal','Para diferir el descanso prenatal: solicitud 2 meses antes, CITT o certificado validado e informe médico que descarte perjuicio para madre o concebido.','SOLICITUD',1,1,'Solo si se solicita diferir total o parcialmente el descanso prenatal.','DIFERIMIENTO',NULL,2,'MES_ANTES','5.9.5',4),
('LIC-G-06','AMPLIACION','Sustento de ampliación','Presentar documento médico del supuesto legal que amplía el descanso, incluido nacimiento múltiple o discapacidad del recién nacido cuando corresponda.','POSTERIOR',1,1,'Solo cuando se solicita una ampliación legal del periodo postnatal.','AMPLIACION',NULL,NULL,NULL,'5.9',5),

-- 5.10 Paternidad.
('LIC-G-07','SOLICITUD','Comunicación anticipada','Comunicar la fecha probable del parto con 15 días calendario de anticipación.','SOLICITUD',1,0,NULL,NULL,NULL,15,'DIA_CALENDARIO_ANTES','5.10.4.a',1),
('LIC-G-07','VINCULO_PAREJA','Acreditación de matrimonio o convivencia','Presentar acta de matrimonio o documento que acredite la convivencia reconocida legalmente.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.10.4.b',2),
('LIC-G-07','CM_PARTO','Certificado con fecha probable de parto','Adjuntar certificado médico que indique la fecha probable del parto.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.10.4.c',3),
('LIC-G-07','NACIMIENTO','Acta de nacimiento','Presentar acta de nacimiento del hijo.','POSTERIOR',1,0,NULL,NULL,NULL,NULL,NULL,'5.10.4.d',4),
('LIC-G-07','ALTA','Alta médica','Presentar documento de alta de la madre y del recién nacido.','POSTERIOR',1,0,NULL,NULL,NULL,NULL,NULL,'5.10.4.e',5),
('LIC-G-07','AMPLIACION','Sustento de plazo especial','Acreditar nacimiento prematuro, múltiple, enfermedad congénita terminal, discapacidad severa o complicación grave de la madre, según el supuesto invocado.','POSTERIOR',1,1,'Solo para solicitar el plazo especial; la solicitud se presenta como máximo al tercer día de producida la contingencia.','AMPLIACION',NULL,3,'DIA_CALENDARIO_DESPUES','5.10.4.f',6),

-- 5.11 Adopción.
('LIC-G-08','SOLICITUD','Solicitud inmediata','Presentar solicitud a más tardar el día siguiente de la entrega física del menor.','SOLICITUD',1,0,NULL,NULL,NULL,1,'DIA_HABIL_DESPUES','5.11.3.a',1),
('LIC-G-08','RES_ACOGIMIENTO','Resolución de acogimiento familiar','Adjuntar resolución administrativa de acogimiento o colocación familiar cuando corresponda.','SOLICITUD',1,1,'Cuando la adopción se tramita mediante procedimiento administrativo.','ADOPCION','ADMINISTRATIVA',NULL,NULL,'5.11.3.b',2),
('LIC-G-08','ACTA_ENTREGA','Acta de entrega','Adjuntar acta de entrega física del menor.','SOLICITUD',1,0,NULL,'ENTREGA','ACTA',NULL,NULL,'5.11.3.c',3),
('LIC-G-08','RES_JUDICIAL','Resolución judicial de adopción','Adjuntar resolución judicial firme o consentida de adopción, según corresponda.','SOLICITUD',1,1,'Cuando la adopción se acredita judicialmente.','ADOPCION','JUDICIAL',NULL,NULL,'5.11.3.c',4),

-- 5.12 Fallecimiento.
('LIC-G-09','COMUNICACION','Comunicación inmediata','Comunicar el fallecimiento al superior inmediato el mismo día de conocido.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,'MISMO_DIA','5.12.3.a',1),
('LIC-G-09','SOLICITUD','Solicitud','Presentar la solicitud al día siguiente; excepcionalmente puede regularizarse al retornar al centro laboral.','SOLICITUD',1,0,NULL,NULL,NULL,1,'DIA_HABIL_DESPUES','5.12.3.a',2),
('LIC-G-09','DEFUNCION','Acta o certificado de defunción','Adjuntar acta o certificado oficial de defunción.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.12.3.b',3),
('LIC-G-09','VINCULO','Documento de vínculo familiar','Acreditar el vínculo con acta de nacimiento, DNI o acta de matrimonio, según corresponda.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.12.3.c',4),
('LIC-G-09','SEPELIO','Constancia de sepelio','Adjuntar documento de la autoridad o entidad que acredite el lugar del sepelio cuando sea necesario determinar la provincia.','SOLICITUD',1,1,'Cuando se solicitan 15 días por ocurrir el fallecimiento o sepelio en provincia distinta.','DISTANCIA',NULL,NULL,NULL,'5.12.3.d',5),

-- 5.13 Siniestros.
('LIC-G-10','SOLICITUD','Solicitud dentro del plazo','Presentar solicitud dentro de los 2 días hábiles posteriores al siniestro.','SOLICITUD',1,0,NULL,NULL,NULL,2,'DIA_HABIL_DESPUES','5.13.3.a',1),
('LIC-G-10','EMERGENCIA_INDECI','Declaratoria o certificado de emergencia','Adjuntar decreto supremo de estado de emergencia o certificado del funcionario responsable de Indeci, según corresponda.','SOLICITUD',1,1,'Para siniestro producido por caso fortuito o desastre.','SINIESTRO','EMERGENCIA',NULL,NULL,'5.13.3.b',2),
('LIC-G-10','AUTORIDAD_LOCAL','Constancia de daño al inmueble','Adjuntar documento de autoridad local competente que acredite la afectación de la vivienda habitual por fuerza mayor.','SOLICITUD',1,1,'Para siniestro o afectación acreditable por autoridad local.','SINIESTRO','AUTORIDAD_LOCAL',NULL,NULL,'5.13.3.c',3),

-- 5.14 Estudios autorizados.
('LIC-G-11','SOLICITUD','Solicitud anticipada','Presentar solicitud con 15 días calendario de anticipación.','SOLICITUD',1,0,NULL,NULL,NULL,15,'DIA_CALENDARIO_ANTES','5.14.4.a',1),
('LIC-G-11','AUSPICIO','Auspicio o propuesta oficial','Adjuntar documento de auspicio o propuesta emitido por Pronabec, Concytec o la entidad competente.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.14.4.b',2),
('LIC-G-11','COMPROMISO','Compromiso de permanencia','Suscribir compromiso de prestar servicios por el doble del tiempo de licencia al reincorporarse.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.14.4.c',3),
('LIC-G-11','CUMPLIMIENTO_PREVIO','Constancia de compromiso anterior','Presentar constancia del superior inmediato que acredite el cumplimiento del compromiso de una licencia anterior.','SOLICITUD',1,1,'Cuando exista una licencia previa sujeta a compromiso de permanencia.','ANTECEDENTE',NULL,NULL,NULL,'5.14.4.d',4),

-- 5.15 Capacitación organizada o autorizada.
('LIC-G-12','SOLICITUD','Solicitud anticipada','Presentar solicitud con 15 días calendario de anticipación.','SOLICITUD',1,0,NULL,NULL,NULL,15,'DIA_CALENDARIO_ANTES','5.15.3.a',1),
('LIC-G-12','PROPUESTA','Documento de participación oficial','Adjuntar documento que acredite la participación en innovación, investigación, sistematización, pasantía, viaje de estudios o proyecto promovido por Minedu o gobierno regional.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.15.3.b',2),
('LIC-G-12','COMPROMISO','Compromiso de permanencia','Suscribir compromiso de prestar servicios por el doble del tiempo autorizado.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.15.3.c',3),
('LIC-G-12','CUMPLIMIENTO_PREVIO','Constancia de compromiso anterior','Acreditar el cumplimiento de un compromiso de permanencia anterior, si existe.','SOLICITUD',1,1,'Cuando exista una licencia previa sujeta a compromiso de permanencia.','ANTECEDENTE',NULL,NULL,NULL,'5.15.3.d',4),

-- 5.16 Representación oficial del Estado.
('LIC-G-13','SOLICITUD','Solicitud anticipada','Presentar solicitud con 15 días calendario de anticipación al evento.','SOLICITUD',1,0,NULL,NULL,NULL,15,'DIA_CALENDARIO_ANTES','5.16.3.a',1),
('LIC-G-13','ACREDITACION_DEPORTE','Acreditación deportiva','Presentar documento de la federación deportiva o del Consejo del Deporte Escolar que acredite la representación oficial.','SOLICITUD',1,1,'Cuando se trata de evento deportivo.','ACREDITACION','DEPORTE',NULL,NULL,'5.16.3.b',2),
('LIC-G-13','ACREDITACION_DRE','Acreditación científica, educativa o cultural','Presentar documento de la DRE que acredite la representación en evento científico, educativo o cultural.','SOLICITUD',1,1,'Cuando se trata de evento científico, educativo o cultural.','ACREDITACION','DRE',NULL,NULL,'5.16.3.c',3),

-- 5.17 Citación expresa.
('LIC-G-14','SOLICITUD','Solicitud anticipada','Presentar solicitud con 3 días hábiles de anticipación.','SOLICITUD',1,0,NULL,NULL,NULL,3,'DIA_HABIL_ANTES','5.17.3.a',1),
('LIC-G-14','CITACION','Copia de la citación','Adjuntar cédula o documento de citación judicial, militar o policial; si es virtual debe indicarlo expresamente.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.17.3.b',2),

-- 5.18 Representación sindical.
('LIC-G-15','SOLICITUD','Solicitud anual de la organización','Presentar la solicitud durante octubre ante Minedu o DRE, según el alcance de la organización sindical.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,'OCTUBRE','5.18',1),
('LIC-G-15','DATOS_ORGANIZACION','Datos de la organización','Indicar denominación, domicilio y alcance de la organización sindical.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.18',2),
('LIC-G-15','ESTATUTO','Estatuto reconocido','Adjuntar estatuto reconocido por la autoridad de trabajo.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.18',3),
('LIC-G-15','ROSSP','Registro ROSSP vigente','Adjuntar constancia vigente de inscripción de la organización sindical en ROSSP.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.18',4),
('LIC-G-15','JUNTA_DIRECTIVA','Junta directiva vigente','Adjuntar constancia o certificado de vigencia de la junta directiva, con la excepción aplicable a bases regionales.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.18',5),
('LIC-G-15','PROPUESTOS','Relación ordenada de representantes','Presentar relación de miembros propuestos con condición laboral, institución educativa y UGEL, e identificar al representante para el cotejo del padrón.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.18',6),
('LIC-G-15','PADRON','Padrón de afiliados','Adjuntar copia digitalizada o fedateada del padrón o registro de afiliados.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.18',7),
('LIC-G-15','PADRON_EXCEL','Archivo Excel de afiliados','Entregar archivo Excel con los campos exigidos por la norma para validar el número de afiliados.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.18',8),
('LIC-G-15','DJ_PADRON','Declaración jurada del padrón','Adjuntar declaración jurada del Anexo I que confirme la correspondencia entre el archivo Excel y el padrón, suscrita por el secretario general.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.18',9),
('LIC-G-15','AFILIACION','Acreditación de afiliación o delegación','Adjuntar documentos de afiliación a federación o confederación y de acreditación de delegados regionales cuando corresponda.','SOLICITUD',1,1,'Cuando la licencia se sustenta en afiliación de segundo o tercer grado o en delegación regional.','REPRESENTACION',NULL,NULL,NULL,'5.18',10),

-- 5.19 Consejero regional o regidor.
('LIC-G-16','SOLICITUD','Solicitud según fecha de acreditación','Presentar la solicitud en el plazo aplicable al área de desempeño y al momento en que se recibe la credencial, conforme al numeral 5.19.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.19',1),
('LIC-G-16','CREDENCIAL_JNE','Credencial del JNE','Adjuntar credencial o documento del Jurado Nacional de Elecciones que acredite el cargo.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.19',2),

-- 5.20 a 5.23 Licencias sin goce.
('LIC-SG-01','SOLICITUD','Solicitud anticipada','Presentar solicitud con al menos 15 días calendario de anticipación. El plazo no aplica ante fallecimiento acreditado de familiares hasta cuarto grado de consanguinidad y segundo de afinidad.','SOLICITUD',1,0,NULL,NULL,NULL,15,'DIA_CALENDARIO_ANTES','5.20.4.a',1),
('LIC-SG-01','CAFAE_DERRAMA','Designación de representación','Adjuntar documento que designe o acredite al profesor como representante del directorio o consejo de vigilancia de CafaE o Derrama Magisterial.','SOLICITUD',1,1,'Solo para el supuesto especial de representación regulado en el numeral 5.20.2.','REPRESENTACION',NULL,NULL,NULL,'5.20.4.b',2),
('LIC-SG-02','SOLICITUD','Solicitud anticipada','Presentar solicitud con al menos 15 días calendario de anticipación.','SOLICITUD',1,0,NULL,NULL,NULL,15,'DIA_CALENDARIO_ANTES','5.21.4.a',1),
('LIC-SG-02','MATRICULA','Constancia de inscripción o matrícula','Adjuntar constancia de inscripción o ficha de matrícula que indique programa, mención, fechas y modalidad de estudios.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.21.4.b',2),
('LIC-SG-03','SOLICITUD','Solicitud según área y periodo','Gestión pedagógica: dentro de 2 días hábiles de recibir la acreditación durante el periodo lectivo o 15 días calendario antes del 1 de marzo si se recibió en periodo no lectivo. Gestión institucional: dentro de 2 días hábiles de recibirla.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.22.3.a',1),
('LIC-SG-03','ACREDITACION_CARGO','Acreditación de elección o designación','Adjuntar documento que acredite la función pública por elección o la designación en cargo político o de confianza.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.22.3.b',2),
('LIC-SG-04','SOLICITUD','Solicitud dentro del plazo','Presentar solicitud dentro de los 2 días hábiles siguientes a la expedición del certificado médico.','SOLICITUD',1,0,NULL,NULL,NULL,2,'DIA_HABIL_DESPUES','5.23.2.a',1),
('LIC-SG-04','CM_GRAVE','Certificado médico','Adjuntar certificado médico que indique el diagnóstico de enfermedad grave.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.23.2.b',2),
('LIC-SG-04','VINCULO','Documento de vínculo familiar','Adjuntar documento que acredite el vínculo con el familiar atendido.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'5.23.2.c',3),

-- 6.2 Enfermedad.
('PER-G-01','SOLICITUD','Solicitud anticipada','Presentar solicitud con 1 día hábil de anticipación, salvo fuerza mayor acreditada que requiera atención inmediata.','SOLICITUD',1,0,NULL,NULL,NULL,1,'DIA_HABIL_ANTES','6.2.2.a',1),
('PER-G-01','ATENCION_PUBLICA_PRIVADA','Comprobante y orden médica','Para centro público o privado, adjuntar comprobante de atención y receta médica u orden de exámenes con la fecha de la contingencia.','POSTERIOR',1,1,'Cuando la atención no fue brindada por EsSalud.','ATENCION','PUBLICA_PRIVADA',1,'DIA_HABIL_DESPUES','6.2.2.b',2),
('PER-G-01','CITA_ESSALUD','Cita de EsSalud','Para atención en EsSalud, presentar la cita médica al retorno o dentro del primer día hábil posterior.','POSTERIOR',1,1,'Cuando la atención fue brindada por EsSalud.','ATENCION','ESSALUD',1,'DIA_HABIL_DESPUES','6.2.2.c',3),
('PER-G-01','RECUPERACION_TRASLADO','Plan de recuperación','Si el traslado excede la jornada, sustentar el exceso y programar su compensación dentro de los 30 días calendario posteriores; solo procede 3 veces por año fiscal.','POSTERIOR',1,1,'Cuando el desplazamiento excede la jornada laboral.','TRASLADO',NULL,30,'DIA_CALENDARIO_DESPUES','6.2.5',4),

-- 6.3 Maternidad.
('PER-G-02','SOLICITUD','Solicitud al retorno','Presentar la solicitud al retorno de la atención médica.','RETORNO',1,0,NULL,NULL,NULL,NULL,'AL_RETORNO','6.3.2.a',1),
('PER-G-02','CITA_COMPROBANTE','Acreditación de control prenatal','Adjuntar cita médica o comprobante de pago de la atención con la fecha correspondiente.','RETORNO',1,0,NULL,NULL,NULL,NULL,NULL,'6.3.2.b',2),

-- 6.4 Lactancia.
('PER-G-03','SOLICITUD','Solicitud anticipada','Presentar solicitud con al menos 15 días hábiles de anticipación, indicando si la hora se gozará al inicio o al final de la jornada.','SOLICITUD',1,0,NULL,NULL,NULL,15,'DIA_HABIL_ANTES','6.4.3.a',1),
('PER-G-03','NACIMIENTO','Acta de nacimiento','Adjuntar acta de nacimiento del menor.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'6.4.3.b',2),
('PER-G-03','NUEVO_VINCULO','Solicitud por nuevo vínculo','La profesora que inicia vínculo en etapa postnatal presenta la solicitud dentro de los 3 días hábiles de la adjudicación o nombramiento.','SOLICITUD',1,1,'Solo si el vínculo laboral se inicia durante la etapa postnatal.','NUEVO_VINCULO',NULL,3,'DIA_HABIL_DESPUES','6.4.4.iv',3),

-- 6.5 Atención de paciente con alzhéimer u otra demencia.
('PER-G-04','SOLICITUD','Solicitud anticipada','Presentar solicitud con 3 días hábiles de anticipación, indicando fecha, número de horas y hechos que la motivan.','SOLICITUD',1,0,NULL,NULL,NULL,3,'DIA_HABIL_ANTES','6.5.2',1),
('PER-G-04','VINCULO','Documento de vínculo familiar','Para familiar directo, acreditar filiación, relación con padre o madre, matrimonio o convivencia mediante los documentos indicados por la norma.','SOLICITUD',1,1,'Cuando el profesor es familiar directo del paciente.','CALIDAD','FAMILIAR',NULL,NULL,'6.5.2.a',2),
('PER-G-04','CUIDADOR','Designación como cuidador','Para cuidador, adjuntar designación notarial, certificado médico, informe médico, constancia policial o certificado domiciliario.','SOLICITUD',1,1,'Cuando el profesor solicita el permiso en calidad de cuidador.','CALIDAD','CUIDADOR',NULL,NULL,'6.5.2.b',3),

-- 6.6 Capacitación oficializada.
('PER-G-05','SOLICITUD','Solicitud anticipada','Presentar solicitud con 3 días hábiles de anticipación al evento.','SOLICITUD',1,0,NULL,NULL,NULL,3,'DIA_HABIL_ANTES','6.6.2.a',1),
('PER-G-05','PROPUESTA','Propuesta oficial','Adjuntar documento que acredite la propuesta para concurrir al certamen, seminario o congreso.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'6.6.2.b',2),
('PER-G-05','CONSTANCIA','Acreditación posterior','Presentar diploma, certificado o constancia de participación autenticada por fedatario de DRE o UGEL.','POSTERIOR',1,0,NULL,NULL,NULL,5,'DIA_HABIL_DESPUES','6.6.3',3),

-- 6.7 Citación expresa.
('PER-G-06','SOLICITUD','Solicitud anticipada','Presentar solicitud con al menos 1 día hábil de anticipación.','SOLICITUD',1,0,NULL,NULL,NULL,1,'DIA_HABIL_ANTES','6.7.4.a',1),
('PER-G-06','CITACION','Citación expresa','Adjuntar cédula o documento de citación judicial, militar o policial; debe indicar modalidad virtual cuando corresponda.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'6.7.4.b',2),
('PER-G-06','ASISTENCIA','Constancia de asistencia','Presentar constancia de asistencia a la diligencia al retorno o dentro del primer día hábil.','RETORNO',1,0,NULL,NULL,NULL,1,'DIA_HABIL_DESPUES','6.7.5',3),

-- 6.8 y 6.9 Permisos automáticos.
('PER-G-07','FECHA_NACIMIENTO','Fecha de nacimiento actualizada','La IE, UGEL o DRE debe mantener actualizada la fecha de nacimiento. El permiso no requiere solicitud del profesor.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'6.8',1),
('PER-G-08','NO_SOLICITUD','Permiso automático','No requiere solicitud ni documento. Se aplica el 6 de julio o el primer día hábil posterior cuando recaiga sábado o domingo.','SOLICITUD',0,0,NULL,NULL,NULL,NULL,NULL,'6.9',1),

-- 6.10 Docencia superior o universitaria.
('PER-G-09','SOLICITUD','Solicitud anticipada','Presentar solicitud con 7 días hábiles de anticipación al inicio del permiso.','SOLICITUD',1,0,NULL,NULL,NULL,7,'DIA_HABIL_ANTES','6.10.2.a',1),
('PER-G-09','CONTRATO_HORARIO','Contrato y horario','Adjuntar contrato u orden de servicio y horario; para institutos o escuelas superiores públicos, la resolución que aprueba el contrato.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'6.10.2.b',2),
('PER-G-09','COMPROMISO','Compromiso de compensación','Adjuntar carta de compromiso de compensación horaria suscrita por profesor y jefe de Recursos Humanos.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'6.10.2.c',3),

-- 6.11 Representación sindical.
('PER-G-10','SOLICITUD','Solicitud anticipada','Presentar solicitud con 7 días hábiles de anticipación, indicando las horas que durará el evento.','SOLICITUD',1,0,NULL,NULL,NULL,7,'DIA_HABIL_ANTES','6.11.2.a',1),
('PER-G-10','ROSSP','Constancia ROSSP vigente','Adjuntar constancia vigente de inscripción donde el profesor figure como integrante de la junta directiva.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'6.11.2.b',2),
('PER-G-10','INVITACION','Invitación o participación','Adjuntar documento que acredite la invitación o participación en el evento.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'6.11.2.c',3),

-- 6.12 a 6.14 Permisos sin goce.
('PER-SG-01','SOLICITUD','Solicitud anticipada','Presentar solicitud con al menos 1 día hábil de anticipación.','SOLICITUD',1,0,NULL,NULL,NULL,1,'DIA_HABIL_ANTES','6.12.2.a',1),
('PER-SG-01','CONFORMIDAD','Conformidad del jefe inmediato','Contar con conformidad previa del jefe inmediato y sin afectar el servicio.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'6.12.2.b',2),
('PER-SG-02','SOLICITUD','Solicitud anticipada','Presentar solicitud con 7 días hábiles de anticipación al evento.','SOLICITUD',1,0,NULL,NULL,NULL,7,'DIA_HABIL_ANTES','6.13.2.a',1),
('PER-SG-02','EVENTO','Documento del evento','Acreditar que el certamen, seminario o congreso se vincula con las funciones y especialidad.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'6.13.2.b',2),
('PER-SG-02','CONFORMIDAD','Conformidad del jefe inmediato','Contar con conformidad previa del jefe inmediato.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'6.13.2.c',3),
('PER-SG-02','CONSTANCIA','Constancia de participación','Presentar certificado o constancia de participación.','POSTERIOR',1,0,NULL,NULL,NULL,5,'DIA_HABIL_DESPUES','6.13.3',4),
('PER-SG-03','SOLICITUD','Solicitud anticipada','Presentar solicitud con al menos 1 día hábil de anticipación.','SOLICITUD',1,0,NULL,NULL,NULL,1,'DIA_HABIL_ANTES','6.14.2.a',1),
('PER-SG-03','CM_GRAVE','Certificado médico','Adjuntar certificado médico que acredite la enfermedad grave del familiar.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'6.14.2.b',2),
('PER-SG-03','VINCULO','Documento de vínculo familiar','Adjuntar documento que sustente el vínculo familiar.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'6.14.2.c',3),

-- 7.2 a 7.5 Vacaciones.
('VAC-PROGRAMACION','ELEGIBILIDAD','Acreditación de elegibilidad','Acreditar condición de profesor nombrado en gestión institucional, formación docente o innovación e investigación y 12 meses de trabajo efectivo; se aplican las reglas especiales a cargos con aula.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'7.1',1),
('VAC-PROGRAMACION','COMUNICACION_FECHAS','Comunicación de fechas','Comunicar las fechas elegidas dentro de los 7 días hábiles de recibida la solicitud de Recursos Humanos.','SOLICITUD',1,0,NULL,NULL,NULL,7,'DIA_HABIL_DESPUES','7.2.2',2),
('VAC-PROGRAMACION','TRAMOS','Propuesta de descanso','Registrar un periodo de 30 días calendario o tramos válidos si se solicita fraccionamiento.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'7.2.4',3),
('VAC-REPROGRAMACION','SOLICITUD','Solicitud anticipada','Presentar solicitud física o virtual, por única vez, con 15 días calendario de anticipación al periodo aprobado.','SOLICITUD',1,0,NULL,NULL,NULL,15,'DIA_CALENDARIO_ANTES','7.3.1',1),
('VAC-REPROGRAMACION','RESOLUCION_VIGENTE','Resolución del rol vigente','Identificar o adjuntar la resolución que aprobó el periodo vacacional que se desea reprogramar.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'7.3',2),
('VAC-REPROGRAMACION','NUEVO_PERIODO','Nuevo periodo propuesto','Indicar el nuevo periodo dentro de los meses y límites temporales permitidos por la norma.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'7.3.4',3),
('VAC-FRACCIONAMIENTO','SOLICITUD','Solicitud anticipada','Presentar solicitud física o virtual, por única vez, con 15 días calendario de anticipación al inicio del descanso programado.','SOLICITUD',1,0,NULL,NULL,NULL,15,'DIA_CALENDARIO_ANTES','7.4.1',1),
('VAC-FRACCIONAMIENTO','PERIODOS','Periodos de fraccionamiento','Indicar los periodos: 15+15 días o un bloque mínimo de 15 días y dos bloques continuos de 7 y 8 días, en el orden acordado.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'7.4.2',2),
('VAC-FRACCIONAMIENTO','RESOLUCION_VIGENTE','Resolución del rol vigente','Identificar o adjuntar la resolución que aprobó el descanso a fraccionar.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'7.4',3),
('VAC-ADELANTO','SOLICITUD','Solicitud anticipada','Presentar solicitud física o digital con 15 días hábiles de anticipación al descanso solicitado.','SOLICITUD',1,0,NULL,NULL,NULL,15,'DIA_HABIL_ANTES','7.5.1',1),
('VAC-ADELANTO','PERIODO','Periodo solicitado','Indicar las fechas del adelanto, entre abril y noviembre o, para los supuestos especiales, enero o febrero en proporción a los meses laborados.','SOLICITUD',1,0,NULL,NULL,NULL,NULL,NULL,'7.5.5-7.5.6',2),
('VAC-ADELANTO','ACUERDO','Acuerdo de adelanto','Suscribir con Recursos Humanos el acuerdo de adelanto antes de que se emita la resolución administrativa.','POSTERIOR',1,0,NULL,NULL,NULL,NULL,NULL,'7.5.4',3),
('VAC-ADELANTO','CARGO_ESPECIAL','Acreditación de supuesto especial','Adjuntar o identificar la resolución de designación o encargo cuando se invoque el supuesto de cargo con aula o IE unidocente.','SOLICITUD',1,1,'Solo para adelanto proporcional entre enero y febrero por cargo con aula o IE unidocente.','SUPUESTO_ESPECIAL',NULL,NULL,NULL,'7.5.6',4);

-- 13 permisos: 10 con goce y 3 sin goce (numerales 6.2 a 6.14).
INSERT INTO lp_tipo_solicitud
    (id_norma, codigo, categoria, clase, nombre, numeral_norma, descripcion,
     regla_resumen, aplica_nombrado, aplica_contratado, unidad_duracion,
     duracion_maxima, requiere_papeleta, requiere_resolucion,
     requiere_remision_ugel, permite_recuperacion, requiere_continuidad,
     orden, vigente_desde, estado)
VALUES
(@lp_norma_031,'PER-G-01','PERMISO','CON_GOCE','Enfermedad','6.2','Permiso por horas para concurrir a EsSalud, Minsa o un centro de salud público o privado.','El exceso de traslado sustentado puede otorgarse hasta 3 veces al año y se compensa dentro de los 30 días calendario posteriores.',1,1,'HORA',NULL,1,0,0,1,1,21,'2026-02-27',1),
(@lp_norma_031,'PER-G-02','PERMISO','CON_GOCE','Maternidad','6.3','Permiso para controles médicos de la profesora gestante.','Se solicita al retorno de la atención y se acredita con cita o comprobante de atención.',1,1,'HORA',NULL,1,0,0,0,1,22,'2026-02-27',1),
(@lp_norma_031,'PER-G-03','PERMISO','CON_GOCE','Lactancia','6.4','Permiso diario al inicio o final de la jornada durante el periodo de lactancia.','Una hora diaria hasta que el hijo cumpla un año; una hora adicional por parto múltiple. Es el único permiso formalizado mediante resolución.',1,1,'HORA',1,0,1,1,0,1,23,'2026-02-27',1),
(@lp_norma_031,'PER-G-04','PERMISO','CON_GOCE','Atención de familiares directos y cuidadores de pacientes con alzhéimer y otras demencias','6.5','Permiso para familiar directo o cuidador a cargo de paciente con alzhéimer u otra demencia.','Hasta 8 horas cronológicas en gestión institucional o 6 horas pedagógicas en gestión pedagógica por año calendario.',1,1,'HORA',8,1,0,0,0,1,24,'2026-02-27',1),
(@lp_norma_031,'PER-G-05','PERMISO','CON_GOCE','Capacitación oficializada','6.6','Permiso por horas para certámenes, seminarios o congresos oficiales vinculados con las funciones.','Debe presentarse la acreditación posterior de participación dentro del quinto día hábil.',1,1,'HORA',NULL,1,0,0,0,1,25,'2026-02-27',1),
(@lp_norma_031,'PER-G-06','PERMISO','CON_GOCE','Citación expresa judicial, militar o policial','6.7','Permiso por horas para diligencia judicial, militar o policial.','Si el traslado excede 8 horas corresponde licencia; se acredita asistencia al retorno.',1,1,'HORA',8,1,0,0,0,1,26,'2026-02-27',1),
(@lp_norma_031,'PER-G-07','PERMISO','CON_GOCE','Onomástico','6.8','Descanso físico por onomástico.','No requiere solicitud; si recae en día no laborable se goza el primer día hábil siguiente, sin descuento ni compensación.',1,1,'DIA_HABIL',1,0,0,0,0,1,27,'2026-02-27',1),
(@lp_norma_031,'PER-G-08','PERMISO','CON_GOCE','Día del Maestro','6.9','Permiso por el Día del Maestro.','Se goza el 6 de julio; si recae sábado o domingo, el primer día hábil posterior. No requiere solicitud.',1,1,'DIA_HABIL',1,0,0,0,0,1,28,'2026-02-27',1),
(@lp_norma_031,'PER-G-09','PERMISO','CON_GOCE','Ejercicio de docencia superior o universitaria','6.10','Permiso para que profesores de gestión institucional ejerzan docencia superior o universitaria.','Hasta 6 horas cronológicas semanales, compensadas con trabajo efectivo dentro del mes.',1,1,'HORA',6,1,0,0,1,1,29,'2026-02-27',1),
(@lp_norma_031,'PER-G-10','PERMISO','CON_GOCE','Representación sindical','6.11','Permiso por horas para miembros de junta directiva sindical vigente inscrita en ROSSP.','Se otorga sin afectar el servicio y por las horas del evento acreditado.',1,1,'HORA',NULL,1,0,0,0,1,30,'2026-02-27',1),
(@lp_norma_031,'PER-SG-01','PERMISO','SIN_GOCE','Motivos particulares','6.12','Permiso por asuntos particulares, sujeto a la necesidad del servicio.','Solo nombrados; las horas se acumulan mensualmente para el descuento remunerativo.',1,0,'HORA',NULL,1,0,0,0,1,31,'2026-02-27',1),
(@lp_norma_031,'PER-SG-02','PERMISO','SIN_GOCE','Capacitación no oficializada','6.13','Permiso por capacitación sin auspicio ni propuesta de la entidad.','Solo nombrados, un evento por año fiscal y sujeto a la necesidad del servicio.',1,0,'HORA',NULL,1,0,0,0,1,32,'2026-02-27',1),
(@lp_norma_031,'PER-SG-03','PERMISO','SIN_GOCE','Enfermedad grave de padres, cónyuge, conviviente o hijos','6.14','Permiso por horas para atender enfermedad grave de familiar directo.','Solo nombrados; se expresa en horas y días para el descuento remunerativo.',1,0,'HORA',NULL,1,0,0,0,1,33,'2026-02-27',1)
ON DUPLICATE KEY UPDATE
    id_norma=VALUES(id_norma), categoria=VALUES(categoria), clase=VALUES(clase),
    nombre=VALUES(nombre), numeral_norma=VALUES(numeral_norma),
    descripcion=VALUES(descripcion), regla_resumen=VALUES(regla_resumen),
    aplica_nombrado=VALUES(aplica_nombrado), aplica_contratado=VALUES(aplica_contratado),
    unidad_duracion=VALUES(unidad_duracion), duracion_maxima=VALUES(duracion_maxima),
    requiere_papeleta=VALUES(requiere_papeleta), requiere_resolucion=VALUES(requiere_resolucion),
    requiere_remision_ugel=VALUES(requiere_remision_ugel), permite_recuperacion=VALUES(permite_recuperacion),
    requiere_continuidad=VALUES(requiere_continuidad), orden=VALUES(orden),
    vigente_desde=VALUES(vigente_desde), vigente_hasta=NULL, estado=VALUES(estado);

-- 4 modalidades vacacionales (numerales 7.2 a 7.5).
INSERT INTO lp_tipo_solicitud
    (id_norma, codigo, categoria, clase, nombre, numeral_norma, descripcion,
     regla_resumen, aplica_nombrado, aplica_contratado, unidad_duracion,
     duracion_maxima, requiere_papeleta, requiere_resolucion,
     requiere_remision_ugel, permite_recuperacion, requiere_continuidad,
     orden, vigente_desde, estado)
VALUES
(@lp_norma_031,'VAC-PROGRAMACION','VACACIONES','MODALIDAD','Programación de vacaciones','7.2','Programación del rol vacacional del profesor nombrado en las áreas comprendidas por la norma.','30 días calendario completos o fraccionados. Recursos Humanos solicita fechas y el rol se aprueba mediante resolución.',1,0,'DIA_CALENDARIO',30,0,1,1,0,1,34,'2026-02-27',1),
(@lp_norma_031,'VAC-REPROGRAMACION','VACACIONES','MODALIDAD','Reprogramación de vacaciones','7.3','Reprogramación, por única vez, de un periodo vacacional aprobado.','Se solicita 15 días calendario antes; debe ubicarse dentro del límite anual y en los meses permitidos por la norma.',1,0,'DIA_CALENDARIO',30,0,1,1,0,1,35,'2026-02-27',1),
(@lp_norma_031,'VAC-FRACCIONAMIENTO','VACACIONES','MODALIDAD','Fraccionamiento del descanso vacacional','7.4','Fraccionamiento, por única vez, del descanso de 30 días calendario.','Admite 15+15 días o un bloque mínimo de 15 y dos bloques de 7 y 8 días, según el acuerdo permitido.',1,0,'DIA_CALENDARIO',30,0,1,1,0,1,36,'2026-02-27',1),
(@lp_norma_031,'VAC-ADELANTO','VACACIONES','MODALIDAD','Adelanto del descanso vacacional','7.5','Adelanto del descanso vacacional sujeto a acuerdo previo.','Requiere solicitud con 15 días hábiles y acuerdo escrito previo a la resolución; aplican reglas especiales a cargos con aula e IE unidocente.',1,0,'DIA_CALENDARIO',30,0,1,1,0,1,37,'2026-02-27',1)
ON DUPLICATE KEY UPDATE
    id_norma=VALUES(id_norma), categoria=VALUES(categoria), clase=VALUES(clase),
    nombre=VALUES(nombre), numeral_norma=VALUES(numeral_norma),
    descripcion=VALUES(descripcion), regla_resumen=VALUES(regla_resumen),
    aplica_nombrado=VALUES(aplica_nombrado), aplica_contratado=VALUES(aplica_contratado),
    unidad_duracion=VALUES(unidad_duracion), duracion_maxima=VALUES(duracion_maxima),
    requiere_papeleta=VALUES(requiere_papeleta), requiere_resolucion=VALUES(requiere_resolucion),
    requiere_remision_ugel=VALUES(requiere_remision_ugel), permite_recuperacion=VALUES(permite_recuperacion),
    requiere_continuidad=VALUES(requiere_continuidad), orden=VALUES(orden),
    vigente_desde=VALUES(vigente_desde), vigente_hasta=NULL, estado=VALUES(estado);

-- Materializa los requisitos cuando ya existen los 37 tipos de solicitud.
INSERT INTO lp_tipo_requisito
    (id_tipo_solicitud, codigo, nombre, descripcion, momento, obligatorio,
     condicional, condicion_aplicacion, grupo_codigo, alternativa_codigo,
     plazo_valor, plazo_unidad, numeral_norma, orden, estado)
SELECT
    t.id_tipo_solicitud, s.codigo, s.nombre, s.descripcion, s.momento,
    s.obligatorio, s.condicional, s.condicion_aplicacion, s.grupo_codigo,
    s.alternativa_codigo, s.plazo_valor, s.plazo_unidad,
    s.numeral_norma, s.orden, 1
FROM tmp_lp_requisito_seed s
INNER JOIN lp_tipo_solicitud t ON t.codigo = s.tipo_codigo
ON DUPLICATE KEY UPDATE
    nombre=VALUES(nombre), descripcion=VALUES(descripcion), momento=VALUES(momento),
    obligatorio=VALUES(obligatorio), condicional=VALUES(condicional),
    condicion_aplicacion=VALUES(condicion_aplicacion), grupo_codigo=VALUES(grupo_codigo),
    alternativa_codigo=VALUES(alternativa_codigo), plazo_valor=VALUES(plazo_valor),
    plazo_unidad=VALUES(plazo_unidad), numeral_norma=VALUES(numeral_norma),
    orden=VALUES(orden), estado=VALUES(estado);

DROP TEMPORARY TABLE IF EXISTS tmp_lp_requisito_seed;
