<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Reports extends CI_Controller {
public function __construct(){
parent::__construct();
$this->load->library("common_lib");
$this->load->model("commonm");
$this->load->model("reportsm");
$this->load->library('parser');
}
public function index($order_status = ""){
$search_criteria = array();
$order_id = "";
$start_date = $this->common_lib->date_display_format();
$end_date = $this->common_lib->date_display_format();
$order_status = "P";
$payment_status = "";
$payment_gateways = "";
$search_criteria['order_status'] = $order_status;
if($this->common_lib->get_get("cmdSearchOrder")){
$order_id = $this->common_lib->get_n_get("order_id");
$date_range = urldecode($this->common_lib->get_get("order_range_picker"));
$date_range = explode(" - ",$date_range);
$start_date = $date_range[0];
$end_date = $date_range[1];
$payment_gateways = $this->common_lib->get_get("payment_gateways");
$payment_status = $this->common_lib->get_get("payment_status");
$order_status = $this->common_lib->get_get("order_status");
if($order_id > 0) $search_criteria['order_id'] = $order_id;
if($payment_gateways != "") $search_criteria['payment_method'] = $payment_gateways;
if($payment_status != "") $search_criteria['payment_status'] = $payment_status;
if($order_status != "") $search_criteria['order_status'] = $order_status;
}
$order_status_list = $this->commonm->get_all("order_status");
$payment_gateways_list = $this->commonm->get_all("payment_gateways");
$payment_status_list = $this->commonm->get_all("payment_status");
$partial['order_status_list'] = $order_status_list;
$partial['payment_gateways_list'] = $payment_gateways_list;
$partial['payment_status_list'] = $payment_status_list;
$data['partial_data'] = array($partial);
$data['start_date'] = $start_date;
$data['end_date'] = $end_date;
$data['order_id'] = $order_id;
$data['order_status'] = $order_status;
$data['payment_status'] = $payment_status;
$data['payment_gateways'] = $payment_gateways;
$data['all_orders'] = $this->reportsm->get_customer_orders($search_criteria);
$data['inner_template'] = "admin/reports/index_view";
$data = array_merge($data,$partial);
$this->load->view('admin/layout/layout_main.php',$data);
}
public function order_detail($order_id){
$order_id = $this->common_lib->fSafeNum($order_id);
$order_notes = $this->commonm->get_all("order_notes",array("order_id" => $order_id));
$order_data = $this->commonm->get_all("orders",array("order_id" => $order_id));
$order_item_data = $this->reportsm->get_inventory_items(array("o.order_id" => $order_id));
$data['order_id'] = $order_id;
$data['order_data'] = $order_data;
$data['order_notes'] = $order_notes;
$data['order_item_data'] = $order_item_data;
$user_detail = $this->commonm->get_all("users",array("user_id" => $order_data[0]->user_id));
$data['user_detail'] = $user_detail;
$data['inner_template'] = "admin/reports/order_detail";
$this->load->view('admin/layout/layout_main.php',$data);
}
public function shipments($order_id){
$order_id = $this->common_lib->fSafeNum($order_id);
$order_data = $this->commonm->get_all("orders",array("order_id" => $order_id));
$invoice_data = $this->commonm->get_all("invoices",array("order_id" => $order_id));
$data['order_id'] = $order_id;
$data['order_data'] = $order_data;
$data['invoice_data'] = $invoice_data;
$user_detail = $this->commonm->get_all("users",array("user_id" => $order_data[0]->user_id));
$data['user_detail'] = $user_detail;
$data['inner_template'] = "admin/reports/shipments_list";
$this->load->view('admin/layout/layout_main.php',$data);
}
public function print_label(){
$this->load->view('admin/reports/print_label.php');
}
public function inventoryordered($type="orderitem"){
$start_date = $this->common_lib->date_display_format();
$end_date = $this->common_lib->date_display_format();
$order_status = "P";
$detail_report = 1;
$order_id = "";
$search_sku = "";
$search_size = "";
$order_status_list = $this->commonm->get_all("order_status");
$search_data = array();
$search_data['start_date'] = $start_date;
$search_data['end_date'] = $end_date;
$search_data['action_url'] = site_url("admin/reports/inventoryordered/$type");
$search_data['order_status_list'] = $order_status_list;
$search_data['order_status'] = $order_status;
$search_criteria['item_status'] = $order_status;
if($this->common_lib->get_get("cmdSearchOrder")){
$date_range = urldecode($this->common_lib->get_get("order_range_picker"));
$date_range = explode(" - ",$date_range);
$start_date = $date_range[0];
$end_date = $date_range[1];
$order_id = $this->common_lib->get_n_get("order_id");
$detail_report = $this->common_lib->get_n_get("detail_report");
$order_status = $this->common_lib->get_get("order_status");
$search_size = $this->common_lib->get_get("size");
$search_sku = $this->common_lib->get_get("sku");
if($search_size != "") $search_criteria['size'] = $search_size;
if($search_sku != "") $search_criteria['sku'] = $search_sku;
if($order_id > 0) $search_criteria['o.order_id'] = $order_id;
if($order_status != "") $search_criteria['order_status'] = $order_status;
}
$search_data['detail_report'] = $detail_report;
$search_data['order_id'] = $order_id;
$search_data['search_size'] = $search_size;
$search_data['search_sku'] = $search_sku;
$search_criteria['detail_report'] = $detail_report;
if($detail_report == 1)
$inner_template = "common_report";
else
$inner_template = "common_report_summary";
if($type == "orderitem"){
$inner_template = "inventory_ordered";
$data['inventory_reports'] = $this->reportsm->get_inventory_items($search_criteria);
}elseif($type == "size"){
$data['inventory_reports'] = $this->reportsm->get_sizes_orders($search_criteria);
}elseif($type == "brand"){
$data['inventory_reports'] = $this->reportsm->get_brand_orders($search_criteria);
}elseif($type == "sku"){
$data['inventory_reports'] = $this->reportsm->get_sku_orders($search_criteria);
}else{
$data['inventory_reports'] = $this->reportsm->get_inventory_items($search_criteria);
$search_data['action_url'] = site_url("admin/reports/inventoryordered/orderitem");
$inner_template = "inventory_ordered";
}
$data['detail_report'] = $detail_report;
$data['search_data'] = $search_data;
$data['inner_template'] = "admin/reports/$inner_template";
$this->load->view('admin/layout/layout_main.php',$data);
}
public function get_total_orders(){
}
public function print_invoice($invoice_id){
$invoice_id = urldecode($invoice_id);
$invoice_id = $this->common_lib->decode($invoice_id);
$invoice_data = $this->reportsm->get_invoice_items($invoice_id);
//print_r($invoice_data);
$invoice_items = array();
$invoice_sub_total = 0;
foreach($invoice_data as $invoice_item){
$invoice_sub_items = array();
foreach($invoice_item as $invoice_col => $invoice_val){
$invoice_sub_items[$invoice_col] = $invoice_val;
}
$invoice_sub_total += ($invoice_item->shipped_qty * $invoice_item->price);
$invoice_items[] = $invoice_sub_items;
}
$new_invoice_data = array();
$new_invoice_data['ship_first_name'] = $invoice_data[0]->ship_first_name;
$new_invoice_data['ship_last_name'] = $invoice_data[0]->ship_last_name;
$new_invoice_data['ship_address'] = $invoice_data[0]->ship_address;
$new_invoice_data['ship_address1'] = ($invoice_data[0]->ship_address1 == "")?"-":$invoice_data[0]->ship_address1;
$new_invoice_data['ship_city'] = $invoice_data[0]->ship_city;
$new_invoice_data['ship_state'] = $invoice_data[0]->ship_state;
$new_invoice_data['ship_country'] = $this->common_lib->get_country_by_id($invoice_data[0]->ship_country);
$new_invoice_data['ship_zipcode'] = $invoice_data[0]->ship_zipcode;
$new_invoice_data['ship_mobile'] = $invoice_data[0]->ship_mobile;
$new_invoice_data['ship_fax'] = ($invoice_data[0]->ship_fax == "")?"-":$invoice_data[0]->ship_fax;
$new_invoice_data['ship_company'] = "-";
$new_invoice_data['email'] = $invoice_data[0]->email;
$new_invoice_data['order_date'] = $invoice_data[0]->order_date;
$new_invoice_data['order_id'] = $invoice_data[0]->order_id;
$new_invoice_data['shipping'] = $this->common_lib->currency_price($invoice_data[0]->shipping);
$new_invoice_data['invoice_id'] = $invoice_data[0]->invoice_id;
$new_invoice_data['order_amount'] = $this->common_lib->currency_price($invoice_data[0]->order_amount);
$new_invoice_data['sub_total'] = $this->common_lib->currency_price($invoice_sub_total);
$new_invoice_data['amount_received'] = $this->common_lib->currency_price($invoice_data[0]->order_amount - $invoice_data[0]->amount_remaining);
$new_invoice_data['amount_remaining'] = $this->common_lib->currency_price($invoice_data[0]->amount_remaining);
$new_invoice_data['invoice_items'] = $invoice_items;
echo $this->parser->parse('email_templates/invoice_print_tpl', $new_invoice_data, TRUE);
exit;
}
public function add_order(){
$customer_list = $this->commonm->get_all("users");
$product_list = $this->commonm->get_all("products",array("active"=>1),array(),"product_name");
$data['customer_list'] = $customer_list;
$data['product_list'] = $product_list;
$data['inner_template'] = "admin/reports/add_customer_order";
$this->load->view('admin/layout/layout_main.php',$data);
}
}
@KyuuKazami