close #1408 Fixed: Total discount saved as line discount

This commit is contained in:
Cihan Şentürk 2020-04-19 01:06:00 +03:00
parent 71b1cfa56a
commit 76cc091ce9
8 changed files with 28 additions and 20 deletions

View File

@ -179,15 +179,16 @@ class CreateBill extends Job
}
foreach ((array) $this->request['items'] as $item) {
if (empty($item['discount'])) {
$item['discount'] = !empty($this->request['discount']) ? !empty($this->request['discount']) : 0;
}
$bill_item = $this->dispatch(new CreateBillItem($item, $this->bill));
$item_amount = (double) $item['price'] * (double) $item['quantity'];
$discount_amount = ($item_amount * ($item['discount'] / 100));
$discount_amount = 0;
if (!empty($item['discount'])) {
$discount_amount = ($item_amount * ($item['discount'] / 100));
}
// Calculate totals
$sub_total += $bill_item->total + $discount_amount;

View File

@ -138,7 +138,7 @@ class CreateBillItem extends Job
'quantity' => (double) $this->request['quantity'],
'price' => (double) $this->request['price'],
'tax' => $item_tax_total,
'discount_rate' => $this->request['discount'],
'discount_rate' => !empty($this->request['discount']) ? $this->request['discount'] : 0,
'total' => $item_amount,
]);

View File

@ -193,15 +193,16 @@ class UpdateBill extends Job
$this->deleteRelationships($this->bill, ['items', 'item_taxes']);
foreach ((array) $this->request['items'] as $item) {
if (empty($item['discount'])) {
$item['discount'] = !empty($this->request['discount']) ? !empty($this->request['discount']) : 0;
}
$bill_item = $this->dispatch(new CreateBillItem($item, $this->bill));
$item_amount = (double) $item['price'] * (double) $item['quantity'];
$discount_amount = ($item_amount * ($item['discount'] / 100));
$discount_amount = 0;
if (!empty($item['discount'])) {
$discount_amount = ($item_amount * ($item['discount'] / 100));
}
// Calculate totals
$sub_total += $bill_item->total + $discount_amount;

View File

@ -179,15 +179,16 @@ class CreateInvoice extends Job
}
foreach ((array) $this->request['items'] as $item) {
if (empty($item['discount'])) {
$item['discount'] = !empty($this->request['discount']) ? !empty($this->request['discount']) : 0;
}
$invoice_item = $this->dispatch(new CreateInvoiceItem($item, $this->invoice));
$item_amount = (double) $item['price'] * (double) $item['quantity'];
$discount_amount = ($item_amount * ($item['discount'] / 100));
$discount_amount = 0;
if (!empty($item['discount'])) {
$discount_amount = ($item_amount * ($item['discount'] / 100));
}
// Calculate totals
$sub_total += $invoice_item->total + $discount_amount;

View File

@ -138,7 +138,7 @@ class CreateInvoiceItem extends Job
'quantity' => (double) $this->request['quantity'],
'price' => (double) $this->request['price'],
'tax' => $item_tax_total,
'discount_rate' => $this->request['discount'],
'discount_rate' => !empty($this->request['discount']) ? $this->request['discount'] : 0,
'total' => $item_amount,
]);

View File

@ -193,15 +193,16 @@ class UpdateInvoice extends Job
$this->deleteRelationships($this->invoice, ['items', 'item_taxes']);
foreach ((array) $this->request['items'] as $item) {
if (empty($item['discount'])) {
$item['discount'] = !empty($this->request['discount']) ? !empty($this->request['discount']) : 0;
}
$invoice_item = $this->dispatch(new CreateInvoiceItem($item, $this->invoice));
$item_amount = (double) $item['price'] * (double) $item['quantity'];
$discount_amount = ($item_amount * ($item['discount'] / 100));
$discount_amount = 0;
if (!empty($item['discount'])) {
$discount_amount = ($item_amount * ($item['discount'] / 100));
}
// Calculate totals
$sub_total += $invoice_item->total + $discount_amount;

View File

@ -69,7 +69,9 @@ const app = new Vue({
if (typeof bill_items !== 'undefined' && bill_items) {
let items = [];
let item_backup = this.form.item_backup[0];
let currency_code = this.form.currency_code;
this.edit.status = true;
bill_items.forEach(function(item) {
@ -81,7 +83,7 @@ const app = new Vue({
price: (item.price).toFixed(2),
quantity: item.quantity,
tax_id: item.tax_id,
discount: item.discount_rate,
discount: (typeof item_backup.discount !== 'undefined') ? item.discount_rate : 0,
total: (item.total).toFixed(2)
});
});

View File

@ -69,7 +69,9 @@ const app = new Vue({
if (typeof invoice_items !== 'undefined' && invoice_items) {
let items = [];
let item_backup = this.form.item_backup[0];
let currency_code = this.form.currency_code;
this.edit.status = true;
invoice_items.forEach(function(item) {
@ -81,7 +83,7 @@ const app = new Vue({
price: (item.price).toFixed(2),
quantity: item.quantity,
tax_id: item.tax_id,
discount: item.discount_rate,
discount: (typeof item_backup.discount !== 'undefined') ? item.discount_rate : 0,
total: (item.total).toFixed(2)
});
});