-- SIGMA-COE — Seed de Producción (FASES 1-17)
-- Password SuperAdmin: Admin123! (bcrypt)
-- No incluye datos de prueba

USE sigma_coe_db;

-- ============================================================
-- INSTITUCIONES
-- ============================================================
INSERT IGNORE INTO `instituciones` (`id`, `codigo`, `nombre`, `siglas`, `estado`, `creado_at`, `actualizado_at`) VALUES
(1, 'COE-MDMQ', 'Centro de Operaciones de Emergencia Metropolitano', 'COE', 1, NOW(), NOW()),
(2, 'PPNN', 'Policía Nacional', 'PPNN', 1, NOW(), NOW()),
(3, 'CACMQ', 'Centro de Atención Ciudadana MDMQ', 'CACMQ', 1, NOW(), NOW()),
(4, 'AMT', 'Agencia Metropolitana de Tránsito', 'AMT', 1, NOW(), NOW()),
(5, 'CBQ', 'Cuerpo de Bomberos de Quito', 'CBQ', 1, NOW(), NOW()),
(6, 'EMASEO', 'Empresa Pública Metropolitana de Aseo', 'EMASEO', 1, NOW(), NOW()),
(7, 'EPMAPS', 'Empresa Pública Metropolitana de Agua Potable y Saneamiento', 'EPMAPS', 1, NOW(), NOW()),
(8, 'AMC', 'Agencia Metropolitana de Control', 'AMC', 1, NOW(), NOW()),
(9, 'OTRAS', 'Otras entidades de apoyo', 'OTRAS', 1, NOW(), NOW()),
(10, 'DMGR', 'Dirección Metropolitana de Gestión de Riesgos', 'DMGR', 1, NOW(), NOW()),
(11, 'SALUD', 'Red Metropolitana de Salud', 'SALUD', 1, NOW(), NOW()),
(12, 'LOGISTICA', 'Logística Operativa', 'LOGISTICA', 1, NOW(), NOW()),
(13, 'OTROS', 'Otros apoyos operativos', 'OTROS', 1, NOW(), NOW());

-- ============================================================
-- MODULOS
-- ============================================================
INSERT IGNORE INTO `modulos` (`id`, `codigo`, `nombre`, `descripcion`, `icono`, `ruta`, `orden`, `estado`, `es_funcional`, `es_integrable`, `creado_at`, `actualizado_at`) VALUES
(1, 'CENTRAL', 'CENTRAL', 'Gobierno institucional del ecosistema SIGMA-COE', 'settings', '/central', 1, 'ACTIVE', 1, 1, NOW(), NOW()),
(2, 'CABINA', 'CABINA', 'Centro de comando y control operativo sobre la ficha única', 'radio', '/cabina', 2, 'ACTIVE', 1, 1, NOW(), NOW()),
(3, 'EVIN', 'EVIN', 'Módulo operativo de atención en territorio sobre despachos existentes', 'map', '/evin', 3, 'ACTIVE', 1, 1, NOW(), NOW()),
(4, 'SALA', 'SALA', 'Módulo futuro de coordinación SALA', NULL, NULL, 0, 'INACTIVE', 0, 1, NOW(), NOW()),
(5, 'SITIMAS', 'SITIMAS', 'Sistema existente integrable vía API sin reconstrucción en Fase 1', NULL, NULL, 0, 'INTEGRABLE', 0, 1, NOW(), NOW()),
(6, 'PMO', 'PMO', 'Módulo futuro PMO', NULL, NULL, 0, 'INACTIVE', 0, 1, NOW(), NOW()),
(7, 'INTEROPERABILIDAD', 'INTEROPERABILIDAD', 'Integraciones institucionales futuras', NULL, NULL, 0, 'INTEGRABLE', 0, 1, NOW(), NOW()),
(8, 'COMUNICACIONES', 'COMUNICACIONES', 'Preparación de comunicaciones y notificaciones futuras', NULL, NULL, 0, 'INTEGRABLE', 0, 1, NOW(), NOW());

-- ============================================================
-- ROLES
-- ============================================================
INSERT IGNORE INTO `roles` (`id`, `nombre`, `descripcion`, `estado`, `creado_at`, `actualizado_at`) VALUES
(1, 'SuperAdmin', 'Administrador total del sistema SIGMA-COE', 1, NOW(), NOW()),
(2, 'Administrador Central', 'Administra usuarios, roles, permisos, módulos, parámetros, configuración y seguridad institucional.', 1, NOW(), NOW()),
(3, 'Supervisor CABINA', 'Supervisa la operación de CABINA, clasifica, despacha, coordina y consulta reportes operativos.', 1, NOW(), NOW()),
(4, 'Operador CABINA', 'Opera la bandeja de CABINA, realiza despacho, seguimiento y coordinación sin acceso administrativo central.', 1, NOW(), NOW()),
(5, 'Operador EVIN', 'Atiende eventos en territorio, actualiza ubicación, evidencias y cierra atención operativa EVIN.', 1, NOW(), NOW()),
(6, 'Validador EVAD', 'Revisa, observa y valida formularios EVAD y EVIN Familiar dentro de la operación territorial.', 1, NOW(), NOW()),
(7, 'Coordinador Ayuda Humanitaria', 'Aprueba, valida, entrega y cierra solicitudes de ayuda humanitaria vinculadas a eventos y familias.', 1, NOW(), NOW()),
(8, 'Auditor Operativo', 'Consulta trazabilidad, auditoría, eventos y tableros operativos sin capacidad de edición.', 1, NOW(), NOW());

