0, 'entradas' => 0, 'salidas' => 0, 'archivos' => 0, 'usuarios' => 0 ]; try { $stmt = $db->query("SELECT type, COUNT(*) as count FROM documents GROUP BY type"); while ($row = $stmt->fetch()) { if ($row['type'] == 'entrada') $stats['entradas'] = $row['count']; if ($row['type'] == 'salida') $stats['salidas'] = $row['count']; if ($row['type'] == 'archivo_interno') $stats['archivos'] = $row['count']; $stats['total'] += $row['count']; } $stmt = $db->query("SELECT COUNT(*) FROM users"); $stats['usuarios'] = $stmt->fetchColumn(); // Documentos recientes $stmt = $db->query("SELECT d.*, u.name as user_name FROM documents d LEFT JOIN users u ON d.uploaded_by = u.id ORDER BY d.created_at DESC LIMIT 5"); $recent_docs = $stmt->fetchAll(); } catch (PDOException $e) { $error = "Error al cargar las estadísticas."; } ?>

Panel de Control

Resumen de la actividad del departamento de Consultoría Jurídica.

Total Registros

Oficios Entrada

Oficios Salida

Usuarios Activos

Documentos Recientes

Referencia / Expediente Asunto Tipo Fecha Registro
No hay documentos registrados aún.

Por:

'bg-emerald-100 text-emerald-800 border-emerald-200', 'salida' => 'bg-amber-100 text-amber-800 border-amber-200', 'archivo_interno' => 'bg-slate-100 text-slate-800 border-slate-200' ]; $typeLabels = [ 'entrada' => 'Entrada', 'salida' => 'Salida', 'archivo_interno' => 'Archivo Interno' ]; $class = $typeClasses[$doc['type']] ?? 'bg-gray-100 text-gray-800 border-gray-200'; $label = $typeLabels[$doc['type']] ?? ucfirst($doc['type']); ?>