commit de armazens
tests / ci (push) Canceled after 0s

This commit is contained in:
2026-11-04 09:40:26 +02:00
parent e753f7a0a4
commit 63d20b10fc
245 changed files with 10847 additions and 230 deletions
+6 -1
View File
@@ -77,6 +77,7 @@ class ReceiptWorkflow
$this->conflicts->lockCompany($user);
$user = app(CurrentActor::class)->lock($user, [PurchasingRole::Warehouse]);
$order = PurchaseOrder::query()->lockForUpdate()->findOrFail($order->id);
app(OrderCancellationWorkflow::class)->assertOperational($order);
Gate::forUser($user)->authorize('create', [GoodsReceipt::class, $order]);
$deliveryNote = Str::squish(Str::upper($data['delivery_note']));
if ($deliveryNote === '') {
@@ -219,7 +220,11 @@ class ReceiptWorkflow
$writer = app(ReceiptStockMovement::class)->for($user);
$basis = $writer->preview($item->id);
$result = $writer->write($item->id, $basis['source_hash']);
$movement = StockMovement::query()->findOrFail($result['movement_id']);
$movementId = $result['movement_id'] ?? null;
if (! is_int($movementId)) {
throw new \LogicException('Resposta inválida do escritor de stock da recepção.');
}
$movement = StockMovement::query()->findOrFail($movementId);
$sourceInput = collect($inputs)->firstWhere('purchase_order_item_id', $line['purchase_order_item_id']);
app(InventoryLots::class)->receive($user, $movement, $sourceInput['lots'] ?? [], $data['received_on']);
app(AutomaticPurchases::class)->signal($user, $line['stock_item_id'], $warehouse->id);