-- ============================================================
-- PERMISOS — FASE 1A+1B (seed.sql)
-- ============================================================
INSERT IGNORE INTO `permisos` (`id`, `codigo`, `nombre`, `descripcion`, `creado_at`, `actualizado_at`) VALUES
(1, 'dashboard.view', 'Ver dashboard', 'Permite ver dashboard', NOW(), NOW()),
(2, 'users.view', 'Ver usuarios', 'Permite ver usuarios', NOW(), NOW()),
(3, 'users.create', 'Crear usuarios', 'Permite crear usuarios', NOW(), NOW()),
(4, 'users.edit', 'Editar usuarios', 'Permite editar usuarios', NOW(), NOW()),
(5, 'roles.view', 'Ver roles', 'Permite ver roles', NOW(), NOW()),
(6, 'permissions.view', 'Ver permisos', 'Permite ver permisos', NOW(), NOW()),
(7, 'modules.view', 'Ver módulos', 'Permite ver módulos', NOW(), NOW()),
(8, 'parameters.view', 'Ver parámetros', 'Permite ver parámetros', NOW(), NOW()),
(9, 'settings.view', 'Ver configuración del sistema', 'Permite ver configuración del sistema', NOW(), NOW()),
(10, 'audit.view', 'Ver auditoría', 'Permite ver auditoría', NOW(), NOW()),
(11, 'profile.view', 'Ver perfil', 'Permite ver perfil', NOW(), NOW()),
(12, 'security.view', 'Ver seguridad', 'Permite ver seguridad', NOW(), NOW()),
(13, 'notifications.view', 'Ver notificaciones', 'Permite ver notificaciones', NOW(), NOW()),
(14, 'events.create', 'Crear eventos', 'Permite crear eventos', NOW(), NOW()),
(15, 'events.view', 'Ver eventos', 'Permite ver eventos', NOW(), NOW()),
(16, 'events.edit', 'Editar eventos', 'Permite editar eventos', NOW(), NOW()),
(17, 'events.assign', 'Asignar eventos', 'Permite asignar eventos', NOW(), NOW()),
(18, 'events.close', 'Cerrar eventos', 'Permite cerrar eventos', NOW(), NOW()),
(19, 'events.audit', 'Auditar eventos', 'Permite auditar eventos', NOW(), NOW()),
(20, 'cabina.view', 'Ver módulo CABINA', 'Permite ver módulo cabina', NOW(), NOW()),
(21, 'cabina.classify', 'Clasificar eventos en CABINA', 'Permite clasificar eventos en cabina', NOW(), NOW()),
(22, 'cabina.dispatch', 'Despachar eventos desde CABINA', 'Permite despachar eventos desde cabina', NOW(), NOW()),
(23, 'cabina.followup', 'Registrar seguimiento en CABINA', 'Permite registrar seguimiento en cabina', NOW(), NOW()),
(24, 'cabina.close', 'Cerrar eventos desde CABINA', 'Permite cerrar eventos desde cabina', NOW(), NOW()),
(25, 'cabina.report', 'Consultar reportes de CABINA', 'Permite consultar reportes de cabina', NOW(), NOW()),
(26, 'evin.view', 'Ver módulo EVIN', 'Permite ver módulo evin', NOW(), NOW()),
(27, 'evin.accept', 'Aceptar despachos en EVIN', 'Permite aceptar despachos en evin', NOW(), NOW()),
(28, 'evin.update', 'Actualizar operación en EVIN', 'Permite actualizar operación en evin', NOW(), NOW()),
(29, 'evin.location', 'Registrar ubicación en EVIN', 'Permite registrar ubicación en evin', NOW(), NOW()),
(30, 'evin.evidence', 'Registrar evidencias en EVIN', 'Permite registrar evidencias en evin', NOW(), NOW()),
(31, 'evin.finish', 'Finalizar atenciones en EVIN', 'Permite finalizar atenciones en evin', NOW(), NOW()),
(32, 'evad.view', 'Ver formularios EVAD', 'Permite ver formularios evad', NOW(), NOW()),
(33, 'evad.create', 'Crear formularios EVAD', 'Permite crear formularios evad', NOW(), NOW()),
(34, 'evad.edit', 'Editar formularios EVAD', 'Permite editar formularios evad', NOW(), NOW()),
(35, 'evad.submit', 'Enviar formularios EVAD', 'Permite enviar formularios evad', NOW(), NOW()),
(36, 'evad.validate', 'Validar formularios EVAD', 'Permite validar formularios evad', NOW(), NOW()),
(37, 'evad.observe', 'Observar formularios EVAD', 'Permite observar formularios evad', NOW(), NOW()),
(38, 'evin_familiar.view', 'Ver formularios EVIN Familiar', 'Permite ver formularios evin familiar', NOW(), NOW()),
(39, 'evin_familiar.create', 'Crear formularios EVIN Familiar', 'Permite crear formularios evin familiar', NOW(), NOW()),
(40, 'evin_familiar.edit', 'Editar formularios EVIN Familiar', 'Permite editar formularios evin familiar', NOW(), NOW()),
(41, 'evin_familiar.submit', 'Enviar formularios EVIN Familiar', 'Permite enviar formularios evin familiar', NOW(), NOW()),
(42, 'evin_familiar.validate', 'Validar formularios EVIN Familiar', 'Permite validar formularios evin familiar', NOW(), NOW()),
(43, 'evin_familiar.observe', 'Observar formularios EVIN Familiar', 'Permite observar formularios evin familiar', NOW(), NOW()),
(44, 'ayuda.view', 'Ver ayudas humanitarias', 'Permite ver ayudas humanitarias', NOW(), NOW()),
(45, 'ayuda.create', 'Crear ayudas humanitarias', 'Permite crear ayudas humanitarias', NOW(), NOW()),
(46, 'ayuda.edit', 'Editar ayudas humanitarias', 'Permite editar ayudas humanitarias', NOW(), NOW()),
(47, 'ayuda.submit', 'Solicitar ayudas humanitarias', 'Permite solicitar ayudas humanitarias', NOW(), NOW()),
(48, 'ayuda.approve', 'Aprobar ayudas humanitarias', 'Permite aprobar ayudas humanitarias', NOW(), NOW()),
(49, 'ayuda.reject', 'Rechazar ayudas humanitarias', 'Permite rechazar ayudas humanitarias', NOW(), NOW()),
(50, 'ayuda.deliver', 'Entregar ayudas humanitarias', 'Permite entregar ayudas humanitarias', NOW(), NOW()),
(51, 'ayuda.close', 'Cerrar ayudas humanitarias', 'Permite cerrar ayudas humanitarias', NOW(), NOW()),
(52, 'ayuda.validate', 'Validar ayudas humanitarias', 'Permite validar ayudas humanitarias', NOW(), NOW()),
(53, 'requerimientos.evin.view', 'Ver requerimientos operativos EVIN', 'Permite ver requerimientos operativos evin', NOW(), NOW()),
(54, 'requerimientos.evin.create', 'Crear requerimientos operativos EVIN', 'Permite crear requerimientos operativos evin', NOW(), NOW()),
(55, 'requerimientos.evin.comment', 'Comentar requerimientos operativos EVIN', 'Permite comentar requerimientos operativos evin', NOW(), NOW()),
(56, 'requerimientos.evin.confirm', 'Confirmar requerimientos operativos EVIN', 'Permite confirmar requerimientos operativos evin', NOW(), NOW()),
(57, 'requerimientos.evin.cancel', 'Cancelar requerimientos operativos EVIN', 'Permite cancelar requerimientos operativos evin', NOW(), NOW()),
(58, 'requerimientos.cabina.view', 'Ver requerimientos operativos CABINA', 'Permite ver requerimientos operativos cabina', NOW(), NOW()),
(59, 'requerimientos.cabina.receive', 'Recibir requerimientos operativos en CABINA', 'Permite recibir requerimientos operativos en cabina', NOW(), NOW()),
(60, 'requerimientos.cabina.coordinate', 'Coordinar requerimientos operativos en CABINA', 'Permite coordinar requerimientos operativos en cabina', NOW(), NOW()),
(61, 'requerimientos.cabina.dispatch', 'Despachar requerimientos operativos desde CABINA', 'Permite despachar requerimientos operativos desde cabina', NOW(), NOW()),
(62, 'requerimientos.cabina.arrive', 'Registrar arribo de requerimientos operativos', 'Permite registrar arribo de requerimientos operativos', NOW(), NOW()),
(63, 'requerimientos.cabina.attend', 'Registrar atención de requerimientos operativos', 'Permite registrar atención de requerimientos operativos', NOW(), NOW()),
(64, 'requerimientos.cabina.observe', 'Observar requerimientos operativos', 'Permite observar requerimientos operativos', NOW(), NOW()),
(65, 'requerimientos.cabina.reject', 'Marcar requerimientos operativos como no procedentes', 'Permite marcar requerimientos operativos como no procedentes', NOW(), NOW()),
(66, 'requerimientos.cabina.close', 'Cerrar requerimientos operativos', 'Permite cerrar requerimientos operativos', NOW(), NOW()),
(67, 'requerimientos.cabina.report', 'Consultar reportes de requerimientos operativos', 'Permite consultar reportes de requerimientos operativos', NOW(), NOW()),
(68, 'users.delete', 'Eliminar usuarios', 'Eliminar usuarios del sistema', NOW(), NOW()),
(69, 'roles.list', 'Listar roles', 'Ver listado de roles', NOW(), NOW()),
(70, 'roles.create', 'Crear roles', 'Crear nuevos roles', NOW(), NOW()),
(71, 'roles.edit', 'Editar roles', 'Modificar roles existentes', NOW(), NOW()),
(72, 'roles.delete', 'Eliminar roles', 'Eliminar roles del sistema', NOW(), NOW()),
(73, 'permissions.list', 'Listar permisos', 'Ver listado de permisos', NOW(), NOW()),
(74, 'permissions.create', 'Crear permisos', 'Crear nuevos permisos', NOW(), NOW()),
(75, 'permissions.edit', 'Editar permisos', 'Modificar permisos existentes', NOW(), NOW()),
(76, 'permissions.delete', 'Eliminar permisos', 'Eliminar permisos del sistema', NOW(), NOW()),
(77, 'modules.list', 'Listar módulos', 'Ver listado de módulos', NOW(), NOW()),
(78, 'modules.edit', 'Editar módulos', 'Modificar configuración de módulos', NOW(), NOW()),
(79, 'parameters.list', 'Listar parámetros', 'Ver parámetros del sistema', NOW(), NOW()),
(80, 'parameters.edit', 'Editar parámetros', 'Modificar parámetros del sistema', NOW(), NOW()),
(81, 'institutions.list', 'Listar instituciones', 'Ver listado de instituciones', NOW(), NOW()),
(82, 'institutions.create', 'Crear instituciones', 'Crear nuevas instituciones', NOW(), NOW()),
(83, 'institutions.edit', 'Editar instituciones', 'Modificar instituciones existentes', NOW(), NOW()),
(84, 'institutions.delete', 'Eliminar instituciones', 'Eliminar instituciones del sistema', NOW(), NOW()),
(85, 'territory.list', 'Listar territorio', 'Ver administraciones zonales, parroquias y barrios', NOW(), NOW()),
(86, 'territory.create', 'Crear territorio', 'Crear nuevas divisiones territoriales', NOW(), NOW()),
(87, 'territory.edit', 'Editar territorio', 'Modificar divisiones territoriales', NOW(), NOW()),
(88, 'territory.delete', 'Eliminar territorio', 'Eliminar divisiones territoriales', NOW(), NOW()),
(89, 'module_config.view', 'Ver config. módulos', 'Ver configuración visual de módulos', NOW(), NOW()),
(90, 'module_config.edit', 'Editar config. módulos', 'Modificar configuración visual de módulos', NOW(), NOW()),
(91, 'templates.list', 'Listar plantillas', 'Ver listado de plantillas', NOW(), NOW()),
(92, 'templates.create', 'Crear plantillas', 'Crear nuevas plantillas', NOW(), NOW()),
(93, 'templates.edit', 'Editar plantillas', 'Modificar plantillas existentes', NOW(), NOW()),
(94, 'templates.delete', 'Eliminar plantillas', 'Eliminar plantillas del sistema', NOW(), NOW()),
(95, 'notification_groups.list', 'Listar grupos notificación', 'Ver listado de grupos de notificación', NOW(), NOW()),
(96, 'notification_groups.create', 'Crear grupos notificación', 'Crear nuevos grupos de notificación', NOW(), NOW()),
(97, 'notification_groups.edit', 'Editar grupos notificación', 'Modificar grupos de notificación existentes', NOW(), NOW()),
(98, 'notification_groups.delete', 'Eliminar grupos notificación', 'Eliminar grupos de notificación del sistema', NOW(), NOW());

