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 IN ('RUTA_CONTRAENTREGA', 'PENDIENTE', 'NO CONTESTO, VOLVER A LLAMAR', 'NO CONTESTO, DEVOLVER LLAMADA', 'CANCELADO', 'REPROGRAMADO', 'ENTREGA EXITOSA', 'RETORNADO')"; $params = []; if ($user_role === 'Asesor') { $sql .= " AND p.asesor_id = ?"; $params[] = $user_id; } 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%"; } 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; } $sql .= " ORDER BY p.created_at DESC"; $stmt = $pdo->prepare($sql); $stmt->execute($params); $pedidos = $stmt->fetchAll(); // Obtener el template de WhatsApp para contraentrega $stmt_template = db()->prepare('SELECT valor FROM configuracion WHERE clave = ?'); $stmt_template->execute(['whatsapp_template_contraentrega']); $whatsapp_template = $stmt_template->fetchColumn(); if ($whatsapp_template === false) { // Fallback to a default message if not set in DB $whatsapp_template = 'Hola, te escribo para confirmar que tu pedido ya llegó a destino. El monto que debes es {monto} y la dirección de entrega será {direccion}.'; } $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' ]; function splitProvinciaDistrito($value) { $value = trim((string)($value ?? '')); if ($value === '') { return ['N/A', 'N/A']; } $parts = preg_split('/\s*(?:\/|\||,|-)\s*/', $value, 2); $provincia = trim($parts[0] ?? ''); $distrito = trim($parts[1] ?? ''); return [ $provincia !== '' ? $provincia : 'N/A', $distrito !== '' ? $distrito : 'N/A', ]; } ?>
Limpiar $search_query, 'mes' => $selected_month, 'año' => $selected_year, ], static function ($value) { return $value !== '' && $value !== null; }); $excelUrl = 'download_ruta_contraentrega.php' . (!empty($excelParams) ? '?' . http_build_query($excelParams) : ''); ?> Descargar Excel

No hay pedidos que coincidan con el filtro.

ID Seguimiento Paquete Estado Cliente Celular Dirección Referencia Departamento Provincia Distrito Coordenadas Producto Cant. Total Debe F. Entrega Asesor F. Creación Acciones
'; echo ''; echo ''; } else { echo 'N/A'; } ?> Editar Eliminar