-- Script para crear usuario demo administrador
-- Sistema de Inventario Forestal de Guatemala V1.0

USE `sif_guatemala`;

-- Eliminar usuario demo si ya existe
DELETE FROM usuarios WHERE email = 'admin@demo.com';

-- Insertar usuario demo administrador
-- Email: admin@demo.com
-- Contraseña: demo123
-- Hash generado con PHP password_hash('demo123', PASSWORD_BCRYPT)
INSERT INTO usuarios (nombre, email, password_hash, rol, activo) VALUES 
('Administrador Demo', 'admin@demo.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'Administrador', TRUE);

-- Verificar que el usuario fue creado
SELECT 
    id,
    nombre,
    email,
    rol,
    activo,
    fecha_creacion
FROM usuarios 
WHERE email = 'admin@demo.com';

-- Insertar algunos proyectos demo para pruebas
INSERT INTO proyectos (
    nombre_proyecto,
    nombre_finca,
    departamento,
    municipio,
    aldea,
    nombre_propietario,
    nombre_regente_forestal,
    usuario_id
) VALUES 
(
    'Inventario Forestal Finca El Pinar',
    'Finca El Pinar',
    'Guatemala',
    'San José Pinula',
    'El Pinar',
    'Juan Carlos Méndez',
    'Ing. María Elena Rodríguez',
    (SELECT id FROM usuarios WHERE email = 'admin@demo.com')
),
(
    'Manejo Sostenible Bosque Las Nubes',
    'Finca Las Nubes',
    'Alta Verapaz',
    'Cobán',
    'Las Nubes',
    'Cooperativa Forestal Las Nubes',
    'Ing. Carlos Alberto Morales',
    (SELECT id FROM usuarios WHERE email = 'admin@demo.com')
),
(
    'Inventario Plantación Pino Candelillo',
    'Plantación Los Cipreses',
    'Quetzaltenango',
    'Zunil',
    'Los Cipreses',
    'Empresa Forestal del Altiplano S.A.',
    'Ing. Ana Sofía Herrera',
    (SELECT id FROM usuarios WHERE email = 'admin@demo.com')
);

-- Insertar algunos rodales demo
INSERT INTO rodales (proyecto_id, nombre_rodal, area_ha) VALUES
-- Rodales para Finca El Pinar
((SELECT id FROM proyectos WHERE nombre_proyecto = 'Inventario Forestal Finca El Pinar'), 'Rodal A-1', 5.25),
((SELECT id FROM proyectos WHERE nombre_proyecto = 'Inventario Forestal Finca El Pinar'), 'Rodal A-2', 3.80),
((SELECT id FROM proyectos WHERE nombre_proyecto = 'Inventario Forestal Finca El Pinar'), 'Rodal B-1', 7.15),

-- Rodales para Bosque Las Nubes
((SELECT id FROM proyectos WHERE nombre_proyecto = 'Manejo Sostenible Bosque Las Nubes'), 'Sector Norte', 12.50),
((SELECT id FROM proyectos WHERE nombre_proyecto = 'Manejo Sostenible Bosque Las Nubes'), 'Sector Sur', 8.75),
((SELECT id FROM proyectos WHERE nombre_proyecto = 'Manejo Sostenible Bosque Las Nubes'), 'Sector Este', 15.30),

-- Rodales para Plantación Pino Candelillo
((SELECT id FROM proyectos WHERE nombre_proyecto = 'Inventario Plantación Pino Candelillo'), 'Bloque 1', 4.60),
((SELECT id FROM proyectos WHERE nombre_proyecto = 'Inventario Plantación Pino Candelillo'), 'Bloque 2', 4.60),
((SELECT id FROM proyectos WHERE nombre_proyecto = 'Inventario Plantación Pino Candelillo'), 'Bloque 3', 4.60);

-- Insertar algunos datos de campo demo
INSERT INTO datos_campo (
    rodal_id,
    numero_parcela,
    latitud,
    longitud,
    especie_id,
    dap_cm,
    altura_m,
    condicion_arbol,
    estado_sincronizacion,
    usuario_id
) VALUES
-- Datos para Rodal A-1
((SELECT id FROM rodales WHERE nombre_rodal = 'Rodal A-1'), 1, 14.6349, -90.5069, 1, 25.4, 12.5, 'Sano', 'Sincronizado', (SELECT id FROM usuarios WHERE email = 'admin@demo.com')),
((SELECT id FROM rodales WHERE nombre_rodal = 'Rodal A-1'), 1, 14.6350, -90.5070, 1, 28.2, 13.8, 'Sano', 'Sincronizado', (SELECT id FROM usuarios WHERE email = 'admin@demo.com')),
((SELECT id FROM rodales WHERE nombre_rodal = 'Rodal A-1'), 1, 14.6351, -90.5071, 2, 22.1, 11.2, 'Bifurcado', 'Sincronizado', (SELECT id FROM usuarios WHERE email = 'admin@demo.com')),
((SELECT id FROM rodales WHERE nombre_rodal = 'Rodal A-1'), 2, 14.6352, -90.5072, 1, 31.5, 15.3, 'Sano', 'Sincronizado', (SELECT id FROM usuarios WHERE email = 'admin@demo.com')),
((SELECT id FROM rodales WHERE nombre_rodal = 'Rodal A-1'), 2, 14.6353, -90.5073, 3, 18.7, 9.8, 'Sano', 'Sincronizado', (SELECT id FROM usuarios WHERE email = 'admin@demo.com')),

-- Datos para Sector Norte
((SELECT id FROM rodales WHERE nombre_rodal = 'Sector Norte'), 1, 15.4781, -90.3711, 5, 45.2, 18.5, 'Sano', 'Sincronizado', (SELECT id FROM usuarios WHERE email = 'admin@demo.com')),
((SELECT id FROM rodales WHERE nombre_rodal = 'Sector Norte'), 1, 15.4782, -90.3712, 5, 38.9, 16.2, 'Sano', 'Sincronizado', (SELECT id FROM usuarios WHERE email = 'admin@demo.com')),
((SELECT id FROM rodales WHERE nombre_rodal = 'Sector Norte'), 1, 15.4783, -90.3713, 8, 52.3, 22.1, 'Sano', 'Sincronizado', (SELECT id FROM usuarios WHERE email = 'admin@demo.com')),
((SELECT id FROM rodales WHERE nombre_rodal = 'Sector Norte'), 2, 15.4784, -90.3714, 9, 48.7, 20.8, 'Bifurcado', 'Sincronizado', (SELECT id FROM usuarios WHERE email = 'admin@demo.com')),
((SELECT id FROM rodales WHERE nombre_rodal = 'Sector Norte'), 2, 15.4785, -90.3715, 10, 35.4, 14.9, 'Sano', 'Sincronizado', (SELECT id FROM usuarios WHERE email = 'admin@demo.com')),

-- Datos para Bloque 1
((SELECT id FROM rodales WHERE nombre_rodal = 'Bloque 1'), 1, 14.7234, -91.4789, 1, 15.2, 8.5, 'Sano', 'Sincronizado', (SELECT id FROM usuarios WHERE email = 'admin@demo.com')),
((SELECT id FROM rodales WHERE nombre_rodal = 'Bloque 1'), 1, 14.7235, -91.4790, 1, 16.8, 9.2, 'Sano', 'Sincronizado', (SELECT id FROM usuarios WHERE email = 'admin@demo.com')),
((SELECT id FROM rodales WHERE nombre_rodal = 'Bloque 1'), 1, 14.7236, -91.4791, 1, 14.5, 7.8, 'Sano', 'Sincronizado', (SELECT id FROM usuarios WHERE email = 'admin@demo.com')),
((SELECT id FROM rodales WHERE nombre_rodal = 'Bloque 1'), 2, 14.7237, -91.4792, 1, 17.3, 9.8, 'Sano', 'Sincronizado', (SELECT id FROM usuarios WHERE email = 'admin@demo.com')),
((SELECT id FROM rodales WHERE nombre_rodal = 'Bloque 1'), 2, 14.7238, -91.4793, 1, 15.9, 8.9, 'Bifurcado', 'Sincronizado', (SELECT id FROM usuarios WHERE email = 'admin@demo.com'));

-- Mostrar resumen de datos creados
SELECT 'USUARIO DEMO CREADO' as resultado;
SELECT 
    nombre,
    email,
    rol,
    activo,
    fecha_creacion
FROM usuarios 
WHERE email = 'admin@demo.com';

SELECT 'PROYECTOS DEMO CREADOS' as resultado;
SELECT 
    id,
    nombre_proyecto,
    nombre_finca,
    departamento,
    municipio
FROM proyectos 
ORDER BY id;

SELECT 'RODALES DEMO CREADOS' as resultado;
SELECT 
    r.id,
    r.nombre_rodal,
    r.area_ha,
    p.nombre_proyecto
FROM rodales r
JOIN proyectos p ON r.proyecto_id = p.id
ORDER BY p.id, r.id;

SELECT 'DATOS DE CAMPO DEMO CREADOS' as resultado;
SELECT 
    COUNT(*) as total_registros,
    COUNT(DISTINCT rodal_id) as rodales_con_datos,
    COUNT(DISTINCT numero_parcela) as total_parcelas,
    COUNT(DISTINCT especie_id) as especies_registradas
FROM datos_campo;

-- Mostrar estadísticas por rodal
SELECT 'ESTADÍSTICAS POR RODAL' as resultado;
SELECT 
    p.nombre_proyecto,
    r.nombre_rodal,
    r.area_ha,
    COUNT(dc.id) as total_arboles,
    ROUND(AVG(dc.dap_cm), 2) as dap_promedio,
    ROUND(AVG(dc.altura_m), 2) as altura_promedio,
    COUNT(DISTINCT dc.numero_parcela) as parcelas,
    COUNT(DISTINCT dc.especie_id) as especies
FROM rodales r
JOIN proyectos p ON r.proyecto_id = p.id
LEFT JOIN datos_campo dc ON r.id = dc.rodal_id
GROUP BY r.id, p.nombre_proyecto, r.nombre_rodal, r.area_ha
ORDER BY p.id, r.id;

-- Información de acceso
SELECT '=== INFORMACIÓN DE ACCESO ===' as info;
SELECT 'Email: admin@demo.com' as credencial;
SELECT 'Contraseña: demo123' as credencial;
SELECT 'Rol: Administrador' as credencial;
SELECT '=== DATOS DEMO INCLUIDOS ===' as info;
SELECT '- 3 Proyectos forestales' as contenido;
SELECT '- 9 Rodales distribuidos' as contenido;
SELECT '- 15 Registros de árboles' as contenido;
SELECT '- Especies forestales de Guatemala' as contenido;