-- ============================================================
-- PERMISOS — FASE 2: events.* / event_catalogs.*
-- ============================================================
INSERT IGNORE INTO `permisos` (`codigo`, `nombre`, `descripcion`, `creado_at`, `actualizado_at`) VALUES
('events.list', 'Listar fichas', 'Ver listado de fichas/eventos', NOW(), NOW()),
('events.view', 'Ver ficha', 'Ver detalle de una ficha', NOW(), NOW()),
('events.create', 'Crear ficha', 'Crear nuevas fichas/eventos', NOW(), NOW()),
('events.edit', 'Editar ficha', 'Modificar fichas existentes', NOW(), NOW()),
('events.delete', 'Eliminar ficha', 'Eliminar fichas del sistema', NOW(), NOW()),
('events.timeline.view', 'Ver línea de tiempo', 'Ver línea de tiempo de fichas', NOW(), NOW()),
('events.timeline.create', 'Agregar línea de tiempo', 'Agregar registros a la línea de tiempo', NOW(), NOW()),
('events.history.view', 'Ver historial', 'Ver historial de cambios de fichas', NOW(), NOW()),
('events.evidences.view', 'Ver evidencias', 'Ver evidencias de fichas', NOW(), NOW()),
('events.evidences.create', 'Subir evidencias', 'Subir archivos como evidencia', NOW(), NOW()),
('events.evidences.delete', 'Eliminar evidencias', 'Eliminar evidencias de fichas', NOW(), NOW()),
('event_catalogs.view', 'Ver catálogos', 'Consultar catálogos de eventos', NOW(), NOW()),
('event_catalogs.manage', 'Gestionar catálogos', 'Administrar catálogos de eventos', NOW(), NOW());

-- ============================================================
-- PERMISOS — FASE 3: cabina.*
-- ============================================================
INSERT IGNORE INTO `permisos` (`codigo`, `nombre`, `descripcion`, `creado_at`) VALUES
('cabina.access', 'Acceso a CABINA', 'Acceder al módulo CABINA', NOW()),
('cabina.inbox', 'Bandeja CABINA', 'Ver bandeja de fichas en CABINA', NOW()),
('cabina.dashboard', 'Dashboard CABINA', 'Ver dashboard operativo de CABINA', NOW()),
('cabina.view', 'Ver ficha CABINA', 'Ver detalle de ficha desde CABINA', NOW()),
('cabina.classify', 'Clasificar ficha', 'Clasificar ficha operativamente', NOW()),
('cabina.dispatch', 'Despachar', 'Crear y gestionar despachos', NOW()),
('cabina.coordinate', 'Coordinar', 'Crear y gestionar coordinaciones', NOW()),
('cabina.times', 'Registrar tiempos', 'Registrar tiempos operativos', NOW()),
('cabina.activate_zonal', 'Activar zonal', 'Activar administraciones zonales', NOW()),
('cabina.close', 'Cerrar ficha', 'Cerrar ficha operativamente', NOW());

-- ============================================================
-- PERMISOS — FASE 4: macro.*
-- ============================================================
INSERT IGNORE INTO `permisos` (`codigo`, `nombre`, `descripcion`, `creado_at`) VALUES
('macro.view', 'Ver eventos macro', 'Listar y ver eventos macro', NOW()),
('macro.create', 'Crear evento macro', 'Crear nuevos eventos macro', NOW()),
('macro.edit', 'Editar evento macro', 'Editar eventos macro existentes', NOW()),
('macro.delete', 'Eliminar evento macro', 'Eliminar eventos macro', NOW()),
('macro.dashboard', 'Dashboard macro', 'Ver dashboard consolidado del macro', NOW()),
('macro.assign', 'Asignar a macro', 'Asignar fichas, responsables, instituciones y zonales al macro', NOW()),
('macro.close', 'Cerrar evento macro', 'Cerrar un evento macro', NOW());

