40097-vm/update_estado.php
2026-05-18 16:44:29 +00:00

44 lines
1.3 KiB
PHP

<?php
session_start();
require_once 'db/config.php';
header('Content-Type: application/json');
if (!isset($_SESSION['user_id'])) {
echo json_encode(['success' => false, 'message' => 'No autorizado']);
exit;
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$pedido_id = $_POST['pedido_id'] ?? null;
$estado = $_POST['estado'] ?? null;
if (!$pedido_id) {
echo json_encode(['success' => false, 'message' => 'ID de pedido faltante']);
exit;
}
try {
$pdo = db();
$valid_states = ['RUTA_CONTRAENTREGA', 'ENTREGA EXITOSA', 'RETORNADO'];
if (!in_array($estado, $valid_states)) {
echo json_encode(['success' => false, 'message' => 'Estado inválido']);
exit;
}
$stmt = $pdo->prepare("UPDATE pedidos SET estado = ? WHERE id = ?");
$result = $stmt->execute([$estado, $pedido_id]);
if ($result) {
echo json_encode(['success' => true]);
} else {
echo json_encode(['success' => false, 'message' => 'Error al actualizar en la base de datos']);
}
} catch (PDOException $e) {
echo json_encode(['success' => false, 'message' => 'Error de base de datos: ' . $e->getMessage()]);
}
} else {
echo json_encode(['success' => false, 'message' => 'Método no permitido']);
}