MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /home/cafsindia/ntc_cafsinfotech_in_bk/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));
	}
}
?>