-- ============================================================
-- PERMISOS — FASE 5: evin.*
-- ============================================================
INSERT IGNORE INTO `permisos` (`codigo`, `nombre`, `descripcion`, `creado_at`) VALUES
('evin.access', 'Acceso a EVIN', 'Acceder al módulo EVIN', NOW()),
('evin.view', 'Ver EVIN', 'Ver asignaciones y detalle EVIN', NOW()),
('evin.assign', 'Asignar EVIN', 'Crear asignaciones EVIN', NOW()),
('evin.arrive', 'Registrar llegada', 'Registrar llegada a sitio', NOW()),
('evin.location', 'Registrar ubicación', 'Registrar ubicación EVIN', NOW()),
('evin.evaluate', 'Evaluar', 'Registrar evaluación EVIN', NOW()),
('evin.resources', 'Solicitar recursos', 'Solicitar recursos EVIN', NOW()),
('evin.close', 'Cerrar EVIN', 'Cerrar atención EVIN', NOW());

-- ============================================================
-- PERMISOS — FASE 6: evad.*
-- ============================================================
INSERT IGNORE INTO `permisos` (`codigo`, `nombre`, `descripcion`, `creado_at`) VALUES
('evad.access', 'Acceso a EVAD', 'Acceder al módulo EVAD', NOW()),
('evad.view', 'Ver EVAD', 'Ver evaluaciones EVAD', NOW()),
('evad.create', 'Crear EVAD', 'Crear evaluación EVAD', NOW()),
('evad.edit', 'Editar EVAD', 'Editar evaluación EVAD', NOW()),
('evad.close', 'Cerrar EVAD', 'Cerrar evaluación EVAD', NOW()),
('evad.validate', 'Validar EVAD', 'Validar evaluación EVAD', NOW()),
('evad.damage', 'Gestionar daños', 'Agregar/editar daños EVAD', NOW()),
('evad.needs', 'Gestionar necesidades', 'Agregar/editar necesidades EVAD', NOW()),
('evad.evidence', 'Gestionar evidencias', 'Subir/eliminar evidencias EVAD', NOW());

-- ============================================================
-- PERMISOS — FASE 7: evin_familiar.*
-- ============================================================
INSERT IGNORE INTO `permisos` (`codigo`, `nombre`, `descripcion`, `creado_at`) VALUES
('evin_familiar.access', 'Acceso EVIN Familiar', 'Acceder al módulo EVIN Familiar', NOW()),
('evin_familiar.view', 'Ver EVIN Familiar', 'Ver registros EVIN Familiar', NOW()),
('evin_familiar.create', 'Crear EVIN Familiar', 'Crear registro EVIN Familiar', NOW()),
('evin_familiar.edit', 'Editar EVIN Familiar', 'Editar registro EVIN Familiar', NOW()),
('evin_familiar.close', 'Cerrar EVIN Familiar', 'Cerrar registro EVIN Familiar', NOW()),
('evin_familiar.integrantes', 'Gestionar integrantes', 'Agregar/editar integrantes', NOW()),
('evin_familiar.needs', 'Gestionar necesidades', 'Agregar/editar necesidades', NOW()),
('evin_familiar.evidence', 'Gestionar evidencias', 'Subir/eliminar evidencias', NOW());

-- ============================================================
-- PERMISOS — FASE 8: ayuda.*
-- ============================================================
INSERT IGNORE INTO `permisos` (`codigo`, `nombre`, `descripcion`, `creado_at`) VALUES
('ayuda.access', 'Acceso Ayuda', 'Acceder al módulo Ayuda Humanitaria', NOW()),
('ayuda.view', 'Ver Ayuda', 'Ver solicitudes de ayuda', NOW()),
('ayuda.create', 'Crear Ayuda', 'Crear solicitud de ayuda', NOW()),
('ayuda.edit', 'Editar Ayuda', 'Editar solicitud de ayuda', NOW()),
('ayuda.review', 'Revisar Ayuda', 'Revisar solicitud de ayuda', NOW()),
('ayuda.approve', 'Aprobar Ayuda', 'Aprobar solicitud de ayuda', NOW()),
('ayuda.reject', 'Rechazar Ayuda', 'Rechazar solicitud de ayuda', NOW()),
('ayuda.deliver', 'Entregar Ayuda', 'Registrar entrega de ayuda', NOW()),
('ayuda.close', 'Cerrar Ayuda', 'Cerrar solicitud de ayuda', NOW()),
('ayuda.beneficiaries', 'Gestionar beneficiarios', 'Agregar/editar beneficiarios', NOW()),
('ayuda.items', 'Gestionar items', 'Agregar/editar items de ayuda', NOW()),
('ayuda.evidence', 'Gestionar evidencias', 'Subir/eliminar evidencias', NOW());

-- ============================================================
-- PERMISOS — FASE 9: requerimientos.*
-- ============================================================
INSERT IGNORE INTO `permisos` (`codigo`, `nombre`, `descripcion`, `creado_at`) VALUES
('requerimientos.access', 'Acceso Requerimientos', 'Acceder al módulo Requerimientos EVIN-CABINA', NOW()),
('requerimientos.view', 'Ver Requerimientos', 'Ver requerimientos', NOW()),
('requerimientos.create', 'Crear Requerimiento', 'Crear requerimiento', NOW()),
('requerimientos.edit', 'Editar Requerimiento', 'Editar requerimiento', NOW()),
('requerimientos.coordinate', 'Coordinar Requerimiento', 'Coordinar requerimiento desde CABINA', NOW()),
('requerimientos.respond', 'Responder Requerimiento', 'Responder requerimiento desde CABINA', NOW()),
('requerimientos.receive', 'Recibir Requerimiento', 'Recibir respuesta desde EVIN', NOW()),
('requerimientos.close', 'Cerrar Requerimiento', 'Cerrar requerimiento', NOW()),
('requerimientos.evidence', 'Gestionar evidencias', 'Subir/eliminar evidencias de requerimiento', NOW()),
('requerimientos.cabina', 'Acceso CABINA', 'Acceder a funciones de CABINA en requerimientos', NOW());

-- ============================================================
-- PERMISOS — FASE 10: sala.*
-- ============================================================
INSERT IGNORE INTO `permisos` (`codigo`, `nombre`, `descripcion`, `creado_at`) VALUES
('sala.access', 'Acceso SALA', 'Acceder al módulo Sala Situacional', NOW()),
('sala.dashboard', 'Dashboard SALA', 'Ver dashboard situacional', NOW()),
('sala.fichas', 'Consultar fichas', 'Consultar fichas en SALA', NOW()),
('sala.indicators', 'Ver indicadores', 'Ver indicadores operativos y territoriales', NOW()),
('sala.timeline', 'Ver timeline', 'Ver línea de tiempo consolidada', NOW()),
('sala.reports', 'Gestionar reportes', 'Guardar/eliminar reportes', NOW()),
('sala.export', 'Exportar datos', 'Exportar reportes desde SALA', NOW());

