34849-vm/pedidos_duplicados.php
2026-02-03 01:43:03 +00:00

78 lines
3.2 KiB
PHP

<?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'; ?>