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"; } }