-- ============================================================
-- PERMISOS — FASE 11: integraciones.*
-- ============================================================
INSERT IGNORE INTO `permisos` (`codigo`, `nombre`, `descripcion`, `creado_at`) VALUES
('integraciones.access', 'Acceso Integraciones', 'Acceder al módulo de Integraciones', NOW()),
('integraciones.view', 'Ver sistemas', 'Ver listado de sistemas externos', NOW()),
('integraciones.config', 'Configurar sistemas', 'Actualizar configuración de sistemas', NOW()),
('integraciones.logs', 'Ver logs', 'Ver bitácora de integraciones', NOW()),
('integraciones.queue', 'Gestionar cola', 'Ver y gestionar cola de eventos', NOW()),
('integraciones.payloads', 'Gestionar payloads', 'Registrar y ver payloads', NOW()),
('integraciones.mock', 'Ejecutar mock', 'Ejecutar endpoints mock de integración', NOW()),
('integraciones.dashboard', 'Ver dashboard', 'Ver dashboard de estado de integraciones', NOW());

-- ============================================================
-- PERMISOS — FASE 12: comunicaciones.*
-- ============================================================
INSERT IGNORE INTO `permisos` (`codigo`, `nombre`, `descripcion`, `creado_at`) VALUES
('comunicaciones.access', 'Acceso Comunicaciones', 'Acceder al módulo de Comunicaciones', NOW()),
('comunicaciones.view', 'Ver comunicaciones', 'Ver listado y detalle de comunicaciones', NOW()),
('comunicaciones.create', 'Crear comunicaciones', 'Crear nuevas comunicaciones', NOW()),
('comunicaciones.edit', 'Editar comunicaciones', 'Editar comunicaciones existentes', NOW()),
('comunicaciones.templates', 'Gestionar plantillas', 'Crear y editar plantillas', NOW()),
('comunicaciones.attachments', 'Gestionar adjuntos', 'Agregar adjuntos a comunicaciones', NOW()),
('comunicaciones.close', 'Cerrar comunicaciones', 'Cambiar estado a cerrado', NOW());

-- ============================================================
-- PERMISOS — FASE 13: pwa.*
-- ============================================================
INSERT IGNORE INTO `permisos` (`codigo`, `nombre`, `descripcion`, `creado_at`) VALUES
('pwa.access', 'Acceso PWA', 'Acceder a funcionalidades PWA', NOW()),
('pwa.devices', 'Gestionar dispositivos', 'Registrar y ver dispositivos', NOW()),
('pwa.sync', 'Sincronizar offline', 'Sincronizar operaciones offline', NOW()),
('pwa.catalogs', 'Ver catálogos PWA', 'Obtener catálogos para cache offline', NOW());

-- ============================================================
-- PERMISOS — FASE 14: auth.* / monitor.*
-- ============================================================
INSERT IGNORE INTO `permisos` (`codigo`, `nombre`, `descripcion`, `creado_at`) VALUES
('auth.sessions', 'Gestionar sesiones', 'Ver y cerrar sesiones activas', NOW()),
('monitor.access', 'Acceso Monitor', 'Acceder al dashboard de monitoreo', NOW());

-- ============================================================
-- PERMISOS — FASE 15: centro.*
-- ============================================================
INSERT IGNORE INTO `permisos` (`codigo`, `nombre`, `descripcion`, `creado_at`) VALUES
('centro.access', 'Acceso Centro', 'Acceder al Centro de Monitoreo Operacional', NOW()),
('centro.muro', 'Muro Operacional', 'Ver muro operacional con eventos activos', NOW()),
('centro.dashboard', 'Dashboard Ejecutivo', 'Ver dashboard ejecutivo con KPIs', NOW()),
('centro.sala', 'Sala de Crisis', 'Acceder a la sala de crisis', NOW()),
('centro.mapa', 'Mapa Operacional', 'Ver mapa operacional con georreferenciación', NOW()),
('centro.monitoreo', 'Centro de Monitoreo', 'Ver centro de monitoreo PWA', NOW()),
('centro.panel', 'Panel COE', 'Generar SITREP y documentos COE', NOW()),
('centro.alarmas', 'Gestionar Alarmas', 'Crear y gestionar alarmas visuales', NOW()),
('centro.notificaciones', 'Notificaciones', 'Gestionar notificaciones internas', NOW());

-- ============================================================
-- PERMISOS — FASE 16: bi.*
-- ============================================================
INSERT IGNORE INTO `permisos` (`codigo`, `nombre`, `descripcion`, `creado_at`) VALUES
('bi.access', 'Acceso BI', 'Acceder al módulo de Analítica y BI', NOW()),
('bi.dashboard', 'Dashboard BI', 'Ver dashboard gerencial de BI', NOW()),
('bi.kpis', 'KPIs BI', 'Ver indicadores estratégicos', NOW()),
('bi.analytics', 'Analítica BI', 'Acceder a analítica avanzada (series, mapas, productividad)', NOW()),
('bi.export', 'Exportar BI', 'Exportar datos de BI en JSON/CSV', NOW()),
('bi.reports', 'Reportes BI', 'Guardar y eliminar reportes personalizados', NOW()),
('bi.config', 'Configurar KPIs', 'Configurar indicadores del módulo BI', NOW());

-- ============================================================
-- PERMISOS — FASE 17: admin.*
-- ============================================================
INSERT IGNORE INTO `permisos` (`codigo`, `nombre`, `descripcion`, `creado_at`) VALUES
('admin.access', 'Acceso Admin', 'Acceder al Centro Administrativo del Sistema', NOW()),
('admin.dashboard', 'Dashboard Admin', 'Ver dashboard administrativo', NOW()),
('admin.users', 'Gestión Usuarios', 'Administrar usuarios (bloquear, reset, etc.)', NOW()),
('admin.sessions', 'Gestión Sesiones', 'Ver y cerrar sesiones activas', NOW()),
('admin.documents', 'Centro Documental', 'Subir, descargar y gestionar documentos', NOW()),
('admin.monitor', 'Monitor Servicios', 'Ver estado de servicios del sistema', NOW()),
('admin.logs', 'Logs Avanzados', 'Ver y exportar logs del sistema', NOW()),
('admin.configuration', 'Configuración General', 'Gestionar parámetros del sistema', NOW()),
('admin.versions', 'Gestión Versiones', 'Ver historial de versiones', NOW()),
('admin.export', 'Exportar Admin', 'Exportar datos administrativos', NOW());

-- ============================================================
-- USUARIOS (SOLO SuperAdmin — no test users)
-- ============================================================
INSERT IGNORE INTO `usuarios` (`id`, `institucion_id`, `correo`, `nombres`, `apellidos`, `password_hash`, `estado`, `creado_at`, `actualizado_at`)
VALUES (1, 1, 'admin@sigma-coe.gob.ec', 'Administrador', 'SIGMA COE', '$2y$10$yXgdj2cB6tYiFBITUcRtj.MyTBW9Hq.K4O7mUztGIPlZ8Vi4r2vVy', 'ACTIVE', NOW(), NOW());

-- ============================================================
-- USUARIOS-ROLES
-- ============================================================
INSERT IGNORE INTO `usuarios_roles` (`usuario_id`, `rol_id`, `creado_at`) VALUES (1, 1, NOW());

-- ============================================================
-- USUARIOS-MODULOS
-- ============================================================
INSERT IGNORE INTO `usuarios_modulos` (`usuario_id`, `modulo_id`, `creado_at`) VALUES
(1, 1, NOW()), (1, 2, NOW()), (1, 3, NOW()), (1, 4, NOW()),
(1, 5, NOW()), (1, 6, NOW()), (1, 7, NOW()), (1, 8, NOW());

