<?php
$pageTitle = "Pedidos Duplicados";
include 'layout_header.php';
include 'db/config.php';

$db = db();

// Subconsulta para encontrar DNIs duplicados
$sub_query_dni = "SELECT dni_cliente FROM pedidos WHERE dni_cliente IS NOT NULL AND dni_cliente != '' GROUP BY dni_cliente HAVING COUNT(*) > 1";

// Subconsulta para encontrar nombres duplicados
$sub_query_nombre = "SELECT nombre_completo FROM pedidos WHERE nombre_completo IS NOT NULL AND nombre_completo != '' GROUP BY nombre_completo HAVING COUNT(*) > 1";

// Consulta principal para obtener los pedidos duplicados
$sql = "
    SELECT p.*, u.nombre_asesor 
    FROM pedidos p 
    LEFT JOIN users u ON p.asesor_id = u.id 
    WHERE p.dni_cliente IN ($sub_query_dni) OR p.nombre_completo IN ($sub_query_nombre)
    ORDER BY p.nombre_completo, p.dni_cliente, p.created_at DESC
";

$stmt = $db->prepare($sql);
$stmt->execute();
$duplicated_orders = $stmt->fetchAll(PDO::FETCH_ASSOC);

?>

<div class="container mt-4">
    <p>Aquí se muestran los pedidos que tienen el mismo DNI o el mismo nombre completo que otro pedido en el sistema.</p>

    <?php if (empty($duplicated_orders)): ?>
        <div class="alert alert-success" role="alert">
            No se encontraron pedidos duplicados.
        </div>
    <?php else: ?>
        <table class="table table-bordered table-striped">
            <thead class="thead-dark">
                <tr>
                    <th>ID Pedido</th>
                    <th>DNI Cliente</th>
                    <th>Nombre Completo</th>
                    <th>Producto</th>
                    <th>Asesora</th>
                    <th>Fecha Creación</th>
                    <th>Estado</th>
                </tr>
            </thead>
            <tbody>
                <?php 
                $last_key = null;
                $row_color = '#f8f9fa'; // Start with a light gray
                foreach ($duplicated_orders as $order): 
                    $current_key = $order['nombre_completo'] . '-' . $order['dni_cliente'];
                    // Cambiar de color cada vez que el nombre o DNI del cliente cambie
                    if ($last_key !== $current_key) {
                        $row_color = ($row_color === '#f8f9fa') ? '#e9ecef' : '#f8f9fa';
                    }
                ?>
                    <tr style="background-color: <?php echo $row_color; ?>;">
                        <td><?php echo htmlspecialchars($order['id']); ?></td>
                        <td><?php echo htmlspecialchars($order['dni_cliente']); ?></td>
                        <td><?php echo htmlspecialchars($order['nombre_completo']); ?></td>
                        <td><?php echo htmlspecialchars($order['producto']); ?></td>
                        <td><?php echo htmlspecialchars($order['nombre_asesor'] ?? 'N/A'); ?></td>
                        <td><?php echo htmlspecialchars($order['created_at']); ?></td>
                        <td><?php echo ($order['estado'] == 'Gestion') ? 'GESTIONES ⚙️' : htmlspecialchars($order['estado']); ?></td>
                    </tr>
                <?php 
                    $last_key = $current_key;
                endforeach; 
                ?>
            </tbody>
        </table>
    <?php endif; ?>
</div>

<?php include 'layout_footer.php'; ?>