<?php
$pageTitle = 'Control de Temperatura';
require_once __DIR__ . '/../../config/config.php';
requireLogin();

$db = getDB();

// Obtener equipos con último registro
$equipos = $db->query("
    SELECT e.*, 
           (SELECT temperatura FROM registros_temperatura WHERE equipo_id = e.id ORDER BY fecha DESC, hora DESC LIMIT 1) as ultima_temp,
           (SELECT estado FROM registros_temperatura WHERE equipo_id = e.id ORDER BY fecha DESC, hora DESC LIMIT 1) as ultimo_estado,
           (SELECT CONCAT(fecha, ' ', hora) FROM registros_temperatura WHERE equipo_id = e.id ORDER BY fecha DESC, hora DESC LIMIT 1) as ultimo_registro,
           (SELECT COUNT(*) FROM registros_temperatura WHERE equipo_id = e.id AND DATE(fecha) = CURDATE()) as registros_hoy
    FROM equipos_refrigeracion e
    WHERE e.activo = 1
    ORDER BY e.tipo, e.nombre
")->fetchAll();

// Estadísticas del día
$hoy = date('Y-m-d');
$statsHoy = $db->query("
    SELECT 
        COUNT(*) as total_registros,
        SUM(CASE WHEN estado = 'Normal' THEN 1 ELSE 0 END) as normales,
        SUM(CASE WHEN estado IN ('Alto', 'Bajo') THEN 1 ELSE 0 END) as alertas,
        SUM(CASE WHEN estado = 'Critico' THEN 1 ELSE 0 END) as criticos
    FROM registros_temperatura
    WHERE fecha = '$hoy'
")->fetch();

// Registros recientes
$registrosRecientes = $db->query("
    SELECT r.*, e.nombre as equipo_nombre, e.tipo, u.nombre as operador_nombre
    FROM registros_temperatura r
    JOIN equipos_refrigeracion e ON r.equipo_id = e.id
    JOIN usuarios u ON r.operador_id = u.id
    ORDER BY r.fecha DESC, r.hora DESC
    LIMIT 10
")->fetchAll();

require_once __DIR__ . '/../../includes/header.php';
?>

<div class="row mb-4">
    <div class="col-md-6">
        <h2><i class="bi bi-thermometer-half me-2"></i>Control de Temperatura</h2>
        <p class="text-muted">Monitoreo de refrigeradoras y congeladores</p>
    </div>
    <div class="col-md-6 text-end">
        <a href="registrar.php" class="btn btn-primary btn-lg">
            <i class="bi bi-plus-circle me-1"></i> Registrar Temperatura
        </a>
        <a href="equipos.php" class="btn btn-outline-secondary">
            <i class="bi bi-gear me-1"></i> Equipos
        </a>
    </div>
</div>

<!-- Navegación -->
<ul class="nav nav-tabs mb-4">
    <li class="nav-item">
        <a class="nav-link active" href="list.php">
            <i class="bi bi-speedometer2 me-1"></i> Dashboard
        </a>
    </li>
    <li class="nav-item">
        <a class="nav-link" href="registrar.php">
            <i class="bi bi-journal-plus me-1"></i> Registrar
        </a>
    </li>
    <li class="nav-item">
        <a class="nav-link" href="historial.php">
            <i class="bi bi-clock-history me-1"></i> Historial
        </a>
    </li>
    <li class="nav-item">
        <a class="nav-link" href="reportes.php">
            <i class="bi bi-file-earmark-bar-graph me-1"></i> Reportes
        </a>
    </li>
    <li class="nav-item">
        <a class="nav-link" href="equipos.php">
            <i class="bi bi-box-seam me-1"></i> Equipos
        </a>
    </li>
</ul>

<!-- Estadísticas del día -->
<div class="row mb-4">
    <div class="col-md-3">
        <div class="card bg-primary text-white">
            <div class="card-body">
                <div class="d-flex justify-content-between align-items-center">
                    <div>
                        <h6 class="mb-0">Registros Hoy</h6>
                        <h2 class="mb-0"><?= $statsHoy['total_registros'] ?? 0 ?></h2>
                    </div>
                    <i class="bi bi-journal-check fs-1 opacity-50"></i>
                </div>
            </div>
        </div>
    </div>
    <div class="col-md-3">
        <div class="card bg-success text-white">
            <div class="card-body">
                <div class="d-flex justify-content-between align-items-center">
                    <div>
                        <h6 class="mb-0">Normales</h6>
                        <h2 class="mb-0"><?= $statsHoy['normales'] ?? 0 ?></h2>
                    </div>
                    <i class="bi bi-check-circle fs-1 opacity-50"></i>
                </div>
            </div>
        </div>
    </div>
    <div class="col-md-3">
        <div class="card bg-warning">
            <div class="card-body">
                <div class="d-flex justify-content-between align-items-center">
                    <div>
                        <h6 class="mb-0">Alertas</h6>
                        <h2 class="mb-0"><?= $statsHoy['alertas'] ?? 0 ?></h2>
                    </div>
                    <i class="bi bi-exclamation-triangle fs-1 opacity-50"></i>
                </div>
            </div>
        </div>
    </div>
    <div class="col-md-3">
        <div class="card bg-danger text-white">
            <div class="card-body">
                <div class="d-flex justify-content-between align-items-center">
                    <div>
                        <h6 class="mb-0">Críticos</h6>
                        <h2 class="mb-0"><?= $statsHoy['criticos'] ?? 0 ?></h2>
                    </div>
                    <i class="bi bi-x-octagon fs-1 opacity-50"></i>
                </div>
            </div>
        </div>
    </div>
</div>

<!-- Estado actual de equipos -->
<div class="row mb-4">
    <div class="col-12">
        <div class="card">
            <div class="card-header">
                <h5 class="mb-0"><i class="bi bi-thermometer-half me-2"></i>Estado Actual de Equipos</h5>
            </div>
            <div class="card-body">
                <div class="row">
                    <?php foreach ($equipos as $eq): 
                        $estadoClass = 'secondary';
                        $estadoIcon = 'dash-circle';
                        if ($eq['ultimo_estado'] == 'Normal') {
                            $estadoClass = 'success';
                            $estadoIcon = 'check-circle-fill';
                        } elseif ($eq['ultimo_estado'] == 'Critico') {
                            $estadoClass = 'danger';
                            $estadoIcon = 'x-octagon-fill';
                        } elseif (in_array($eq['ultimo_estado'], ['Alto', 'Bajo'])) {
                            $estadoClass = 'warning';
                            $estadoIcon = 'exclamation-triangle-fill';
                        }
                    ?>
                    <div class="col-md-4 mb-3">
                        <div class="card border-<?= $estadoClass ?>">
                            <div class="card-body">
                                <div class="d-flex justify-content-between align-items-start">
                                    <div>
                                        <h6 class="mb-1">
                                            <i class="bi bi-<?= $eq['tipo'] == 'Refrigeradora' ? 'box' : 'snow' ?> me-1"></i>
                                            <?= htmlspecialchars($eq['nombre']) ?>
                                        </h6>
                                        <small class="text-muted"><?= htmlspecialchars($eq['ubicacion'] ?? '') ?></small>
                                    </div>
                                    <span class="badge bg-<?= $estadoClass ?>">
                                        <i class="bi bi-<?= $estadoIcon ?> me-1"></i>
                                        <?= $eq['ultimo_estado'] ?? 'Sin datos' ?>
                                    </span>
                                </div>
                                
                                <div class="mt-3">
                                    <?php if ($eq['ultima_temp'] !== null): ?>
                                    <div class="display-6 text-<?= $estadoClass ?>">
                                        <?= number_format($eq['ultima_temp'], 1) ?>°C
                                    </div>
                                    <small class="text-muted">
                                        Rango: <?= $eq['temp_minima'] ?>°C a <?= $eq['temp_maxima'] ?>°C
                                    </small>
                                    <br>
                                    <small class="text-muted">
                                        <i class="bi bi-clock me-1"></i>
                                        <?= $eq['ultimo_registro'] ? date('d/m/Y H:i', strtotime($eq['ultimo_registro'])) : 'N/A' ?>
                                    </small>
                                    <?php else: ?>
                                    <p class="text-muted mb-0">Sin registros</p>
                                    <?php endif; ?>
                                </div>
                                
                                <div class="mt-2">
                                    <small class="badge bg-light text-dark">
                                        <?= $eq['registros_hoy'] ?> registros hoy
                                    </small>
                                </div>
                            </div>
                            <div class="card-footer bg-transparent">
                                <a href="registrar.php?equipo_id=<?= $eq['id'] ?>" class="btn btn-sm btn-primary">
                                    <i class="bi bi-plus"></i> Registrar
                                </a>
                                <a href="historial.php?equipo_id=<?= $eq['id'] ?>" class="btn btn-sm btn-outline-secondary">
                                    <i class="bi bi-graph-up"></i> Historial
                                </a>
                            </div>
                        </div>
                    </div>
                    <?php endforeach; ?>
                    
                    <?php if (empty($equipos)): ?>
                    <div class="col-12 text-center text-muted py-4">
                        <i class="bi bi-inbox fs-1"></i>
                        <p>No hay equipos registrados</p>
                        <a href="equipos.php" class="btn btn-primary">Agregar Equipo</a>
                    </div>
                    <?php endif; ?>
                </div>
            </div>
        </div>
    </div>
</div>

<!-- Registros recientes -->
<div class="card">
    <div class="card-header d-flex justify-content-between align-items-center">
        <h5 class="mb-0"><i class="bi bi-clock-history me-2"></i>Últimos Registros</h5>
        <a href="historial.php" class="btn btn-sm btn-outline-primary">Ver todos</a>
    </div>
    <div class="card-body">
        <div class="table-responsive">
            <table class="table table-hover">
                <thead>
                    <tr>
                        <th>Fecha/Hora</th>
                        <th>Equipo</th>
                        <th>Temperatura</th>
                        <th>Estado</th>
                        <th>Operador</th>
                        <th>Observaciones</th>
                    </tr>
                </thead>
                <tbody>
                    <?php if (empty($registrosRecientes)): ?>
                    <tr>
                        <td colspan="6" class="text-center text-muted py-4">No hay registros aún</td>
                    </tr>
                    <?php else: ?>
                    <?php foreach ($registrosRecientes as $r): 
                        $estadoClass = $r['estado'] == 'Normal' ? 'success' : ($r['estado'] == 'Critico' ? 'danger' : 'warning');
                    ?>
                    <tr>
                        <td>
                            <?= date('d/m/Y', strtotime($r['fecha'])) ?><br>
                            <small class="text-muted"><?= date('H:i', strtotime($r['hora'])) ?></small>
                        </td>
                        <td>
                            <i class="bi bi-<?= $r['tipo'] == 'Refrigeradora' ? 'box' : 'snow' ?> me-1"></i>
                            <?= htmlspecialchars($r['equipo_nombre']) ?>
                        </td>
                        <td class="fs-5 text-<?= $estadoClass ?>">
                            <strong><?= number_format($r['temperatura'], 1) ?>°C</strong>
                        </td>
                        <td>
                            <span class="badge bg-<?= $estadoClass ?>"><?= $r['estado'] ?></span>
                        </td>
                        <td><?= htmlspecialchars($r['operador_nombre']) ?></td>
                        <td><small><?= htmlspecialchars($r['observaciones'] ?? '-') ?></small></td>
                    </tr>
                    <?php endforeach; ?>
                    <?php endif; ?>
                </tbody>
            </table>
        </div>
    </div>
</div>

<?php require_once __DIR__ . '/../../includes/footer.php'; ?>