-- ============================================================
-- ROLES-PERMISOS — SuperAdmin obtiene TODOS los permisos
-- ============================================================
INSERT IGNORE INTO `roles_permisos` (`rol_id`, `permiso_id`, `creado_at`)
SELECT 1, id, NOW() FROM `permisos`;

-- ============================================================
-- CATALOGOS — FASE 2: Prioridades, Estados, Tipos/Subtipos Evento
-- ============================================================
INSERT IGNORE INTO `ficha_prioridades` (`id`, `nombre`, `nivel`, `color`, `estado`, `creado_at`, `actualizado_at`) VALUES
(1, 'Baja', 1, '#22c55e', 1, NOW(), NOW()),
(2, 'Media', 2, '#eab308', 1, NOW(), NOW()),
(3, 'Alta', 3, '#f97316', 1, NOW(), NOW()),
(4, 'Crítica', 4, '#ef4444', 1, NOW(), NOW()),
(5, 'Máxima', 5, '#7c3aed', 1, NOW(), NOW());

INSERT IGNORE INTO `ficha_estados` (`id`, `codigo`, `nombre`, `descripcion`, `color`, `estado`, `creado_at`, `actualizado_at`) VALUES
(1, 'RECIBIDA', 'Recibida', 'Ficha creada y recibida en el sistema', '#3b82f6', 1, NOW(), NOW()),
(2, 'EN_ANALISIS', 'En Análisis', 'Ficha siendo analizada por el operador', '#8b5cf6', 1, NOW(), NOW()),
(3, 'CLASIFICADA', 'Clasificada', 'Ficha clasificada y asignada a una categoría', '#06b6d4', 1, NOW(), NOW()),
(4, 'DESPACHADA', 'Despachada', 'Ficha despachada para atención en territorio', '#f59e0b', 1, NOW(), NOW()),
(5, 'EN_ATENCION', 'En Atención', 'Ficha siendo atendida en territorio', '#10b981', 1, NOW(), NOW()),
(6, 'CERRADA', 'Cerrada', 'Ficha cerrada y atención finalizada', '#6b7280', 1, NOW(), NOW()),
(7, 'ARCHIVADA', 'Archivada', 'Ficha archivada sin atención', '#9ca3af', 1, NOW(), NOW());

INSERT IGNORE INTO `ficha_tipos_evento` (`id`, `codigo`, `nombre`, `descripcion`, `estado`, `creado_at`, `actualizado_at`) VALUES
(1, 'EMERGENCIA', 'Emergencia', 'Evento de emergencia que requiere atención inmediata', 1, NOW(), NOW()),
(2, 'INCIDENTE', 'Incidente', 'Incidente operativo sin carácter de emergencia', 1, NOW(), NOW()),
(3, 'SEGURIDAD', 'Seguridad', 'Evento relacionado con seguridad ciudadana', 1, NOW(), NOW()),
(4, 'MOVILIDAD', 'Movilidad', 'Evento de tránsito y movilidad', 1, NOW(), NOW()),
(5, 'SALUD', 'Salud', 'Evento de atención sanitaria', 1, NOW(), NOW()),
(6, 'SOCIAL', 'Social', 'Evento de asistencia social', 1, NOW(), NOW()),
(7, 'AMBIENTAL', 'Ambiental', 'Evento de índole ambiental', 1, NOW(), NOW()),
(8, 'ESTRUCTURAL', 'Estructural', 'Daño o riesgo en infraestructura', 1, NOW(), NOW());

INSERT IGNORE INTO `ficha_subtipos_evento` (`id`, `tipo_evento_id`, `codigo`, `nombre`, `descripcion`, `estado`, `creado_at`, `actualizado_at`) VALUES
(1, 1, 'INCENDIO', 'Incendio', 'Incendio estructural, forestal o vehicular', 1, NOW(), NOW()),
(2, 1, 'EXPLOSION', 'Explosión', 'Explosión controlada o no controlada', 1, NOW(), NOW()),
(3, 1, 'DERRUMBE', 'Derrumbe', 'Colapso de estructura o terreno', 1, NOW(), NOW()),
(4, 1, 'INUNDACION', 'Inundación', 'Inundación por lluvias o desborde', 1, NOW(), NOW()),
(5, 2, 'ACCIDENTE_TRANSITO', 'Accidente de Tránsito', 'Choque, atropello o volcamiento', 1, NOW(), NOW()),
(6, 2, 'FUGA_GAS', 'Fuga de Gas', 'Fuga de gas en vía pública o domicilio', 1, NOW(), NOW()),
(7, 2, 'CAIDA_OBJETO', 'Caída de Objeto', 'Caída de árbol, poste o estructura', 1, NOW(), NOW()),
(8, 3, 'RIÑA', 'Riña', 'Pelea callejera o disturbio', 1, NOW(), NOW()),
(9, 3, 'ROBO', 'Robo', 'Robo en proceso o recién ocurrido', 1, NOW(), NOW()),
(10, 3, 'VIOLENCIA', 'Violencia', 'Violencia intrafamiliar o de género', 1, NOW(), NOW()),
(11, 4, 'CONGESTION', 'Congestión Vehicular', 'Trancón o embotellamiento', 1, NOW(), NOW()),
(12, 4, 'SEMAFORO_DAÑADO', 'Semáforo Dañado', 'Semáforo en mal estado o apagado', 1, NOW(), NOW()),
(13, 4, 'VIA_BLOQUEADA', 'Vía Bloqueada', 'Vía cerrada por manifestación o accidente', 1, NOW(), NOW()),
(14, 5, 'EMERGENCIA_MEDICA', 'Emergencia Médica', 'Paro cardíaco, infarto, accidente grave', 1, NOW(), NOW()),
(15, 5, 'INTOXICACION', 'Intoxicación', 'Intoxicación alimenticia o química', 1, NOW(), NOW()),
(16, 6, 'PERSONA_EXTRAVIADA', 'Persona Extraviada', 'Persona perdida o desaparecida', 1, NOW(), NOW()),
(17, 6, 'ALBERGUE', 'Necesidad de Albergue', 'Personas damnificadas sin vivienda', 1, NOW(), NOW()),
(18, 7, 'CONTAMINACION', 'Contaminación', 'Derrame químico o contaminación ambiental', 1, NOW(), NOW()),
(19, 7, 'INCENDIO_FORESTAL', 'Incendio Forestal', 'Quema de vegetación o bosque', 1, NOW(), NOW()),
(20, 8, 'GRIETA', 'Grieta Estructural', 'Grieta en edificio, puente o vía', 1, NOW(), NOW());

-- ============================================================
-- CONFIGURACION SISTEMA
-- ============================================================
INSERT IGNORE INTO `configuracion_sistema` (`id`, `clave`, `nombre`, `valor`, `tipo_dato`, `descripcion`, `creado_at`, `actualizado_at`) VALUES
(1, 'system.name', 'Nombre del sistema', 'SIGMA-COE', 'string', NULL, NOW(), NOW()),
(2, 'system.environment', 'Entorno actual', 'production', 'string', NULL, NOW(), NOW()),
(3, 'system.support_email', 'Correo de soporte', 'admin@sigma-coe.gob.ec', 'string', NULL, NOW(), NOW());

