File: /home/cafsindia/ntc_cafsinfotech_in/application/controllers/Vehicle_position_history.php
<?php if ( ! defined('BASEPATH')) exit('No direct script is allowed');
require_once("Action_controller.php");
class Vehicle_position_history extends Action_controller{
public function __construct(){
parent::__construct('vehicle_position_history');
$this->collect_base_info();
$this->load->model('Tracking_api');
}
// LOAD PAGE QUICK LINK,FILTERS AND TABLE HEADERS
public function index(){
$data['quick_link'] = $this->quick_link;
$data['table_head'] = json_decode(json_encode($this->get_table_head()));
$data['vehicle_type'] = $this->get_vehicle_type();
$data['vehicle_list'] = $this->get_vehicle_number();
$data['master_pick'] = $this->master_pick;
$data['fliter_list'] = $this->fliter_list;
$this->load->view("$this->control_name/manage",$data);
}
//LOAD TABEL WITH FILTERS
public function search(){
$draw = $this->input->post('draw');
$start = $this->input->post('start');
$per_page = $this->input->post('length');
$order = $this->input->post('order');
$order_col = $this->input->post('columns');
$search = $this->input->post('search');
$column = $order[0]['column'];
$order_sor = $order[0]['dir'];
$order_col = $order_col[$column]['data'];
$vehicle_number = (int)$this->input->post('vehicle_number');
$vehicle_type = (int)$this->input->post('vehicle_type');
$datepicker_time = $this->input->post('datepicker_time');
$get_asset_qry = 'select asset_id,register_no from cw_vehicle_master where prime_vehicle_master_id = "'.$vehicle_number.'" and trans_status = 1';
$vehicle_info = $this->db->query("CALL sp_a_run ('SELECT','$get_asset_qry')");
$check_count = $vehicle_info->num_rows();
$view_result = $vehicle_info->row();
$vehicle_info->next_result();
if((int)$check_count > 0 && $datepicker_time){
$asset_id = $view_result->asset_id;
$register_no = $view_result->register_no;
$search_result = $this->Tracking_api->get_position_history_info($asset_id,$datepicker_time);
$search_result = $search_result['data'];
$result = json_decode(json_encode($this->get_vehicle_history_datarows($search_result,$register_no)));
$total_count = count($result);
$filtered_count = count($result);
echo json_encode(array("draw" => intval($draw),"recordsTotal" => $total_count,"recordsFiltered" => $filtered_count,"data" => $result));
}else{
echo json_encode(array("draw" => intval($draw),"recordsTotal" => 0,"recordsFiltered" => 0,"data" => array()));
}
}
public function get_vehicle_history_datarows($search_result,$register_no){
$return_data = array();
foreach($search_result as $result){
$geoaddress = str_replace(',','.',$result->GeoAddress);
$positiondate = date('d-m-Y h:i:s',strtotime($result->PositionDate));
$latitude = $result->Latitude;
$longitude = $result->Longitude;
$eventtype = $result->EventType;
$roadspeed = $result->RoadSpeed;
$speed = $result->Speed;
$return_data[] = array('register_no'=>$register_no,'geoaddress'=>$geoaddress,'positiondate'=>$positiondate,'latitude'=>$latitude,'longitude'=>$longitude,'eventtype'=>$eventtype,'roadspeed'=>$roadspeed,'speed'=>$speed,'View'=>"$eventtype,$latitude,$longitude,$geoaddress,$vehicle_number");
}
return $return_data;
}
public function get_table_head(){
$table_head = array(array(
'label_name' => 'register_no',
'view_name' => 'VehicleNumber',
'field_type' => 1
),array(
'label_name' => 'positiondate',
'view_name' => 'PositionDate',
'field_type' => 1
),array(
'label_name' => 'geoaddress',
'view_name' => 'GeoAddress',
'field_type' => 1
),array(
'label_name' => 'eventtype',
'view_name' => 'EventType',
'field_type' => 1
),array(
'label_name' => 'roadspeed',
'view_name' => 'RoadSpeed',
'field_type' => 1
),array(
'label_name' => 'speed',
'view_name' => 'Speed',
'field_type' => 1
)
);
return $table_head;
}
//Get Vehicle Type
public function get_vehicle_type(){
$vehicle_type_qry = 'SELECT prime_vehicle_type_id,vehicle_type from cw_vehicle_type where trans_status = 1';
$vehicle_type = $this->db->query("CALL sp_a_run ('SELECT','$vehicle_type_qry')");
$vehicle_type_result = $vehicle_type->result();
$vehicle_type->next_result();
$vehicle_type_ar[''] = '-- select --';
foreach($vehicle_type_result as $result){
$id = $result->prime_vehicle_type_id;
$veh_type = $result->vehicle_type;
$vehicle_type_ar[$id] = $veh_type;
}
return $vehicle_type_ar;
}
//Get Vehicle Type
public function get_vehicle_number(){
$vehicle_list_qry = 'SELECT prime_vehicle_master_id,register_no from cw_vehicle_master where trans_status = 1';
$vehicle_list = $this->db->query("CALL sp_a_run ('SELECT','$vehicle_list_qry')");
$vehicle_list_result = $vehicle_list->result();
$vehicle_list->next_result();
$vehicle_num_list[''] = '-- select --';
foreach($vehicle_list_result as $result){
$id = $result->prime_vehicle_master_id;
$register_no = $result->register_no;
$vehicle_num_list[$id] = $register_no;
}
return $vehicle_num_list;
}
//GET VEHICLE NUMBER
public function get_vehicle_no(){
$vehicle_type = (int)$this->input->post('vehicle_type');
$this->db->select('prime_vehicle_master_id,register_no');
$this->db->from('cw_vehicle_master');
$this->db->where('cw_vehicle_master.trans_status', 1);
if($vehicle_type > 0){
$this->db->where('vehicle_type',$vehicle_type);
}
$vehicle_result = $this->db->get()->result();
$vehicle_number = "<option value =''>---- Select ----</option>";
foreach($vehicle_result as $rslt){
$prime_vehicle_master_id = $rslt->prime_vehicle_master_id;
$register_no = $rslt->register_no;
$vehicle_number .= "<option value='$prime_vehicle_master_id'>$register_no</option>";
}
echo json_encode(array('success' => TRUE, 'vehicle_number' => $vehicle_number));
}
}
?>