<?php

require __DIR__ . '/../vendor/autoload.php';

$app = require_once __DIR__ . '/../bootstrap/app.php';
$app->make(\Illuminate\Contracts\Console\Kernel::class)->bootstrap();

echo "=== Diagnóstico de Confección #9 ===\n\n";

$confeccion = \App\Models\Confeccion::find(9);

if (!$confeccion) {
    echo "❌ No se encontró la confección con ID 9\n";
    exit(1);
}

echo "✅ Confección encontrada:\n";
echo "   ID: {$confeccion->id}\n";
echo "   Orden Producción ID: {$confeccion->orden_produccion_id}\n";
echo "   Cliente: {$confeccion->cliente->nombre}\n\n";

if (!$confeccion->orden_produccion_id) {
    echo "❌ La confección NO tiene orden_produccion_id asociada\n";
    exit(1);
}

echo "=== Buscando inventarios para orden_produccion_id = {$confeccion->orden_produccion_id} ===\n\n";

$inventarios = \App\Models\InventarioPrenda::where('orden_produccion_id', $confeccion->orden_produccion_id)->get();

echo "Total inventarios encontrados: {$inventarios->count()}\n\n";

if ($inventarios->isEmpty()) {
    echo "❌ NO HAY INVENTARIOS para esta orden de producción\n";
    echo "   Esto explica el error\n\n";
    
    // Verificar si existe la orden de producción
    $op = \App\Models\OrdenProduccion::find($confeccion->orden_produccion_id);
    if ($op) {
        echo "✅ La orden de producción #{$op->id} existe:\n";
        echo "   Producto: " . ($op->producto->nombre ?? 'N/A') . "\n";
        echo "   Cantidad: {$op->cantidad}\n";
        echo "   Estado: {$op->estado}\n\n";
        echo "⚠️  Necesitas crear registros de inventario para esta orden\n";
    } else {
        echo "❌ La orden de producción no existe\n";
    }
} else {
    echo "Detalles de inventarios:\n";
    foreach ($inventarios as $inv) {
        echo "---\n";
        echo "ID: {$inv->id}\n";
        echo "Cantidad terminada: {$inv->cantidad_terminada}\n";
        echo "Cantidad disponible: {$inv->cantidad_disponible}\n";
        echo "Estado: {$inv->estado}\n";
        echo "Producto ID: {$inv->producto_id}\n";
    }
    
    $totalDisponible = $inventarios->sum('cantidad_disponible');
    echo "\n✅ Total disponible: {$totalDisponible} unidades\n";
    
    if ($totalDisponible > 0) {
        echo "✅ Hay inventario suficiente para registrar cobros\n";
    } else {
        echo "❌ No hay inventario con cantidad_disponible > 0\n";
    }
}
