Merge pull request #1491 from jitendra-webkul/refund

Fixed Issue #1490
This commit is contained in:
Jitendra Singh 2019-09-19 17:25:32 +05:30 committed by GitHub
commit 16487373dc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 16 additions and 27 deletions

View File

@ -98,9 +98,7 @@ class InvoiceRepository extends Repository
'base_currency_code' => $order->base_currency_code,
'channel_currency_code' => $order->channel_currency_code,
'order_currency_code' => $order->order_currency_code,
'order_address_id' => $order->billing_address->id,
"discount_amount" => $order->discount_amount,
"base_discount_amount" => $order->base_discount_amount,
'order_address_id' => $order->billing_address->id
]);
foreach ($data['invoice']['items'] as $itemId => $qty) {
@ -174,49 +172,40 @@ class InvoiceRepository extends Repository
return $invoice;
}
/**
* @param mixed $invoice
* @return mixed
*/
public function collectTotals($invoice)
{
$subTotal = $baseSubTotal = 0;
$taxAmount = $baseTaxAmount = 0;
$discountAmount = $baseDiscountAmount = 0;
$invoice->sub_total = $invoice->base_sub_total = 0;
$invoice->tax_amount = $invoice->base_tax_amount = 0;
$invoice->discount_amount = $invoice->base_discount_amount = 0;
foreach ($invoice->items as $invoiceItem) {
$subTotal += $invoiceItem->total;
$baseSubTotal += $invoiceItem->base_total;
$invoice->sub_total += $invoiceItem->total;
$invoice->base_sub_total += $invoiceItem->base_total;
$taxAmount += $invoiceItem->tax_amount;
$baseTaxAmount += $invoiceItem->base_tax_amount;
$invoice->tax_amount += $invoiceItem->tax_amount;
$invoice->base_tax_amount += $invoiceItem->base_tax_amount;
$discountAmount += $invoiceItem->discount_amount;
$baseDiscountAmount += $invoiceItem->base_discount_amount;
$invoice->discount_amount += $invoiceItem->discount_amount;
$invoice->base_discount_amount += $invoiceItem->base_discount_amount;
}
$shippingAmount = $invoice->order->shipping_amount;
$baseShippingAmount = $invoice->order->base_shipping_amount;
$invoice->shipping_amount = $invoice->order->shipping_amount;
$invoice->base_shipping_amount = $invoice->order->base_shipping_amount;
if ($invoice->order->shipping_amount) {
foreach ($invoice->order->invoices as $prevInvoice) {
if ((float) $prevInvoice->shipping_amount)
$shippingAmount = $baseShippingAmount = 0;
$invoice->shipping_amount = $invoice->base_shipping_amount = 0;
}
}
$invoice->sub_total = $subTotal;
$invoice->base_sub_total = $baseSubTotal;
$invoice->shipping_amount = $shippingAmount;
$invoice->base_shipping_amount = $baseShippingAmount;
$invoice->tax_amount = $taxAmount;
$invoice->base_tax_amount = $baseTaxAmount;
$invoice->grand_total = $subTotal + $taxAmount + $shippingAmount - $discountAmount;
$invoice->base_grand_total = $baseSubTotal + $baseTaxAmount + $baseShippingAmount - $baseDiscountAmount;
$invoice->grand_total = $invoice->sub_total + $invoice->tax_amount + $invoice->shipping_amount - $invoice->discount_amount;
$invoice->base_grand_total = $invoice->base_sub_total + $invoice->base_tax_amount + $invoice->base_shipping_amount - $invoice->base_discount_amount;
$invoice->save();