diff --git a/app/Models/InventarioPrenda.php b/app/Models/InventarioPrenda.php index 5c06c69..f5a6b61 100644 --- a/app/Models/InventarioPrenda.php +++ b/app/Models/InventarioPrenda.php @@ -105,6 +105,15 @@ class InventarioPrenda extends Model } // Si no existe el producto, crearlo automáticamente con stock inicial + $codigo = 'AUTOP-' . $op->id . '-' . time(); + $codigo = substr($codigo, 0, 50); + + // Asegurar unicidad del codigo_barras + while (\App\Models\Producto::where('codigo_barras', $codigo)->exists()) { + $codigo .= '-' . rand(0, 9); + $codigo = substr($codigo, 0, 50); + } + \App\Models\Producto::create([ 'nombre' => $nombre, 'descripcion' => 'Creado automáticamente desde InventarioPrenda (OP #' . $op->id . ')', @@ -113,6 +122,7 @@ class InventarioPrenda extends Model 'precio_compra' => 0, 'precio_venta' => 0, 'unidad_medida' => 'unidad', + 'codigo_barras' => $codigo, ]); }); } diff --git a/app/Models/InventarioPrendaDistribucion.php b/app/Models/InventarioPrendaDistribucion.php index c82f075..13b3377 100644 --- a/app/Models/InventarioPrendaDistribucion.php +++ b/app/Models/InventarioPrendaDistribucion.php @@ -97,6 +97,13 @@ class InventarioPrendaDistribucion extends Model $op = $dist->inventarioPrenda->ordenProduccion; $nombre = $op->prenda_modelo ?? $op->referencia ?? ('Producto OP #' . $op->id); + $codigo = 'AUTOD-' . $op->id . '-' . time(); + $codigo = substr($codigo, 0, 50); + while (\App\Models\Producto::where('codigo_barras', $codigo)->exists()) { + $codigo .= '-' . rand(0, 9); + $codigo = substr($codigo, 0, 50); + } + $producto = \App\Models\Producto::firstOrCreate( ['nombre' => $nombre], [ @@ -106,6 +113,7 @@ class InventarioPrendaDistribucion extends Model 'precio_compra' => 0, 'precio_venta' => 0, 'unidad_medida' => 'unidad', + 'codigo_barras' => $codigo, ] );