Removed redundant functions from Invoice, optimised Invoice tables

This commit is contained in:
Deon George
2022-04-22 14:41:18 +10:00
parent a16277d9bb
commit e1a4db700f
22 changed files with 361 additions and 349 deletions

View File

@@ -333,16 +333,16 @@ class User extends Authenticatable implements IDs
*/
private function query_invoice_items()
{
return DB::table('ab_invoice_item')
return DB::table('invoice_items')
->select([
'invoice_id',
DB::raw('ab_invoice_item.id AS invoice_item_id'),
DB::raw('IFNULL(ab_invoice_item.discount_amt,0) AS discount'),
DB::raw('invoice_items.id AS invoice_item_id'),
DB::raw('IFNULL(invoice_items.discount_amt,0) AS discount'),
DB::raw('ROUND(CAST(quantity*price_base AS decimal(8,2)),2) AS base'),
DB::raw('ROUND(ab_invoice_item_tax.amount,2) AS tax'),
DB::raw('ROUND(invoice_item_taxes.amount,2) AS tax'),
])
->leftjoin('ab_invoice_item_tax',['ab_invoice_item_tax.invoice_item_id'=>'ab_invoice_item.id'])
->leftjoin('invoice_item_taxes',['invoice_item_taxes.invoice_item_id'=>'invoice_items.id'])
->where('active',TRUE);
}
@@ -382,9 +382,9 @@ class User extends Authenticatable implements IDs
DB::raw('false AS payment_fees'),
])
->from($this->query_invoice_items(),'II')
->join('ab_invoice',['ab_invoice.id'=>'II.invoice_id'])
->join('invoices',['invoices.id'=>'II.invoice_id'])
->whereIN('account_id',$this->accounts->pluck('id'))
->where('ab_invoice.active',TRUE)
->where('invoices.active',TRUE)
->groupBy(['invoice_id']);
$payments = (new Payment)
@@ -420,8 +420,8 @@ class User extends Authenticatable implements IDs
->select([
'account_id',
'id',
'due_date',
'date_orig',
'due_at',
'created_at',
'discount',
'invoice_base',
'invoice_tax',
@@ -430,7 +430,7 @@ class User extends Authenticatable implements IDs
'payment_fees',
DB::raw('ROUND(invoice_total-payments,2) AS balance'),
])
->join('ab_invoice',['ab_invoice.id'=>'invoice_id'])
->join('invoices',['invoices.id'=>'invoice_id'])
->with(['items.taxes'])
->from($summary,'summary');
}