prepare(" UPDATE pedidos SET estado = 'PENDIENTE' WHERE estado = 'ROTULADO 📦' AND created_at <= NOW() - INTERVAL 1 DAY "); $auto_stmt->execute(); $auto_promoted_count = (int)$auto_stmt->rowCount(); } catch (PDOException $e) { error_log('Auto-promote ROTULADO 📦 -> PENDIENTE failed: ' . $e->getMessage()); } if ($auto_promoted_count > 0 && empty($_SESSION['flash_message'])) { $_SESSION['flash_message'] = [ 'type' => 'warning', 'message' => 'Se marcaron automáticamente ' . $auto_promoted_count . ' pedido(s) como "PENDIENTE" (pasaron 1 día desde su creación) y siguen visibles en Pedidos Rotulados.' ]; } $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 📦' OR (p.estado = 'PENDIENTE' AND p.created_at <= NOW() - INTERVAL 1 DAY))"; $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(); $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' ]; ?>