From 60510752fa8b73541093c5791c88edb106cb14ed Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Thu, 12 Feb 2026 12:13:18 +0000 Subject: [PATCH] Autosave: 20260212-121318 --- get_product_details.php | 61 +++--- registro_salida.php | 455 ++++++++++++++++++---------------------- sku_failures.log | 1 + 3 files changed, 227 insertions(+), 290 deletions(-) diff --git a/get_product_details.php b/get_product_details.php index 8b3ce92..d5fe9cb 100644 --- a/get_product_details.php +++ b/get_product_details.php @@ -3,51 +3,38 @@ header('Content-Type: application/json'); require_once 'db/config.php'; $response = ['success' => false, 'message' => 'No se proporcionó un identificador de producto.']; - $pdo = db(); $product = null; -// Handle search by SKU (barcode) +// Universal search: treat any incoming ID as a potential SKU. +$sku = ''; if (isset($_GET['codigo_barras'])) { $sku = trim($_GET['codigo_barras']); - if (!empty($sku)) { - try { - // Search by the 'sku' column - $stmt = $pdo->prepare("SELECT id, nombre, sku FROM products WHERE sku = :sku"); - $stmt->execute(['sku' => $sku]); - $product = $stmt->fetch(PDO::FETCH_ASSOC); - if (!$product) { - $response['message'] = 'Producto no encontrado con el SKU/código de barras proporcionado.'; - // Log the failed SKU attempt to a file - $log_message = date('[Y-m-d H:i:s]') . " Intento fallido de búsqueda con SKU: " . $sku . PHP_EOL; - file_put_contents('sku_failures.log', $log_message, FILE_APPEND); - } - } catch (PDOException $e) { - // Don't expose detailed SQL errors to the client - error_log('Database Error: ' . $e->getMessage()); - $response['message'] = 'Error al consultar la base de datos.'; - } - } else { - $response['message'] = 'El SKU/código de barras no puede estar vacío.'; - } -// Handle search by internal ID +} elseif (isset($_GET['sku'])) { + $sku = trim($_GET['sku']); } elseif (isset($_GET['id'])) { - $product_id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT); - if ($product_id) { - try { - $stmt = $pdo->prepare("SELECT id, nombre, sku FROM products WHERE id = :id"); - $stmt->execute(['id' => $product_id]); - $product = $stmt->fetch(PDO::FETCH_ASSOC); - if (!$product) { - $response['message'] = 'Producto no encontrado con el ID proporcionado.'; - } - } catch (PDOException $e) { - error_log('Database Error: ' . $e->getMessage()); - $response['message'] = 'Error al consultar la base de datos.'; + $sku = trim($_GET['id']); +} + +if (!empty($sku)) { + try { + // Search by the 'sku' column + $stmt = $pdo->prepare("SELECT id, nombre, sku FROM products WHERE sku = :sku"); + $stmt->execute(['sku' => $sku]); + $product = $stmt->fetch(PDO::FETCH_ASSOC); + if (!$product) { + $response['message'] = 'Producto no encontrado con el SKU proporcionado: ' . htmlspecialchars($sku); + // Log the failed SKU attempt to a file + $log_message = date('[Y-m-d H:i:s]') . " Intento fallido de búsqueda con SKU: " . $sku . PHP_EOL; + file_put_contents('sku_failures.log', $log_message, FILE_APPEND); } - } else { - $response['message'] = 'ID de producto inválido.'; + } catch (PDOException $e) { + // Don't expose detailed SQL errors to the client + error_log('Database Error: ' . $e->getMessage()); + $response['message'] = 'Error al consultar la base de datos.'; } +} else { + $response['message'] = 'El SKU/código de barras no puede estar vacío.'; } if ($product) { diff --git a/registro_salida.php b/registro_salida.php index e34dc7d..d8659b0 100644 --- a/registro_salida.php +++ b/registro_salida.php @@ -4,6 +4,7 @@ require_once 'layout_header.php'; require_once 'db/config.php'; $error_page_load = ''; +$almacen_principal_id = null; // Obtener sedes para el dropdown $sedes = []; @@ -11,6 +12,15 @@ try { $pdo = db(); $sedes_stmt = $pdo->query("SELECT id, nombre FROM sedes ORDER BY nombre ASC"); $sedes = $sedes_stmt->fetchAll(PDO::FETCH_ASSOC); + + // Encontrar el ID de "ALMACEN PRINCIPAL" para usarlo en el script + foreach ($sedes as $sede) { + if (trim(strtolower($sede['nombre'])) === 'almacen principal') { + $almacen_principal_id = $sede['id']; + break; + } + } + } catch (PDOException $e) { $error_page_load = "Error al cargar datos: " . $e->getMessage(); } @@ -34,17 +44,19 @@ try { Escanear Código de Barras
-
+
-
+ + +
@@ -54,7 +66,7 @@ try {
@@ -62,236 +74,9 @@ try {
- - -
-
-
- Productos Registrados -
-
-
- - - - - - - - - - - -
ProductoSKUEstado
-
-
-
-
- - -