File "Dashboardstats.php"
Full Path: C:/wamp64/www/RegistroEquipos2/backend/telefono/Dashboardstats.php
File size: 3.32 KB
MIME-type: text/x-php
Charset: utf-8
<?php
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *');
$host = '192.200.100.40';
$db = 'sistemas';
$user = 'SANMARINO';
$pass = 'sanmarino2021*';
$charset = 'utf8mb4';
try {
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$pdo = new PDO($dsn, $user, $pass, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
]);
// --- Teléfonos (inventario_telefonos) ---
try {
$telefonos = $pdo->query("SELECT
SUM(CASE WHEN estado = 'disponible' THEN 1 ELSE 0 END) as disponibles,
SUM(CASE WHEN estado = 'asignado' THEN 1 ELSE 0 END) as asignados
FROM inventario_telefonos")->fetch(PDO::FETCH_ASSOC);
} catch (Exception $e) {
$telefonos = ['disponibles' => 0, 'asignados' => 0];
}
// --- Líneas (inventario_lineas) ---
try {
$lineas = $pdo->query("SELECT
SUM(CASE WHEN estado = 'disponible' THEN 1 ELSE 0 END) as disponibles,
SUM(CASE WHEN estado = 'asignada' THEN 1 ELSE 0 END) as asignadas
FROM inventario_lineas")->fetch(PDO::FETCH_ASSOC);
} catch (Exception $e) {
$lineas = ['disponibles' => 0, 'asignadas' => 0];
}
// --- Smartphones registrados (registroSmartphones con S mayúscula) ---
try {
$smartphones = $pdo->query("SELECT
SUM(CASE WHEN estado = 'entregado' THEN 1 ELSE 0 END) as entregados,
SUM(CASE WHEN estado = 'devuelto' THEN 1 ELSE 0 END) as devueltos
FROM registroSmartphones")->fetch(PDO::FETCH_ASSOC);
} catch (Exception $e) {
$smartphones = ['entregados' => 0, 'devueltos' => 0];
}
// --- Condición de equipos (inventario_telefonos) ---
try {
$condicion = $pdo->query("SELECT
SUM(CASE WHEN condicion = 'excelente' THEN 1 ELSE 0 END) as excelente,
SUM(CASE WHEN condicion = 'bueno' THEN 1 ELSE 0 END) as bueno,
SUM(CASE WHEN condicion = 'regular' THEN 1 ELSE 0 END) as regular,
SUM(CASE WHEN condicion = 'malo' THEN 1 ELSE 0 END) as malo
FROM inventario_telefonos")->fetch(PDO::FETCH_ASSOC);
} catch (Exception $e) {
$condicion = ['excelente' => 0, 'bueno' => 0, 'regular' => 0, 'malo' => 0];
}
$stats = [
'telefonos_disponibles' => (int)($telefonos['disponibles'] ?? 0),
'telefonos_asignados' => (int)($telefonos['asignados'] ?? 0),
'lineas_disponibles' => (int)($lineas['disponibles'] ?? 0),
'lineas_asignadas' => (int)($lineas['asignadas'] ?? 0),
'smartphones_entregados'=> (int)($smartphones['entregados'] ?? 0),
'smartphones_devueltos' => (int)($smartphones['devueltos'] ?? 0),
'asignaciones_activas' => (int)($smartphones['entregados'] ?? 0),
'telefonos_excelente' => (int)($condicion['excelente'] ?? 0),
'telefonos_bueno' => (int)($condicion['bueno'] ?? 0),
'telefonos_regular' => (int)($condicion['regular'] ?? 0),
'telefonos_malo' => (int)($condicion['malo'] ?? 0),
];
echo json_encode([
'status' => 'success',
'data' => $stats
]);
} catch (PDOException $e) {
echo json_encode([
'status' => 'error',
'mensaje' => 'Error de conexión: ' . $e->getMessage()
]);
}