-- ============================================================
-- PARAMETROS
-- ============================================================
INSERT IGNORE INTO `parametros` (`id`, `categoria`, `clave`, `nombre`, `valor`, `tipo_dato`, `descripcion`, `estado`, `creado_at`, `actualizado_at`) VALUES
(1, 'seguridad', 'security.password_min_length', 'Longitud mínima de contraseña', '8', 'number', NULL, 1, NOW(), NOW()),
(2, 'seguridad', 'security.session_idle_minutes', 'Tiempo de sesión inactiva', '120', 'number', NULL, 1, NOW(), NOW()),
(3, 'central', 'central.default_module', 'Módulo por defecto', 'CENTRAL', 'string', NULL, 1, NOW(), NOW());

-- ============================================================
-- USUARIOS SEGURIDAD (SuperAdmin)
-- ============================================================
INSERT IGNORE INTO `usuarios_seguridad` (`id`, `usuario_id`, `mfa_habilitado`, `passkeys_habilitado`, `webauthn_user_handle`, `webauthnCredentials`, `recovery_email`, `alertas_seguridad`, `creado_at`, `actualizado_at`)
VALUES (1, 1, 0, 0, NULL, '[]', 'admin@sigma-coe.gob.ec', 1, NOW(), NOW());

-- ============================================================
-- CONFIGURACION MODULOS
-- ============================================================
INSERT IGNORE INTO `configuracion_modulos` (`id`, `modulo_id`, `nombre_visible`, `logo_url`, `color_primario`, `color_secundario`, `url_futura`, `estado_visible`, `configuracion`, `creado_at`, `actualizado_at`) VALUES
(1, 1, 'CENTRAL', NULL, '#ff0000', '#40a2d8', '/central', 'ACTIVE', '{\"sidebar\":true,\"icono\":\"CENTRAL\",\"integrable\":true}', NOW(), NOW()),
(2, 2, 'CABINA', NULL, '#5c3d2e', '#d97d54', '/cabina', 'ACTIVE', '{\"sidebar\":true,\"icono\":\"CABINA\",\"integrable\":true}', NOW(), NOW()),
(3, 3, 'EVIN', NULL, '#354259', '#5c7aea', '/evin', 'ACTIVE', '{\"sidebar\":true,\"icono\":\"EVIN\",\"integrable\":true}', NOW(), NOW()),
(4, 4, 'SALA', NULL, '#3b5249', '#7ab893', '/sala', 'INACTIVE', '{\"sidebar\":true,\"icono\":\"SALA\",\"integrable\":true}', NOW(), NOW()),
(5, 5, 'SITIMAS', NULL, '#5a4fcf', '#9b8cff', '/sitimas', 'INTEGRABLE', '{\"sidebar\":true,\"icono\":\"SITIMAS\",\"integrable\":true}', NOW(), NOW()),
(6, 6, 'PMO', NULL, '#1b5e20', '#66bb6a', '/pmo', 'INACTIVE', '{\"sidebar\":true,\"icono\":\"PMO\",\"integrable\":true}', NOW(), NOW()),
(7, 7, 'INTEROPERABILIDAD', NULL, '#006064', '#4dd0e1', '/interoperabilidad', 'INTEGRABLE', '{\"sidebar\":true,\"icono\":\"INTEROPERABILIDAD\",\"integrable\":true}', NOW(), NOW()),
(8, 8, 'COMUNICACIONES', NULL, '#7b1fa2', '#ce93d8', '/comunicaciones', 'INTEGRABLE', '{\"sidebar\":true,\"icono\":\"COMUNICACIONES\",\"integrable\":true}', NOW(), NOW());

-- ============================================================
-- PLANTILLAS
-- ============================================================
INSERT IGNORE INTO `plantillas` (`id`, `codigo`, `nombre`, `canal`, `asunto`, `contenido`, `variables`, `estado`, `creado_at`, `actualizado_at`) VALUES
(1, 'WELCOME_EMAIL', 'Bienvenida por correo', 'EMAIL', 'Bienvenido a {{system_name}}', 'Hola {{full_name}}, tu acceso inicial a {{system_name}} ha sido creado.', '[\"system_name\",\"full_name\"]', 1, NOW(), NOW()),
(2, 'SECURITY_ALERT', 'Alerta de seguridad', 'WHATSAPP', NULL, 'Alerta manual: se detectó un evento de seguridad para {{full_name}}.', '[\"full_name\"]', 1, NOW(), NOW()),
(3, 'AUDIT_REPORT', 'Reporte base de auditoría', 'PDF', 'Reporte de auditoría', 'Reporte generado para {{date_range}} con {{total_records}} registros.', '[\"date_range\",\"total_records\"]', 1, NOW(), NOW());

-- ============================================================
-- GRUPOS NOTIFICACION
-- ============================================================
INSERT IGNORE INTO `grupos_notificacion` (`id`, `codigo`, `nombre`, `descripcion`, `canales`, `estado`, `creado_at`, `actualizado_at`) VALUES
(1, 'ADM-CENTRAL', 'Administración Central', 'Grupo funcional de administración central', '[\"email\",\"dashboard\"]', 1, NOW(), NOW()),
(2, 'SEGURIDAD', 'Seguridad', 'Grupo de alertas de seguridad', '[\"email\",\"dashboard\"]', 1, NOW(), NOW());

-- ============================================================
-- TERRITORIO
-- ============================================================
INSERT IGNORE INTO `administraciones_zonales` (`id`, `codigo`, `nombre`, `estado`, `creado_at`, `actualizado_at`) VALUES
(1, 'AZ-CENTRO', 'Administración Zonal Centro', 1, NOW(), NOW());

INSERT IGNORE INTO `parroquias` (`id`, `administracion_zonal_id`, `codigo`, `nombre`, `estado`, `creado_at`, `actualizado_at`) VALUES
(1, 1, 'PAR-CENTRO', 'Parroquia Centro Histórico', 1, NOW(), NOW());

INSERT IGNORE INTO `barrios` (`id`, `parroquia_id`, `codigo`, `nombre`, `estado`, `creado_at`, `actualizado_at`) VALUES
(1, 1, 'BAR-CENTRO-01', 'Barrio Referencial Centro', 1, NOW(), NOW());

-- ============================================================
-- INTEGRACIONES SISTEMAS (FASE 11)
-- ============================================================
INSERT IGNORE INTO `integraciones_sistemas` (`codigo`, `nombre`, `descripcion`, `tipo`, `estado`)
VALUES
('SITIMAS', 'SITIMAS', 'Sistema Integrado de Información para la Gestión de Emergencias', 'externo', 'activo'),
('PMO', 'PMO', 'Plataforma de Monitoreo Operativo', 'externo', 'activo');

