File "inventariolineas.php"
Full Path: C:/wamp64/www/RegistroEquipos2/backend/telefono/inventariolineas.php
File size: 3.54 KB
MIME-type: text/x-php
Charset: utf-8
<?php
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS');
$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,
]);
$metodo = $_SERVER['REQUEST_METHOD'];
if ($metodo === 'GET') {
$sql = "SELECT id, numero, plan_datos, operador, estado, veces_asignada FROM inventario_lineas ORDER BY id DESC";
$stmt = $pdo->query($sql);
$lineas = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode(['status' => 'success', 'data' => $lineas]);
exit;
}
if ($metodo === 'POST') {
$data = json_decode(file_get_contents('php://input'), true);
if (!$data) {
echo json_encode(['status' => 'error', 'mensaje' => 'Datos no válidos']);
exit;
}
$numero = trim($data['numero'] ?? '');
if (empty($numero)) {
echo json_encode(['status' => 'error', 'mensaje' => 'El número de línea es obligatorio']);
exit;
}
// Verificar si ya existe una línea con el mismo número
$check = $pdo->prepare("SELECT id FROM inventario_lineas WHERE numero = :numero");
$check->execute([':numero' => $numero]);
if ($check->fetch()) {
echo json_encode(['status' => 'error', 'mensaje' => 'Ya existe una línea con ese número']);
exit;
}
$sql = "INSERT INTO inventario_lineas (numero, plan_datos, operador, estado)
VALUES (:numero, :plan_datos, :operador, :estado)";
$stmt = $pdo->prepare($sql);
$stmt->execute([
':numero' => $numero,
':plan_datos' => $data['plan_datos'] ?? '',
':operador' => $data['operador'] ?? '',
':estado' => $data['estado'] ?? 'disponible'
]);
echo json_encode([
'status' => 'success',
'mensaje' => 'Línea agregada correctamente',
'id' => $pdo->lastInsertId()
]);
exit;
}
if ($metodo === 'PUT') {
$data = json_decode(file_get_contents('php://input'), true);
// Aquí también podrías agregar validación para evitar duplicados al actualizar,
// pero no lo pides explícitamente. Se puede añadir si es necesario.
$sql = "UPDATE inventario_lineas SET numero=:numero, plan_datos=:plan_datos, operador=:operador, estado=:estado WHERE id=:id";
$stmt = $pdo->prepare($sql);
$stmt->execute([
':id' => $data['id'],
':numero' => $data['numero'],
':plan_datos' => $data['plan_datos'],
':operador' => $data['operador'],
':estado' => $data['estado']
]);
echo json_encode(['status' => 'success', 'mensaje' => 'Línea actualizada']);
exit;
}
if ($metodo === 'DELETE') {
$data = json_decode(file_get_contents('php://input'), true);
$sql = "DELETE FROM inventario_lineas WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->execute([':id' => $data['id']]);
echo json_encode(['status' => 'success', 'mensaje' => 'Línea eliminada']);
exit;
}
} catch (PDOException $e) {
echo json_encode(['status' => 'error', 'mensaje' => 'Error: ' . $e->getMessage()]);
}
?>