lang->line('reports_payment_type'), $this->lang->line('reports_count'), $this->lang->line('sales_amount_tendered')); } public function getData(array $inputs) { $this->db->select('sales_payments.payment_type, count(*) AS count, SUM(payment_amount) AS payment_amount'); $this->db->from('sales_payments'); $this->db->join('sales', 'sales.sale_id=sales_payments.sale_id'); $this->db->where("date(sale_time) BETWEEN " . $this->db->escape($inputs['start_date']) . " AND " . $this->db->escape($inputs['end_date'])); if ($inputs['location_id'] != 'all') { $this->db->where('item_location', $inputs['location_id']); } if ($inputs['sale_type'] == 'sales') { $this->db->where('payment_amount > 0'); } elseif ($inputs['sale_type'] == 'returns') { $this->db->where('payment_amount < 0'); } $this->db->group_by("payment_type"); $payments = $this->db->get()->result_array(); // consider Gift Card as only one type of payment and do not show "Gift Card: 1, Gift Card: 2, etc." in the total $gift_card_count = 0; $gift_card_amount = 0; foreach($payments as $key=>$payment) { if( strstr($payment['payment_type'], $this->lang->line('sales_giftcard')) != FALSE ) { $gift_card_count += $payment['count']; $gift_card_amount += $payment['payment_amount']; // remove the "Gift Card: 1", "Gift Card: 2", etc. payment string unset($payments[$key]); } } if( $gift_card_count > 0 ) { $payments[] = array('payment_type' => $this->lang->line('sales_giftcard'), 'count' => $gift_card_count, 'payment_amount' => $gift_card_amount); } return $payments; } public function getSummaryData(array $inputs) { $this->db->select('SUM(subtotal) AS subtotal, SUM(total) AS total, SUM(tax) AS tax, SUM(cost) AS cost, SUM(profit) AS profit'); $this->db->from('sales_items_temp'); $this->db->where("sale_date BETWEEN " . $this->db->escape($inputs['start_date']) . " AND " . $this->db->escape($inputs['end_date'])); if ($inputs['location_id'] != 'all') { $this->db->where('item_location', $inputs['location_id']); } if ($inputs['sale_type'] == 'sales') { $this->db->where('quantity_purchased > 0'); } elseif ($inputs['sale_type'] == 'returns') { $this->db->where('quantity_purchased < 0'); } return $this->db->get()->row_array(); } } ?>