This commit is contained in:
jitendra 2019-09-19 18:57:58 +05:30
parent 600a4a9be0
commit b0e9328090
5 changed files with 35 additions and 5 deletions

View File

@ -43,7 +43,7 @@
</span>
<span class="value">
<a href="{{ route('admin.sales.orders.view', $order->id) }}">#{{ $order->id }}</a>
<a href="{{ route('admin.sales.orders.view', $order->id) }}">#{{ $order->increment_id }}</a>
</span>
</div>

View File

@ -40,7 +40,7 @@
</span>
<span class="value">
<a href="{{ route('admin.sales.orders.view', $order->id) }}">#{{ $order->id }}</a>
<a href="{{ route('admin.sales.orders.view', $order->id) }}">#{{ $order->increment_id }}</a>
</span>
</div>

View File

@ -135,7 +135,7 @@ class OrderItemRepository extends Repository
/**
* Returns qty to product inventory after order cancelation
*
* @param mixed $orderItem
* @param OrderItem $orderItem
* @return void
*/
public function returnQtyToProductInventory($orderItem)
@ -150,9 +150,8 @@ class OrderItemRepository extends Repository
if (! $orderedInventory)
return ;
if (($qty = $orderedInventory->qty - $orderItem->qty_to_cancel) < 0) {
if (($qty = $orderedInventory->qty - $quantity) < 0)
$qty = 0;
}
$orderedInventory->update([
'qty' => $qty

View File

@ -25,4 +25,31 @@ class RefundItemRepository extends Repository
{
return RefundItem::class;
}
/**
* Returns qty to product inventory after order refund
*
* @param RefundItem $refundItem
* @return void
*/
public function returnQtyToProductInventory($refundItem)
{
return;
if (! $product = $orderItem->product)
return;
$orderedInventory = $product->ordered_inventories()
->where('channel_id', $orderItem->order->channel->id)
->first();
if (! $orderedInventory)
return ;
if (($qty = $orderedInventory->qty - $quantity) < 0)
$qty = 0;
$orderedInventory->update([
'qty' => $qty
]);
}
}

View File

@ -151,6 +151,10 @@ class RefundRepository extends Repository
'product_type' => $childOrderItem->product_type,
'additional' => $childOrderItem->additional
]);
$this->refundItemRepository->returnQtyToProductInventory($childOrderItem);
} else {
$this->refundItemRepository->returnQtyToProductInventory($childOrderItem);
}
$this->orderItemRepository->collectTotals($orderItem);