<?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 Orden de Producción #9 ===\n\n";

$op = \App\Models\OrdenProduccion::find(9);

if (!$op) {
    echo "❌ No se encontró la orden de producción con ID 9\n";
    exit(1);
}

echo "✅ Orden de Producción encontrada:\n";
echo "   ID: {$op->id}\n";
echo "   Producto: " . ($op->producto->nombre ?? 'N/A') . " (ID: {$op->producto_id})\n";
echo "   Cantidad: {$op->cantidad}\n";
echo "   Estado: {$op->estado}\n\n";

// Buscar confecciones asociadas
$confecciones = \App\Models\Confeccion::where('orden_produccion_id', 9)->get();
echo "Confecciones asociadas a esta OP: {$confecciones->count()}\n";
foreach ($confecciones as $conf) {
    $clienteNombre = $conf->cliente ? $conf->cliente->nombre : 'Sin cliente';
    echo "   - Confección #{$conf->id} - Cliente: {$clienteNombre}\n";
}
echo "\n";

echo "=== Buscando inventarios para orden_produccion_id = 9 ===\n\n";

$inventarios = \App\Models\InventarioPrenda::where('orden_produccion_id', 9)->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 al intentar registrar cobros\n\n";
    echo "⚠️  Necesitas crear registros de InventarioPrenda para esta orden\n";
    echo "   Deberías ir a la sección de recepciones/inventario y registrar\n";
    echo "   las {$op->cantidad} prendas producidas\n";
} else {
    echo "Detalles de inventarios:\n";
    $totalTerminada = 0;
    $totalDisponible = 0;
    
    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";
        echo "Fecha ingreso: {$inv->fecha_ingreso}\n";
        
        $totalTerminada += $inv->cantidad_terminada;
        $totalDisponible += $inv->cantidad_disponible;
    }
    
    echo "\n📊 Resumen:\n";
    echo "   Total terminada: {$totalTerminada} unidades\n";
    echo "   Total disponible: {$totalDisponible} unidades\n";
    
    if ($totalDisponible > 0) {
        echo "\n✅ Hay inventario suficiente para registrar cobros\n";
    } else {
        echo "\n❌ No hay inventario con cantidad_disponible > 0\n";
        echo "   Todas las prendas ya han sido cobradas/distribuidas\n";
    }
}
