diff --git a/application/models/Sale.php b/application/models/Sale.php index 4b639b147..a00586c50 100644 --- a/application/models/Sale.php +++ b/application/models/Sale.php @@ -45,17 +45,15 @@ class Sale extends CI_Model $sale_total = "ROUND(SUM($sale_price), $decimals) + $sales_tax + $cash_adjustment"; } - - // create a temporary table to contain all the sum of taxes per sale item $this->db->query('CREATE TEMPORARY TABLE IF NOT EXISTS ' . $this->db->dbprefix('sales_items_taxes_temp') . - ' (INDEX(sale_id), INDEX(item_id)) ENGINE=MEMORY + ' (INDEX(sale_id, item_id, line)) ENGINE=MEMORY ( SELECT sales_items_taxes.sale_id AS sale_id, sales_items_taxes.item_id AS item_id, sales_items_taxes.line AS line, - SUM(ROUND(CASE WHEN sales_items_taxes.tax_type = 0 THEN sales_items_taxes.item_tax_amount ELSE 0 END, ' . $decimals . ') AS internal_tax, - SUM(ROUND(CASE WHEN sales_items_taxes.tax_type = 1 THEN sales_items_taxes.item_tax_amount ELSE 0 END), ' . $decimals . ' AS sales_tax + SUM(ROUND(CASE WHEN sales_items_taxes.tax_type = 0 THEN sales_items_taxes.item_tax_amount ELSE 0 END, ' . $decimals . ')) AS internal_tax, + SUM(ROUND(CASE WHEN sales_items_taxes.tax_type = 1 THEN sales_items_taxes.item_tax_amount ELSE 0 END, ' . $decimals . ')) AS sales_tax FROM ' . $this->db->dbprefix('sales_items_taxes') . ' AS sales_items_taxes INNER JOIN ' . $this->db->dbprefix('sales') . ' AS sales ON sales.sale_id = sales_items_taxes.sale_id