diff --git a/app/Services/InventoryMovementService.php b/app/Services/InventoryMovementService.php index 1fbbded..78ea9ab 100644 --- a/app/Services/InventoryMovementService.php +++ b/app/Services/InventoryMovementService.php @@ -231,7 +231,7 @@ public function bulkExit(array $data): array $quantity = (float) $productData['quantity']; $serialNumbers = $productData['serial_numbers'] ?? null; - // **NUEVO**: Solo exigir seriales si track_serials Y unidad NO permite decimales + // Solo exigir seriales si track_serials Y unidad NO permite decimales $requiresSerials = $inventory->track_serials && !$inventory->unitOfMeasure?->allows_decimals; // Validar y procesar seriales si el producto los requiere @@ -247,7 +247,7 @@ public function bulkExit(array $data): array $serialNumbers = array_values($serialNumbers); $serialCount = count($serialNumbers); - if ($serialCount !== $quantity) { + if ($serialCount != $quantity) { throw new \Exception("El producto '{$inventory->name}': cantidad de seriales ({$serialCount}) no coincide con cantidad ({$quantity}). Ajuste la cantidad o agregue/elimine seriales."); } @@ -261,11 +261,11 @@ public function bulkExit(array $data): array throw new \Exception("Producto '{$inventory->name}': El serial '{$serialNumber}' no pertenece a este producto."); } - if ($serial->status !== 'disponible') { + if ($serial->status != 'disponible') { throw new \Exception("Producto '{$inventory->name}': El serial '{$serialNumber}' no está disponible (estado: {$serial->status})."); } - if ($serial->warehouse_id !== $warehouse->id) { + if ($serial->warehouse_id != $warehouse->id) { throw new \Exception("Producto '{$inventory->name}': El serial '{$serialNumber}' no está en el almacén seleccionado."); } } @@ -334,7 +334,7 @@ public function bulkTransfer(array $data): array $serialNumbers = array_values($serialNumbers); $serialCount = count($serialNumbers); - if ($serialCount !== $quantity) { + if ($serialCount != $quantity) { throw new \Exception("El producto '{$inventory->name}': cantidad de seriales ({$serialCount}) no coincide con cantidad ({$quantity}). Ajuste la cantidad o agregue/elimine seriales."); } @@ -425,10 +425,10 @@ public function exit(array $data): InventoryMovement $quantity = (float) $data['quantity']; $serialNumbers = $data['serial_numbers'] ?? null; - // **NUEVO**: Cargar la unidad de medida + // Cargar la unidad de medida $inventory->load('unitOfMeasure'); - // **CAMBIO**: Solo validar seriales si track_serials Y la unidad NO permite decimales + // Solo validar seriales si track_serials Y la unidad NO permite decimales $requiresSerials = $inventory->track_serials && !$inventory->unitOfMeasure?->allows_decimals; // Validar y procesar seriales si el producto los requiere @@ -444,7 +444,7 @@ public function exit(array $data): InventoryMovement $serialNumbers = array_values($serialNumbers); $serialCount = count($serialNumbers); - if ($serialCount !== $quantity) { + if ($serialCount != $quantity) { throw new \Exception("La cantidad de seriales ({$serialCount}) no coincide con la cantidad ({$quantity}). Ajuste la cantidad o agregue/elimine seriales."); } @@ -468,7 +468,7 @@ public function exit(array $data): InventoryMovement } // Eliminar los seriales (salida definitiva) - InventorySerial::whereIn('serial_numbers', $serialNumbers) + InventorySerial::whereIn('serial_number', $serialNumbers) ->where('inventory_id', $inventory->id) ->delete(); @@ -510,7 +510,7 @@ public function transfer(array $data): InventoryMovement throw new \Exception('No se puede traspasar al mismo almacén.'); } - // **NUEVO**: Solo exigir seriales si track_serials Y unidad NO permite decimales + // Solo exigir seriales si track_serials Y unidad NO permite decimales $requiresSerials = $inventory->track_serials && !$inventory->unitOfMeasure?->allows_decimals; // Validar y procesar seriales si el producto los requiere @@ -526,7 +526,7 @@ public function transfer(array $data): InventoryMovement $serialNumbers = array_values($serialNumbers); $serialCount = count($serialNumbers); - if ($serialCount !== $quantity) { + if ($serialCount != $quantity) { throw new \Exception("La cantidad de seriales ({$serialCount}) no coincide con la cantidad ({$quantity}). Ajuste la cantidad o agregue/elimine seriales."); }