ok
Direktori : /home2/selectio/www/mm-tailor-billing/app/models/ |
Current File : /home2/selectio/www/mm-tailor-billing/app/models/Welcome_model.php |
<?php defined('BASEPATH') or exit('No direct script access allowed'); class Welcome_model extends CI_Model { public function __construct() { parent::__construct(); } public function getAllCustomers() { $q = $this->db->get('customers'); if ($q->num_rows() > 0) { foreach (($q->result()) as $row) { $data[] = $row; } return $data; } return false; } public function getAllProducts() { $q = $this->db->get('products'); if ($q->num_rows() > 0) { foreach (($q->result()) as $row) { $data[] = $row; } return $data; } return false; } public function getChartData($user_id = null) { if (!$this->Admin) { $user_id = $this->session->userdata('user_id'); } if ($this->db->dbdriver == 'sqlite3') { $this->db->select("strftime('%Y-%m', date) as month, SUM(total) as total, SUM(total_tax) as tax, SUM(total_discount) as discount") ->where("date >= datetime('now','-6 month')", null, false) // ->order_by("strftime('%Y-%m', date)", 'asc') ->group_by("strftime('%Y-%m', date)"); } else { $this->db->select("date_format(date, '%Y-%m') as month, SUM(total) as total, SUM(total_tax) as tax, SUM(total_discount) as discount") ->where('date >= date_sub( now() , INTERVAL 6 MONTH)', null, false) // ->order_by("date_format(date, '%Y-%m')", 'asc') ->group_by("date_format(date, '%Y-%m')"); } if ($user_id) { $this->db->where('created_by', $user_id); } if ($store_id = $this->session->userdata('store_id')) { $this->db->where('store_id', $store_id); } $q = $this->db->get('sales'); if ($q->num_rows() > 0) { foreach (($q->result()) as $row) { $data[] = $row; } return $data; } return false; } public function getUserGroups() { $this->db->order_by('id', 'desc'); $q = $this->db->get('users_groups'); if ($q->num_rows() > 0) { foreach (($q->result()) as $row) { $data[] = $row; } return $data; } return false; } public function syncStoreQty() { $products = $this->getAllProducts(); foreach ($products as $product) { $this->db->insert('product_store_qty', ['product_id' => $product->id, 'store_id' => 1, 'quantity' => $product->quantity]); } $this->db->update('settings', ['version' => '4.0.6'], ['setting_id' => 1]); } public function topProducts($user_id = null) { $m = date('Y-m'); if (!$this->Admin) { $user_id = $this->session->userdata('user_id'); } $this->db->select($this->db->dbprefix('products') . '.code as product_code, ' . $this->db->dbprefix('products') . '.name as product_name, sum(' . $this->db->dbprefix('sale_items') . '.quantity) as quantity') ->join('products', 'products.id=sale_items.product_id', 'left') ->join('sales', 'sales.id=sale_items.sale_id', 'left') ->order_by('sum(' . $this->db->dbprefix('sale_items') . '.quantity)', 'desc') ->group_by('sale_items.product_id') ->limit(10) ->like("{$this->db->dbprefix('sales')}.date", $m, 'both'); if ($user_id) { $this->db->where('created_by', $user_id); } if ($this->session->userdata('store_id')) { $this->db->where('store_id', $this->session->userdata('store_id')); } $q = $this->db->get('sale_items'); if ($q->num_rows() > 0) { foreach (($q->result()) as $row) { $data[] = $row; } return $data; } } public function userGroups() { $ugs = $this->getUserGroups(); if ($ugs) { foreach ($ugs as $ug) { $this->db->update('users', ['group_id' => $ug->group_id], ['id' => $ug->user_id]); } return true; } return false; } }