<?php
/**
 * Diagnóstico: Detectar productos duplicados por Código Interno
 */
header('Content-Type: text/plain; charset=utf-8');

// Configuración de la base de datos del hosting (Modificar si es necesario)
$host = 'localhost';
$user = 'farmacia_onlydi2025';
$pass = '1corintios13';
$db   = 'farmacia_nadiecomoel2026'; // Base de datos principal en producción

try {
    $pdo = new PDO("mysql:host=$host;dbname=$db;charset=utf8mb4", $user, $pass, [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
    ]);

    echo "=== BUSCANDO DUPLICADOS EN LA BASE DE DATOS: $db ===\n\n";

    // 1. Obtener la lista de CodigoInterno que aparecen más de una vez
    $stmt = $pdo->query("
        SELECT CodigoInterno, COUNT(*) as cantidad 
        FROM productos 
        WHERE CodigoInterno IS NOT NULL AND CodigoInterno != ''
        GROUP BY CodigoInterno 
        HAVING cantidad > 1 
        ORDER BY cantidad DESC
    ");
    $duplicates = $stmt->fetchAll();

    if (empty($duplicates)) {
        echo "✓ ¡Excelente! No se encontraron productos duplicados por Código Interno.\n";
    } else {
        echo "Se encontraron " . count($duplicates) . " códigos internos duplicados:\n";
        echo "--------------------------------------------------------\n";
        
        foreach ($duplicates as $dup) {
            $code = $dup['CodigoInterno'];
            $qty  = $dup['cantidad'];
            echo "\nCódigo Interno: [$code] - Repetido: $qty veces\n";
            
            // Obtener el detalle de cada registro con ese código
            $detailStmt = $pdo->prepare("SELECT id, NombreComercial, NombreGenerico, laboratorio FROM productos WHERE CodigoInterno = ?");
            $detailStmt->execute([code]);
            $rows = $detailStmt->fetchAll();
            
            foreach ($rows as $row) {
                echo "  • ID: {$row['id']} | Nombre: {$row['NombreComercial']} | Lab: {$row['laboratorio']}\n";
            }
        }
    }
} catch (Exception $e) {
    echo "ERROR: " . $e->getMessage() . "\n";
}
