status = $context['status']; $this->start_date = $context['start_date']; $this->end_date = $context['end_date']; $this->method = (empty($context['list_config']['method'])) ? "id" : $context['list_config']['method']; } public function get_data() { global $database; $status = $this->status; /** pagination */ $sql ="SELECT count(*) as total FROM stocks where status ='$status'"; $num_results = $database->getOne($sql); $this->pages = new paginator('quote'); $this->pages->items_total = $num_results; $this->pages->mid_range = 9; $this->pages->paginate(); $context_workflow = array( "readonly" => false, "show_all" => true ); $context_workflow['table'] = 'stocks'; $context_workflow['list_config'] = array( "method" => "date_created", "order" => $_GET['order'], "avail_edit" => false, "avail_status" => false, "link_view" => "", "link_edit" => "", "show_search" => false, "show_pagination" => false, "sortable" => false ); $where = ""; $start_date =''; $end_date =''; $where = "WHERE stocks.status='$status'"; /**modify the query if it has date range, which from report*/ if(!empty($this->start_date)&&!empty($this->end_date)){ $start_date = $this->start_date; $end_date = $this->end_date; $start_date_unix = dates::to_unix($start_date." 00:00:00"); $end_date_unix = dates::to_unix($end_date." 23:59:59"); if($status ==1){ $where = "WHERE stocks.status='$status' AND date_created >= '$start_date 00:00:00' AND date_created <= '$end_date 23:59:59'"; }else{ $where = "WHERE stocks.status='$status'"; } } //$sql ="SELECT stocks.* FROM stocks ".$where.$this->pages->limit; $sql = "SELECT stocks.*, sum(som.order_quantity) as total_quantity, sum(som.num_received) as total_received, sum(som.cost) as total_cost, count(som.order_no) as total_material FROM stocks LEFT JOIN stock_order_materials som ON som.order_no = stocks.id ".$where." GROUP BY som.order_no,stocks.id".$this->pages->limit; $results = $database->query($sql); /**get all user href link*/ $users = common_users::get_all_names_link(); $return_results = array(); /*put column data to array for listing*/ foreach($results AS $result) { $result['supplier_name'] = common_suppliers::get_suppliers_name($result['supplier_no']); $result['item_name'] = common_materials_inventory::get_item_name($result['item_no']); $result['submitter'] = $users[$result['submitter']]; $result['any_id'] = $result['id']; $result['total_quantity'] = ($result['total_quantity'])?$result['total_quantity']:"0"; $result['total_received'] = ($result['total_received'])?$result['total_received']:"0"; $result['total_cost'] = ($result['total_cost'])?'$'.$result['total_cost']:"-"; $return_results[] = $result; } $this->final_results = $return_results; self::prepare(); return $this; } function showPagination(){ echo $this->pages->display_pages(); return $this; } }