feat: agregar soporte para especificar el almacén al marcar seriales como vendidos en el servicio de ventas

This commit is contained in:
Juan Felipe Zapata Moreno 2026-03-04 17:15:51 -06:00
parent ec33cf2c0e
commit 19885a0aba
2 changed files with 7 additions and 4 deletions

View File

@ -32,10 +32,13 @@ public function index(Inventory $inventario, Request $request)
if ($request->has('warehouse_id')) { if ($request->has('warehouse_id')) {
$query->where('warehouse_id', $request->warehouse_id); $query->where('warehouse_id', $request->warehouse_id);
} else { } elseif ($request->boolean('main_warehouse')) {
$mainWarehouse = Warehouse::where('is_main', true)->first(); $mainWarehouse = Warehouse::where('is_main', true)->first();
if ($mainWarehouse) { if ($mainWarehouse) {
$query->where('warehouse_id', $mainWarehouse->id); $query->where(function ($q) use ($mainWarehouse) {
$q->where('warehouse_id', $mainWarehouse->id)
->orWhereNull('warehouse_id');
});
} }
} }

View File

@ -134,7 +134,7 @@ public function createSale(array $data)
->first(); ->first();
if ($serial) { if ($serial) {
$serial->markAsSold($saleDetail->id); $serial->markAsSold($saleDetail->id, $serialWarehouseId);
} else { } else {
throw new \Exception("Serial {$serialNumber} no disponible en el almacén"); throw new \Exception("Serial {$serialNumber} no disponible en el almacén");
} }
@ -152,7 +152,7 @@ public function createSale(array $data)
} }
foreach ($serials as $serial) { foreach ($serials as $serial) {
$serial->markAsSold($saleDetail->id); $serial->markAsSold($saleDetail->id, $serialWarehouseId);
} }
} }