From 24ba5cd24ae8d5df9158a50b24839c1becb8323f Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Tue, 17 Feb 2026 06:21:14 +0000 Subject: [PATCH] Autosave: 20260217-062114 --- pedidos.php | 498 +++++++++++++++++++++-------------------------- test_pedidos.php | 193 ++++++++++-------- 2 files changed, 337 insertions(+), 354 deletions(-) diff --git a/pedidos.php b/pedidos.php index 1b987be..b02f741 100644 --- a/pedidos.php +++ b/pedidos.php @@ -1,296 +1,248 @@ quote($estado); } -$pdo = db(); - -$user_id = $_SESSION['user_id']; -$user_role = $_SESSION['user_role'] ?? 'Asesor'; - -// Fetch years for the filter -$years_query = "SELECT DISTINCT YEAR(created_at) as year FROM pedidos"; -if ($user_role === 'Asesor') { - $years_query .= " WHERE asesor_id = ?"; - $years_stmt = $pdo->prepare($years_query); - $years_stmt->execute([$user_id]); -} else { - $years_stmt = $pdo->query($years_query); -} -$years = $years_stmt->fetchAll(PDO::FETCH_COLUMN); - - -// Filter logic -$selected_month = $_GET['mes'] ?? ''; -$selected_year = $_GET['año'] ?? ''; -$search_query = $_GET['q'] ?? ''; - -$sql = "SELECT p.*, u.nombre_asesor as asesor_nombre FROM pedidos p LEFT JOIN users u ON p.asesor_id = u.id WHERE p.estado = 'ROTULADO 📦'"; -$params = []; - -if ($user_role === 'Asesor') { - $sql .= " AND p.asesor_id = ?"; - $params[] = $user_id; +// Filter by date +$fecha = isset($_GET['fecha']) ? $_GET['fecha'] : ''; +if ($fecha) { + $sql .= " AND p.fecha_pedido = " . $db->quote($fecha); } -if (!empty($search_query)) { - $sql .= " AND (p.nombre_completo LIKE ? OR p.dni_cliente LIKE ? OR p.celular LIKE ?)"; - $params[] = "%$search_query%"; - $params[] = "%$search_query%"; - $params[] = "%$search_query%"; +// Filter by search term +$search = isset($_GET['search']) ? $_GET['search'] : ''; +if ($search) { + $searchTerm = '%' . $search . '%'; + $sql .= " AND (p.nombre_cliente LIKE " . $db->quote($searchTerm) . " OR p.celular_cliente LIKE " . $db->quote($searchTerm) . " OR p.guia LIKE " . $db->quote($searchTerm) . ")"; } -if (!empty($selected_month)) { - $sql .= " AND MONTH(p.created_at) = ?"; - $params[] = $selected_month; -} -if (!empty($selected_year)) { - $sql .= " AND YEAR(p.created_at) = ?"; - $params[] = $selected_year; +// Filter by asesor for non-admin roles +if ($role !== 'admin') { + $sql .= " AND p.asesor_id = " . $db->quote($asesor_id); } -$sql .= " ORDER BY p.created_at DESC"; -$stmt = $pdo->prepare($sql); -$stmt->execute($params); -$pedidos = $stmt->fetchAll(); +$sql .= " ORDER BY p.id DESC"; -$months = [ - 1 => 'Enero', 2 => 'Febrero', 3 => 'Marzo', 4 => 'Abril', 5 => 'Mayo', 6 => 'Junio', - 7 => 'Julio', 8 => 'Agosto', 9 => 'Septiembre', 10 => 'Octubre', 11 => 'Noviembre', 12 => 'Diciembre' -]; - -?> -query($sql); ?> - - @@ -183,6 +184,7 @@ include 'layout_header.php'; Codigo De Orden CLAVE Estado + Estado Shalom Asesor Fecha Creación Voucher Restante @@ -191,7 +193,7 @@ include 'layout_header.php'; - + @@ -202,25 +204,23 @@ include 'layout_header.php'; // Prepare WhatsApp message $nombre_cliente = $pedido['nombre_completo']; $producto = $pedido['producto']; - // The user template has {CIUDAD} / {AGENCIA}, we'll use sede_envio for both. $sede_envio = $pedido['sede_envio'] ?? 'su agencia de destino'; $monto_total = (float)($pedido['monto_total'] ?? 0); $monto_debe = (float)($pedido['monto_debe'] ?? 0); $adelanto = $monto_total - $monto_debe; - $template = "PLANTILLA – AVISO DE CLAVE DE RECOJO SHALOM\n\n" - . "Estimado(a) {NOMBRE_CLIENTE} 👋\n" - . "Le informamos que su pedido de {PRODUCTO} ya se encuentra disponible en su ciudad 📦\n\n" - . "📍 Lugar de recojo: Shalom – {SEDE_ENVIO}\n\n" - . "💰 Detalle de pago:\n" - . "• Monto total del pedido: S/ {MONTO_TOTAL}\n" - . "• Adelanto realizado: S/ {ADELANTO} ✅\n" - . "• Saldo pendiente: S/ {SALDO_PENDIENTE}\n\n" - . "Para continuar, le solicitamos enviar la captura de su pago restante por este medio 📄\n\n" - . "Una vez confirmado su pago ✅, le enviaremos su clave de recojo 🔐, para que pueda retirar su pedido en la agencia sin inconvenientes 📦\n\n" - . "Quedamos atentos a su confirmación.\n" - . "Muchas gracias por su confianza 🤝\n\n" - . "Floower Store 🛍️\n" + $template = "Estimado(a) {NOMBRE_CLIENTE} 👋\n" + . "Le informamos que su pedido de {PRODUCTO} ya se encuentra disponible en su ciudad 📦\n\n" + . "📍 Lugar de recojo: Shalom – {SEDE_ENVIO}\n\n" + . "💰 Detalle de pago:\n\n" + . "• Monto total del pedido: S/ {MONTO_TOTAL}\n" + . "• Adelanto realizado: S/ {ADELANTO} ✅\n" + . "• Saldo pendiente: S/ {SALDO_PENDIENTE}\n\n" + . "Para continuar, le solicitamos enviar la captura de su pago restante por este medio 📄\n\n" + . "Una vez confirmado su pago ✅, le enviaremos su clave de recojo 🔐, para que pueda retirar su pedido en la agencia sin inconvenientes 📦\n\n" + . "Quedamos atentos a su confirmación.\n" + . "Muchas gracias por su confianza 🤝\n\n" + . "Floower Store 🛍️\n" . "Área de Atención al Cliente"; $replacements = [ @@ -244,7 +244,7 @@ include 'layout_header.php'; ?>
- 💬 + 💬
@@ -264,13 +264,14 @@ include 'layout_header.php'; + Pendiente Ver - - N/A + N/A @@ -295,12 +296,13 @@ include 'layout_header.php'; \ No newline at end of file +