-- ============================================================
-- COMUNICACIONES PLANTILLAS (FASE 12)
-- ============================================================
INSERT IGNORE INTO `comunicaciones_plantillas` (`nombre`, `tipo`, `contenido`, `activo`, `usuario_id`)
VALUES
('COE Informativo', 'COE Informativo', '# COE INFORMATIVO\n\n**Número:** {{numero}}\n**Fecha:** {{fecha}}\n**Hora:** {{hora}}\n\n## Situación\n{{situacion}}\n\n## Acciones Realizadas\n{{acciones}}\n\n## Recomendaciones\n{{recomendaciones}}\n\n---\n*Generado por SIGMA-COE*', 1, 1),
('SITREP', 'SITREP', '# SITREP — REPORTE DE SITUACIÓN\n\n**Período:** {{periodo}}\n**Elaborado por:** {{elaborado_por}}\n\n## 1. Resumen\n{{resumen}}\n\n## 2. Incidentes Activos\n{{incidentes}}\n\n## 3. Recursos Desplegados\n{{recursos}}\n\n## 4. Próximos Pasos\n{{proximos_pasos}}', 1, 1),
('Comunicado', 'Comunicado', '# COMUNICADO OFICIAL\n\n**Número:** {{numero}}\n**Fecha:** {{fecha}}\n\n{{contenido}}\n\n---\n*{{entidad}}*', 1, 1),
('WhatsApp Operativo', 'WhatsApp Operativo', '*{{asunto}}*\n\n📋 {{mensaje}}\n\n📍 *Ubicación:* {{ubicacion}}\n👤 *Responsable:* {{responsable}}\n\n_Generado por SIGMA-COE_', 1, 1),
('Resumen Ejecutivo', 'Resumen Ejecutivo', '# RESUMEN EJECUTIVO\n\n**Fecha:** {{fecha}}\n**Elaborado por:** {{elaborado_por}}\n\n## Puntos Clave\n{{puntos_clave}}\n\n## Estado Actual\n{{estado_actual}}\n\n## Decisiones Tomadas\n{{decisiones}}\n\n## Pendientes\n{{pendientes}}', 1, 1);

-- ============================================================
-- BI KPI CONFIGURACION (FASE 16)
-- ============================================================
INSERT IGNORE INTO `bi_kpi_configuracion` (`codigo`, `nombre`, `descripcion`, `modulo_origen`, `formula_sql`, `activo`, `orden`)
VALUES
('total_fichas', 'Total Fichas', 'Total de fichas registradas', 'fichas', 'SELECT COUNT(*) FROM fichas', 1, 1),
('fichas_abiertas', 'Fichas Abiertas', 'Fichas en estado abierto/en proceso', 'fichas', "SELECT COUNT(*) FROM fichas WHERE estado NOT IN ('cerrado','cancelado')", 1, 2),
('fichas_cerradas', 'Fichas Cerradas', 'Fichas cerradas o canceladas', 'fichas', "SELECT COUNT(*) FROM fichas WHERE estado IN ('cerrado','cancelado')", 1, 3),
('macro_activos', 'Macro Eventos Activos', 'Eventos macro activos', 'macro', "SELECT COUNT(*) FROM macro_eventos WHERE estado = 'ACTIVO'", 1, 4),
('fichas_criticas', 'Fichas Críticas', 'Fichas de alta prioridad abiertas', 'fichas', "SELECT COUNT(*) FROM fichas WHERE prioridad_id IS NOT NULL AND estado NOT IN ('cerrado','cancelado')", 1, 5),
('evin_realizadas', 'EVIN Realizadas', 'Evaluaciones EVIN completadas', 'evin', "SELECT COUNT(*) FROM evin_asignaciones WHERE estado = 'completado'", 1, 6),
('evad_realizadas', 'EVAD Realizadas', 'Evaluaciones EVAD completadas', 'evad', "SELECT COUNT(*) FROM evad_encabezado", 1, 7),
('ayudas_entregadas', 'Ayudas Entregadas', 'Ayudas humanitarias entregadas', 'ayuda', "SELECT COUNT(*) FROM ayuda_humanitaria", 1, 8),
('requerimientos_pendientes', 'Requerimientos Pendientes', 'Requerimientos EVIN-CABINA sin cerrar', 'requerimientos', "SELECT COUNT(*) FROM requerimientos_evin_cabina WHERE estado NOT IN ('cerrado','resuelto')", 1, 9),
('comunicaciones_generadas', 'Comunicaciones Generadas', 'Comunicaciones totales', 'comunicaciones', 'SELECT COUNT(*) FROM comunicaciones', 1, 10);

-- ============================================================
-- ADMIN SISTEMA (FASE 17)
-- ============================================================
INSERT IGNORE INTO `admin_sistema` (`clave`, `valor`, `tipo`, `descripcion`)
VALUES
('app_name', 'SIGMA-COE', 'string', 'Nombre de la aplicación'),
('app_version', '1.0.0-FASE17', 'string', 'Versión actual del sistema'),
('app_description', 'Sistema Integral de Gestión y Monitoreo de Ayuda - COE', 'string', 'Descripción del sistema'),
('brand_color_primary', '#2563eb', 'string', 'Color primario de la interfaz'),
('brand_color_secondary', '#1e293b', 'string', 'Color secundario de la interfaz'),
('brand_logo', '', 'string', 'URL del logo institucional'),
('max_upload_size', '10485760', 'int', 'Tamaño máximo de subida en bytes (10MB)'),
('allowed_extensions', 'pdf,doc,docx,xls,xlsx,ppt,pptx,zip,png,jpg,jpeg,gif,mp4,avi', 'string', 'Extensiones de archivo permitidas'),
('session_timeout_minutes', '60', 'int', 'Tiempo de expiración de sesión en minutos'),
('maintenance_mode', 'false', 'bool', 'Activar modo mantenimiento'),
('contact_email', 'admin@sigma-coe.gob.ec', 'string', 'Correo de contacto del sistema'),
('company_name', 'COE Nacional', 'string', 'Nombre de la institución'),
('default_language', 'es', 'string', 'Idioma por defecto');

-- ============================================================
-- USUARIOS PASSWORD (SuperAdmin — FASE 14)
-- ============================================================
INSERT IGNORE INTO `usuarios_password` (`usuario_id`, `ultimo_cambio`, `requiere_cambio`, `intentos`)
SELECT id, NOW(), 0, 0 FROM `usuarios` WHERE id = 1;

-- ============================================================
-- ACTUALIZAR SECUENCIAS AUTO_INCREMENT
-- ============================================================
ALTER TABLE `instituciones` AUTO_INCREMENT = 14;
ALTER TABLE `modulos` AUTO_INCREMENT = 9;
ALTER TABLE `roles` AUTO_INCREMENT = 9;
ALTER TABLE `permisos` AUTO_INCREMENT = 236;
ALTER TABLE `usuarios` AUTO_INCREMENT = 2;
ALTER TABLE `usuarios_roles` AUTO_INCREMENT = 2;
ALTER TABLE `usuarios_modulos` AUTO_INCREMENT = 9;
ALTER TABLE `configuracion_sistema` AUTO_INCREMENT = 4;
ALTER TABLE `parametros` AUTO_INCREMENT = 4;
ALTER TABLE `usuarios_seguridad` AUTO_INCREMENT = 2;
ALTER TABLE `configuracion_modulos` AUTO_INCREMENT = 9;
ALTER TABLE `plantillas` AUTO_INCREMENT = 5;
ALTER TABLE `grupos_notificacion` AUTO_INCREMENT = 3;
ALTER TABLE `administraciones_zonales` AUTO_INCREMENT = 2;
ALTER TABLE `parroquias` AUTO_INCREMENT = 2;
ALTER TABLE `barrios` AUTO_INCREMENT = 2;
ALTER TABLE `ficha_prioridades` AUTO_INCREMENT = 6;
ALTER TABLE `ficha_estados` AUTO_INCREMENT = 8;
ALTER TABLE `ficha_tipos_evento` AUTO_INCREMENT = 9;
ALTER TABLE `ficha_subtipos_evento` AUTO_INCREMENT = 21;
