invoice and bill currency issue some fix

This commit is contained in:
Batuhan Baş
2018-08-29 19:45:50 +03:00
parent fa6a5d7f47
commit 51503e688c
11 changed files with 140 additions and 62 deletions

View File

@ -280,8 +280,8 @@ class Items extends Controller
$item_tax_price = ($item->sale_price / 100) * $tax->rate;
}
$item->sale_price = $this->convertPrice($item->sale_price, $currency_code, $currency->rate);
$item->purchase_price = $this->convertPrice($item->purchase_price, $currency_code, $currency->rate);
//$item->sale_price = $this->convertPrice($item->sale_price, $currency_code, $currency->rate);
//$item->purchase_price = $this->convertPrice($item->purchase_price, $currency_code, $currency->rate);
switch ($type) {
case 'bill':

View File

@ -755,7 +755,7 @@ class Bills extends Controller
// it should be integer for amount mask
$currency->precision = (int) $currency->precision;
$html = view('expenses.bills.item', compact('item_row', 'taxes'))->render();
$html = view('expenses.bills.item', compact('item_row', 'taxes', 'currency'))->render();
return response()->json([
'success' => true,

View File

@ -76,7 +76,9 @@ class Invoices extends Controller
foreach ($invoice->payments as $item) {
$default_amount = $item->amount;
if ($invoice->currency_code != $item->currency_code) {
if ($invoice->currency_code == $item->currency_code) {
$amount = (double)$default_amount;
} else {
$default_amount_model = new InvoicePayment();
$default_amount_model->default_currency_code = $invoice->currency_code;
@ -85,17 +87,17 @@ class Invoices extends Controller
$default_amount_model->currency_rate = $_currencies[$item->currency_code];
$default_amount = (double) $default_amount_model->getDivideConvertedAmount();
$convert_amount = new InvoicePayment();
$convert_amount->default_currency_code = $item->currency_code;
$convert_amount->amount = $default_amount;
$convert_amount->currency_code = $invoice->currency_code;
$convert_amount->currency_rate = $_currencies[$invoice->currency_code];
$amount = (double) $convert_amount->getDynamicConvertedAmount();
}
$convert_amount = new InvoicePayment();
$convert_amount->default_currency_code = $item->currency_code;
$convert_amount->amount = $default_amount;
$convert_amount->currency_code = $invoice->currency_code;
$convert_amount->currency_rate = $_currencies[$invoice->currency_code];
$amount = (double) $convert_amount->getDynamicConvertedAmount();
$paid += $amount;
}
}
@ -892,7 +894,7 @@ class Invoices extends Controller
// it should be integer for amount mask
$currency->precision = (int) $currency->precision;
$html = view('incomes.invoices.item', compact('item_row', 'taxes'))->render();
$html = view('incomes.invoices.item', compact('item_row', 'taxes', 'currency'))->render();
return response()->json([
'success' => true,

View File

@ -39,13 +39,13 @@ class InvoicePayments extends Controller
$currencies = Currency::enabled()->orderBy('name')->pluck('name', 'code')->toArray();
$currency = Currency::where('code', setting('general.default_currency'))->first();
$account_currency_code = Account::where('id', setting('general.default_account'))->pluck('currency_code')->first();
$currency = Currency::where('code', $account_currency_code)->first();
$payment_methods = Modules::getPaymentMethods();
$invoice->paid = $this->getPaid($invoice);
$paid = $this->getPaid($invoice);
// Get Invoice Totals
foreach ($invoice->totals as $invoice_total) {
@ -88,7 +88,9 @@ class InvoicePayments extends Controller
$default_amount = (double) $request['amount'];
if ($invoice->currency_code != $request['currency_code']) {
if ($invoice->currency_code == $request['currency_code']) {
$amount = $default_amount;
} else {
$default_amount_model = new InvoicePayment();
$default_amount_model->default_currency_code = $invoice->currency_code;
@ -97,17 +99,17 @@ class InvoicePayments extends Controller
$default_amount_model->currency_rate = $currencies[$request['currency_code']];
$default_amount = (double) $default_amount_model->getDivideConvertedAmount();
$convert_amount = new InvoicePayment();
$convert_amount->default_currency_code = $request['currency_code'];
$convert_amount->amount = $default_amount;
$convert_amount->currency_code = $invoice->currency_code;
$convert_amount->currency_rate = $currencies[$invoice->currency_code];
$amount = (double) $convert_amount->getDynamicConvertedAmount();
}
$convert_amount = new InvoicePayment();
$convert_amount->default_currency_code = $request['currency_code'];
$convert_amount->amount = $default_amount;
$convert_amount->currency_code = $invoice->currency_code;
$convert_amount->currency_rate = $currencies[$invoice->currency_code];
$amount = (double) $convert_amount->getDynamicConvertedAmount();
if ($invoice->payments()->count()) {
$total_amount -= $this->getPaid($invoice);
}
@ -134,18 +136,18 @@ class InvoicePayments extends Controller
$error_amount_model->currency_rate = $currencies[$invoice->currency_code];
$error_amount = (double) $error_amount_model->getDivideConvertedAmount();
$convert_amount = new InvoicePayment();
$convert_amount->default_currency_code = $invoice->currency_code;
$convert_amount->amount = $error_amount;
$convert_amount->currency_code = $request['currency_code'];
$convert_amount->currency_rate = $currencies[$request['currency_code']];
$error_amount = (double) $convert_amount->getDynamicConvertedAmount();
}
$convert_amount = new InvoicePayment();
$convert_amount->default_currency_code = $invoice->currency_code;
$convert_amount->amount = $error_amount;
$convert_amount->currency_code = $request['currency_code'];
$convert_amount->currency_rate = $currencies[$request['currency_code']];
$error_amount = (double) $convert_amount->getDynamicConvertedAmount();
$message = trans('messages.error.over_payment', ['amount' => money($error_amount, $request['currency_code'], true)]);
$message = trans('messages.error.over_payment', ['amount' => money($error_amount, $request['currency_code'],true)]);
return response()->json([
'success' => false,
@ -217,7 +219,9 @@ class InvoicePayments extends Controller
foreach ($invoice->payments as $item) {
$default_amount = $item->amount;
if ($invoice->currency_code != $item->currency_code) {
if ($invoice->currency_code == $item->currency_code) {
$amount = (double) $default_amount;
} else {
$default_amount_model = new InvoicePayment();
$default_amount_model->default_currency_code = $invoice->currency_code;
@ -226,17 +230,17 @@ class InvoicePayments extends Controller
$default_amount_model->currency_rate = $_currencies[$item->currency_code];
$default_amount = (double) $default_amount_model->getDivideConvertedAmount();
$convert_amount = new InvoicePayment();
$convert_amount->default_currency_code = $item->currency_code;
$convert_amount->amount = $default_amount;
$convert_amount->currency_code = $invoice->currency_code;
$convert_amount->currency_rate = $_currencies[$invoice->currency_code];
$amount = (double) $convert_amount->getDynamicConvertedAmount();
}
$convert_amount = new InvoicePayment();
$convert_amount->default_currency_code = $item->currency_code;
$convert_amount->amount = $default_amount;
$convert_amount->currency_code = $invoice->currency_code;
$convert_amount->currency_rate = $_currencies[$invoice->currency_code];
$amount = (double) $convert_amount->getDynamicConvertedAmount();
$paid += $amount;
}
}