Files
pos_heidiver/app/Filament/Resources/TransferenciaBodegaResource/Pages/CreateTransferenciaBodega.php
T
2026-01-06 15:35:59 -05:00

58 lines
1.8 KiB
PHP

<?php
namespace App\Filament\Resources\TransferenciaBodegaResource\Pages;
use App\Filament\Resources\TransferenciaBodegaResource;
use App\Services\TransferenciaBodegaService;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord;
use Filament\Notifications\Notification;
class CreateTransferenciaBodega extends CreateRecord
{
protected static string $resource = TransferenciaBodegaResource::class;
protected function handleRecordCreation(array $data): \Illuminate\Database\Eloquent\Model
{
$transferenciaBodegaService = app(TransferenciaBodegaService::class);
try {
if (!empty($data['variante_id'])) {
// Transferencia de variante
$transferencia = $transferenciaBodegaService->transferirVariante(
$data['variante_id'],
$data['bodega_origen_id'],
$data['bodega_destino_id'],
$data['cantidad'],
$data['motivo'] ?? null
);
} else {
// Transferencia de producto
$transferencia = $transferenciaBodegaService->transferir(
$data['producto_id'],
$data['bodega_origen_id'],
$data['bodega_destino_id'],
$data['cantidad'],
$data['motivo'] ?? null
);
}
Notification::make()
->title('Transferencia completada exitosamente')
->success()
->send();
return $transferencia;
} catch (\Exception $e) {
Notification::make()
->title('Error en la transferencia')
->body($e->getMessage())
->danger()
->send();
throw $e;
}
}
}