Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /proc/self/root/var/www/laciasmara.com/public_html/shop/application/controllers/admin/ |
Upload File : |
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); class Graph extends Admin_Controller { function __construct() { parent::__construct(); $this->load->helper('form'); $this->load->library('form_validation'); } //this is to list all homepage public function index() { $sql = "SELECT year(order_date) as tahun, sum(total_amount) as jumlah FROM orders WHERE payment_status = 5 group by year(order_date) order by tahun asc "; $query = $this->db->query($sql); $_SESSION['penjualantahun'] = $query->result_array(); //data product month $sql = "SELECT * FROM ( select order_date,DATE_FORMAT(order_date, '%M') as bulan, sum(total_amount) as jumlah from orders where payment_status = 5 group by year(order_date), month(order_date) order by order_date desc limit 5) var1 ORDER by order_date asc"; $query = $this->db->query($sql); $_SESSION['penjualanbulan'] = $query->result_array(); // data product last 7 day $sql = "SELECT SUM(total_amount) as jumlah , CAST(order_date AS DATE) as hari FROM orders WHERE order_date >= (DATE(NOW()) - INTERVAL 7 DAY) and payment_status = 5 GROUP BY hari ORDER BY hari ASC"; $query = $this->db->query($sql); $_SESSION['penjualanhari'] = $query->result_array(); // best product $sql = "SELECT orders_detail.item_name as produk, COUNT(*) as jumlah FROM orders, orders_detail WHERE orders.payment_status = 5 and orders.id_orders = orders_detail.orders_id GROUP BY orders_detail.item_name order by jumlah desc"; $query = $this->db->query($sql); $_SESSION['top'] = $query->result_array(); // not ordered $query = $this->db->select('products.title AS produk') ->from('products') ->join('orders_detail', 'products.id_products = orders_detail.product_id', 'left') ->where('orders_detail.product_id IS NULL') ->get(); $result = $query->result_array(); $_SESSION['poornotbuy'] = $result; // poor product $sql = "SELECT orders_detail.item_name as produk, COUNT(*) as jumlah FROM orders, orders_detail WHERE orders.id_orders = orders_detail.orders_id and orders.payment_status = 5 GROUP by orders_detail.item_name ORDER BY jumlah ASC"; $query = $this->db->query($sql); $_SESSION['poor'] = $query->result_array(); $sql = "SELECT name, sex_type, phone, district, type, id_customers FROM customers ORDER BY 'name' ASC"; $query = $this->db->query($sql); $_SESSION['customerreport'] = $query->result_array(); $sql = "SELECT od.item_name FROM orders_detail od INNER JOIN orders o ON od.orders_id = o.id_orders INNER JOIN customers c ON o.customer_id = c.id_customers WHERE c.id_customers = o.customer_id AND o.id_orders = od.orders_id ORDER BY c.name ASC"; $query = $this->db->query($sql); $_SESSION['customerreportitemname'] = $query->result_array(); $sql = "SELECT pd.sku, p.title AS product_name, p.brand_id, s.stock FROM stock s JOIN product_details pd ON s.id_product_detail = pd.id JOIN products p ON pd.product_id = p.id_products ORDER BY product_name ASC, pd.sku ASC, p.brand_id ASC"; $query = $this->db->query($sql); $_SESSION['stockProduk'] = $query->result_array(); $sql = "SELECT COUNT(*) AS jumlah_rusak, p.title AS product_name FROM claim_garansi cg JOIN orders_detail od ON cg.no_order_detail_id = od.id_orders_detail JOIN products p ON od.product_id = p.id_products GROUP BY p.title;"; $query = $this->db->query($sql); $_SESSION['databarangrusak'] = $query->result_array(); $sql = "SELECT DISTINCT c.name, c.email, c.phone, c.birthday FROM customers c JOIN orders o ON c.id_customers = o.customer_id WHERE o.payment_status = 5 AND DAY(c.birthday) = DAY(CURDATE()) AND MONTH(c.birthday) = MONTH(CURDATE()) ORDER BY YEAR(CURDATE()), MONTH(c.birthday), DAY(c.birthday)"; $query = $this->db->query($sql); $_SESSION['birthdayday'] = $query->result_array(); $sql = "SELECT DISTINCT c.name, c.email, c.phone, c.birthday FROM customers c JOIN orders o ON c.id_customers = o.customer_id WHERE o.payment_status = 5 AND WEEKOFYEAR(c.birthday) = WEEKOFYEAR(CURDATE()) ORDER BY DATE_FORMAT(c.birthday, '%m-%d') ASC "; $query = $this->db->query($sql); $_SESSION['birthdayweek'] = $query->result_array(); $sql = "SELECT DISTINCT c.name, c.email, c.phone, c.birthday FROM customers c JOIN orders o ON c.id_customers = o.customer_id WHERE o.payment_status = 5 AND MONTH(c.birthday) = MONTH(CURDATE()) ORDER BY DAY(c.birthday) ASC, MONTH(c.birthday) ASC"; $query = $this->db->query($sql); $_SESSION['birthdaymonth'] = $query->result_array(); // best cust $sql = "SELECT orders.customer_id, customers.name as name, COUNT(*) as jumlah FROM orders, customers WHERE payment_status = 5 AND customers.id_customers = orders.customer_id GROUP BY orders.customer_id ORDER BY `jumlah` DESC limit 5"; $query = $this->db->query($sql); $_SESSION['bestcust'] = $query->result_array(); $sql = "SELECT orders.customer_id, customers.name as name, COUNT(*) as jumlah FROM orders, customers WHERE payment_status = 5 AND customers.id_customers = orders.customer_id GROUP BY orders.customer_id ORDER BY `jumlah` DESC"; $query = $this->db->query($sql); $_SESSION['bestcustfull'] = $query->result_array(); $sql = "SELECT sex_type, COUNT(*) as total FROM customers GROUP BY sex_type ORDER BY `total` DESC"; $query = $this->db->query($sql); $_SESSION['customerjk'] = $query->result_array(); $sql = "SELECT province, COUNT(*) as customer_count FROM customers WHERE province IS NOT NULL GROUP BY province"; $query = $this->db->query($sql); $_SESSION['customerlokasi'] = $query->result_array(); $sql = "SELECT COUNT(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) <= 21 THEN 1 END) AS '21 kebawah', COUNT(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 22 AND 25 THEN 1 END) AS '21-25', COUNT(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 26 AND 30 THEN 1 END) AS '26-30', COUNT(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 31 AND 35 THEN 1 END) AS '31-35', COUNT(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 36 AND 40 THEN 1 END) AS '36-40', COUNT(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 41 AND 45 THEN 1 END) AS '41-45', COUNT(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) >= 46 THEN 1 END) AS '46 keatas' FROM customers"; $query = $this->db->query($sql); $_SESSION['customerumur'] = $query->result_array(); $sql = "SELECT FLOOR(DATEDIFF(CURDATE(), birthday) / 365) AS age, COUNT(*) AS count_age FROM customers WHERE is_delete = 'no' GROUP BY age ORDER BY age ASC"; $query = $this->db->query($sql); $_SESSION['customerumurtotal'] = $query->result_array(); //load view $this->data['subview'] = 'admin/graph/index'; $this->load->view('admin/templates/header', $this->data_header); $this->load->view('admin/_layout_main', $this->data); $this->load->view('admin/templates/footer'); } // Controller function to fetch orders for a customer public function getPenjualan() { $startDate = $this->input->post('startPenjualan'); $endDate = $this->input->post('endPenjualan'); $_SESSION['startPenjualan'] = $startDate; $_SESSION['endPenjualan'] = $endDate; //data product year $sql = "SELECT year(order_date) as tahun, sum(total_amount) as jumlah FROM orders WHERE payment_status = 5 and order_date >= '" . $startDate . "' AND order_date <= '" . $endDate . "' group by year(order_date) order by tahun asc "; $query = $this->db->query($sql); $_SESSION['penjualantahun'] = $query->result_array(); //data product month $sql = "SELECT * FROM ( select order_date,DATE_FORMAT(order_date, '%M') as bulan, sum(total_amount) as jumlah from orders where payment_status = 5 and order_date >= '" . $startDate . "' AND order_date <= '" . $endDate . "' group by year(order_date), month(order_date) order by order_date desc) var1 ORDER by order_date asc"; $query = $this->db->query($sql); $_SESSION['penjualanbulan'] = $query->result_array(); // data product day $sql = "SELECT SUM(total_amount) as jumlah , CAST(order_date AS DATE) as hari FROM orders WHERE order_date BETWEEN '" . $startDate . "' AND '" . $endDate . "' and payment_status = 5 GROUP BY hari ORDER BY hari ASC"; $query = $this->db->query($sql); $_SESSION['penjualanhari'] = $query->result_array(); $this->data['subview'] = 'admin/graph/index'; $this->load->view('admin/templates/header', $this->data_header); $this->load->view('admin/_layout_main', $this->data); $this->load->view('admin/templates/footer'); // echo "<script>console.log(".$startDate.$endDate.") </script>;"; // echo "<script>console.log('bangke') </script>;"; } public function getProduk() { $startDate = $this->input->post('startProduk'); $endDate = $this->input->post('endProduk'); $_SESSION['startProduk'] = $startDate; $_SESSION['endProduk'] = $endDate; // best product $sql = "SELECT orders_detail.item_name as produk, COUNT(*) as jumlah FROM orders, orders_detail WHERE orders.payment_status = 5 and orders.id_orders = orders_detail.orders_id and order_date >= '" . $startDate . "' AND order_date <= '" . $endDate . "' GROUP BY orders_detail.item_name order by jumlah desc"; $query = $this->db->query($sql); $_SESSION['top'] = $query->result_array(); $sql = "SELECT orders_detail.item_name as produk, COUNT(*) as jumlah FROM orders, orders_detail WHERE orders.payment_status = 5 and orders.id_orders = orders_detail.orders_id and order_date >= '" . $startDate . "' AND order_date <= '" . $endDate . "' GROUP BY orders_detail.item_name order by jumlah asc"; $query = $this->db->query($sql); $_SESSION['poor'] = $query->result_array(); $sql = "SELECT p.title AS nama_produk, pd.sku, s.stock, m.stock_change AS movement FROM products p JOIN product_details pd ON pd.product_id = p.id_products JOIN stock s ON s.id_product_detail = pd.id JOIN stock_movement m ON m.stock_id = s.id WHERE p.brand_id = 1 AND s.warehouse_id = 2 AND m.datetime BETWEEN STR_TO_DATE('2022-01-01','%Y-%m-%d') AND STR_TO_DATE('2022-03-31','%Y-%m-%d') ORDER BY m.datetime ASC"; $query = $this->db->query($sql); $_SESSION['stockProduk'] = $query->result_array(); $this->data['subview'] = 'admin/graph/index'; $this->load->view('admin/templates/header', $this->data_header); $this->load->view('admin/_layout_main', $this->data); $this->load->view('admin/templates/footer'); } public function getCustomer() { $startDate = $this->input->post('startCustomer'); $endDate = $this->input->post('endCustomer'); $_SESSION['startCustomer'] = $startDate; $_SESSION['endCustomer'] = $endDate; // best cust $sql = "SELECT orders.customer_id, customers.name as name, COUNT(*) as jumlah FROM orders, customers WHERE payment_status = 5 AND customers.id_customers = orders.customer_id and order_date >= '" . $startDate . "' AND order_date <= '" . $endDate . "' GROUP BY orders.customer_id ORDER BY `jumlah` DESC limit 7"; $query = $this->db->query($sql); $_SESSION['bestcust'] = $query->result_array(); $sql = "SELECT orders.customer_id, customers.name as name, COUNT(*) as jumlah FROM orders, customers WHERE payment_status = 5 AND customers.id_customers = orders.customer_id and order_date >= '" . $startDate . "' AND order_date <= '" . $endDate . "' GROUP BY orders.customer_id ORDER BY `jumlah` DESC"; $query = $this->db->query($sql); $_SESSION['bestcustfull'] = $query->result_array(); $this->data['subview'] = 'admin/graph/index'; $this->load->view('admin/templates/header', $this->data_header); $this->load->view('admin/_layout_main', $this->data); $this->load->view('admin/templates/footer'); } }