$data=$this->db->select('vehicle_type,transport_id,trip_distance,total_time,pickup_lat AS source_latitude,pickup_lng AS source_longitude, drop_lat AS destination_latitude,drop_lng AS destination_longitude')->where('transport_id',$request['trip_id'])->get('transport_details')->row_array();
customers.user_longitude FROM `customers` WHERE customers.customer_id =".$cust_id)->row();
$data=$this->db->query("SELECT d.book_status, d.driver_id, d.status, d.is_online, d.online_start_time, d.online_end_time, (((acos(sin((".$customerDetails->user_latitude."*pi()/180)) * sin((lat_driver*pi()/180)) + cos((".$customerDetails->user_latitude."*pi()/180)) * cos((lat_driver*pi()/180)) * cos(((".$customerDetails->user_longitude." - lng_driver)*pi()/180))))*180/pi())*60*1.1515) as distance FROM drivers AS d WHERE d.status = '1' AND d.is_online = '1' AND d.book_status = '0' AND d.online_start_time < DATE_FORMAT(now(),'%H:%i') AND d.online_end_time > DATE_FORMAT(now(),'%H:%i') HAVING distance < ".$radius."")->result_array();
$nonScheduledDriver=$this->db->query("SELECT driver_id FROM `transport_details` WHERE is_scheduled = 1")->result_array();
$data="SELECT CONCAT(transport_details.trip_distance,' ','km') AS distance, transport_details.total_time AS time, transport_details.trip_cost AS total_amount, drivers.profile_image AS driver_photo, CONCAT(drivers.first_name,' ',drivers.last_name) AS driver_name FROM transport_details LEFT JOIN drivers ON transport_details.driver_id = drivers.driver_id WHERE transport_details.transport_id = '$id' AND transport_details.status = '6' AND transport_details.customer_id = '$cust_id' ";
$query=$this->db->select("transport_details.status AS request_status, transport_details.transport_id AS trip_id,
CONCAT(transport_details.total_time,' ','min') AS time, CONCAT(transport_details.trip_distance,' ','km') AS distance, CONCAT(drivers.first_name,' ',drivers.last_name) AS driver_name, vehicles.vehicle_reg_no AS car_number, drivers.profile_image AS driver_photo, drivers.phone AS driver_phone_number, transport_details.pickup_lat AS source_latitude, transport_details.pickup_lng AS source_longitude, transport_details.drop_lat AS destination_latitude, transport_details.drop_lng AS destination_longitude")->from('transport_details')->join('drivers','transport_details.driver_id = drivers.driver_id','left')->join('vehicles','drivers.vehicle = vehicles.vehicle_id','left')->where('transport_details.transport_id',$request['request_id'])->get();
$res="SELECT * FROM transport_details WHERE customer_id = '$cust_id' ORDER BY transport_id DESC LIMIT 0,1";
$query=$this->db->query($res);
$rs=$query->row();
$booking_status=$rs->status;
$driver_id=$rs->driver_id;
$book_id=$rs->transport_id;
if($booking_status==4||$booking_status==5){
$query1=$this->db->select('CONCAT(transport_details.total_time," ","min") AS time,transport_details.transport_id AS trip_id,vehicles.vehicle_reg_no AS car_number, CONCAT(transport_details.trip_distance," ","km") AS distance, drivers.profile_image AS driver_photo, drivers.phone AS driver_phone_number, transport_details.status AS request_status, transport_details.pickup_lat AS source_latitude, transport_details.pickup_lng AS source_longitude, transport_details.drop_lat AS destination_latitude, transport_details.drop_lng AS destination_longitude, CONCAT(drivers.first_name," ",drivers.last_name) AS driver_name')->from('transport_details')->join('drivers','transport_details.driver_id = drivers.driver_id','left')->join('vehicles','drivers.vehicle = vehicles.vehicle_id','left')->where('transport_details.transport_id',
$book_id)->get();
$result=$query1->row();
return$result;
}else{
return$result;
}
}else{
printjson_encode(array('status'=>'error','code'=>'209','message'=>'Something Went wrong'));die();
}
}
functionstatus_driver($id){
$data=$this->db->query("SELECT * FROM `transport_details` WHERE transport_id = '$id'")->row();
$data5="SELECT t.transport_id AS trip_id, t.status AS trip_status, t.request_type AS trip_type, c.customer_id AS customer_id, CONCAT(c.first_name,' ',c.last_name) AS customer_name, c.phone AS customer_phone, c.profile_image AS profile_image, t.pickup_location AS source_location, t.pickup_lat AS source_latitude, t.pickup_lng AS source_longitude, t.drop_location AS destination_location, t.drop_lat AS destination_latitude, t.drop_lng AS destination_longitude FROM transport_details AS t LEFT JOIN customers AS c ON c.customer_id = t.customer_id WHERE t.transport_id ='$id'";
$query=$this->db->query($data5);
$result=$query->row();
return$result;
returntrue;
}else{
returnfalse;
}
}
// *********************** APP STATUS ********************
$data1="SELECT * FROM transport_details WHERE driver_id = '$driv_id' ORDER BY transport_id DESC LIMIT 0,1";
$query=$this->db->query($data1);
$res=$query->row();
$driver_status=$res->status;
if($driver_status==4||$driver_status==5){
$data="SELECT transport_details.total_time AS time, transport_details.trip_distance AS distance, drivers.profile_image AS driver_photo, drivers.phone AS driver_phone_number, transport_details.status AS request_status, transport_details.transport_id AS trip_id, transport_details.pickup_lat AS source_latitude, transport_details.pickup_lng AS source_longitude, transport_details.drop_lat AS destination_latitude, transport_details.drop_lng AS destination_longitude FROM transport_details LEFT JOIN drivers ON transport_details.driver_id = drivers.driver_id LEFT JOIN customers ON customers.customer_id = transport_details.customer_id WHERE transport_details.driver_id = '$driv_id' AND transport_details.status IN(4,5) ORDER BY transport_details.transport_id DESC LIMIT 0,1";
$result=$this->db->query($data)->row();
return$result;
}else{
return$result;
}
}else{
printjson_encode(array('status'=>'error','code'=>'209','message'=>'Something Went wrong'));
die();
}
}
// *********************** STATUs OF RIVER ********************
publicfunctionstatus_driver($id){
$data=$this->db->query("SELECT * FROM `transport_details` WHERE transport_id = '$id'")->row();
CONCAT(customers.first_name,' ',customers.last_name) AS customer_name,
customers.profile_image AS customer_photo,
t.pickup_location AS source_location,
t.pickup_lng AS source_longitude,
t.pickup_lat AS source_latitude,
t.drop_location AS destination_location,
t.drop_lat AS destination_latitude,
t.drop_lng AS destination_longitude,
CONCAT(t.trip_cost,'','$currency') AS fare FROM transport_details AS t LEFT JOIN drivers AS d ON d.driver_id = t.driver_id LEFT JOIN customers ON t.customer_id = customers.customer_id WHERE t.driver_id = '$driv_id' AND request_type = 1 ";
return$query;
}else{
returnfalse;
}
}
// *********************** EMERGENCY RIDE HISTORY ********************
$data="SELECT t.transport_id AS id, customers.customer_id AS customer_id, CONCAT(customers.first_name,
' ',customers.last_name) AS customer_name, customers.profile_image AS customer_photo, t.pickup_location AS source_location, t.pickup_lng AS source_longitude, t.pickup_lat AS source_latitude, t.drop_location AS destination_location, t.drop_lat AS destination_latitude, t.drop_lng AS destination_longitude FROM transport_details AS t LEFT JOIN drivers AS d ON d.driver_id = t.driver_id LEFT JOIN customers ON t.customer_id = customers.customer_id WHERE t.driver_id = '$driv_id' AND request_type = 3 AND t.status = 6";
$result=$this->db->query($data)->result_array();
$result[0]['app_status']='1';
$data1="SELECT t.transport_id AS id, customers.customer_id AS customer_id, CONCAT(customers.first_name,
' ',customers.last_name) AS customer_name, customers.profile_image AS customer_photo, t.pickup_location AS source_location, t.pickup_lng AS source_longitude, t.pickup_lat AS source_latitude, t.drop_location AS destination_location, t.drop_lat AS destination_latitude, t.drop_lng AS destination_longitude FROM transport_details AS t LEFT JOIN drivers AS d ON d.driver_id = t.driver_id LEFT JOIN customers ON t.customer_id = customers.customer_id WHERE t.driver_id = '$driv_id' AND request_type = 3 AND t.status = 3";
$data="SELECT request.stop_list,request.car_type,request.source AS customer_location,request.source_lat AS customer_latitude,request.source_lng AS customer_longitude,customer.id AS customer_id,
customer.name AS customer_name,customer.image AS customer_photo FROM request LEFT JOIN customer ON customer.id = request.cust_id
$data=$this->db->query("SELECT image AS image FROM `car_type` WHERE id = '$id' ")->row();
// echo $this->db->last_query();
return$data->image;
}
// }
functioncar_type($id){
// $data = $this->db->query("SELECT car_type FROM `request` WHERE id = '$id' ")->row();
//$car_type_id = $data->car_type;
$data=$this->db->query("SELECT name FROM `car_type` WHERE id = '$id' ")->row();
//echo $this->db->last_query();
return$data->name;
}
publicfunctionsummary_trip($request){
$id=$request['trip_id'];
//$currency = '₹';
$data="SELECT booking.id,booking.status AS trip_status,booking.user_id AS customer_id,CONCAT(pattern.currency,'',booking.fare) AS fare,
CONCAT(pattern.currency,'',booking.tax) AS tax,CONCAT(pattern.currency,'',booking.fee) as fee,CONCAT(pattern.currency,'',booking.discount) AS rider_discount,
CONCAT(pattern.currency,'',booking.payout) AS estimated_payout,CONCAT(pattern.currency,'',booking.base_fare) as base_fare ,booking.time AS duration,booking.payment_mode,
ROUND(booking.distance, 2) AS distance FROM booking LEFT JOIN pattern ON booking.pattern_id = pattern.id WHERE booking.id = '$id' ";
$data="SELECT feedback.rating AS rating,feedback.id,feedback.bad_feedback AS issue,feedback.comments AS customer_comment,feedback.cust_id AS customer_id,feedback.trip_id AS trip_id FROM feedback WHERE driver_id = '$driv_id'";
//$data = "SELECT feedback.id,feedback.bad_feedback AS issue,feedback.driver_feedback AS customer_comment,feedback.cust_id AS customer_id,feedback.trip_id AS trip_id FROM feedback WHERE driver_id = '$driv_id'";
// $data = "SELECT feedback.id,IF(feedback.trip_report!='', feedback.trip_report, feedback.bad_feedback) AS issue,feedback.driver_feedback AS customer_comment,feedback.cust_id AS customer_id,feedback.trip_id AS trip_id FROM feedback WHERE driver_id = '$driv_id' AND feedback.driver_feedback!='' ORDER BY booking.id DESC ";
$data="SELECT feedback.id,feedback.bad_feedback AS issue,feedback.driver_feedback AS customer_comment,feedback.cust_id AS customer_id,feedback.trip_id AS trip_id FROM feedback WHERE driver_id = '$driv_id' AND feedback.driver_feedback!=''";
// $data = "SELECT feedback.id,feedback.driver_feedback AS customer_comment,feedback.cust_id AS customer_id,feedback.trip_id AS trip_id,feedback.rating AS rating FROM feedback WHERE driver_id = '$driv_id'";
$data="SELECT feedback.id,feedback.comments AS customer_comment,
feedback.trip_id,feedback.cust_id AS customer_id,feedback.trip_id AS trip_id,booking.start_time AS time,
feedback.rating AS rating FROM feedback INNER JOIN booking ON feedback.trip_id = booking.id WHERE feedback.driver_id = '$driv_id' AND feedback.rating >=3 ORDER BY booking.id DESC ";
$data="SELECT feedback.id,feedback.driver_feedback AS customer_comment,
feedback.trip_id,feedback.cust_id AS customer_id,feedback.trip_id AS trip_id,booking.start_time AS time,
feedback.rating AS rating FROM feedback INNER JOIN booking ON feedback.trip_id = booking.id WHERE feedback.driver_id = '$driv_id' AND feedback.driver_feedback!='' ORDER BY booking.id DESC ";
//$data = $this->db->query("SELECT COALESCE(AVG(feedback.rating),0) AS average_rating FROM `feedback` WHERE driver_id = '94' ")->row();
$data=$this->db->query("SELECT AVG(feedback.rating) AS average_rating FROM `feedback` WHERE driver_id = '$driv_id' AND rating > 0")->row();
//echo $this->db->last_query();
return$data->average_rating;
}
functionnum_rides($driv_id){
$data=$this->db->query("SELECT count(id) AS total_requests FROM `driver_request` WHERE driver_id = '$driv_id'")->row();
return$data->total_requests;
}
functionnum_requests($driv_id){
$data=$this->db->query("SELECT count(id) AS requests_accepted FROM `request` WHERE driver_id = '$driv_id' AND status = 1")->row();
return$data->requests_accepted;
}
functionnum_trips($driv_id){
$data=$this->db->query("SELECT count(id) AS total_trips FROM `booking` WHERE driver_id = '$driv_id'")->row();
return$data->total_trips;
}
functionnum_cancelled($driv_id){
$data=$this->db->query("SELECT count(id) AS trips_cancelled FROM `booking` WHERE driver_id = '$driv_id' AND status = 0")->row();
return$data->trips_cancelled;
}
functiontripdetails($request){
$id=$request["trip_id"];
//print_r($id);
// $data = "SELECT driver.id,driver.driver_name AS driver_name,driver.image AS driver_photo,booking.id,
// booking.status AS trip_status,booking.driver_id,booking.source AS source_location,booking.source_lat AS source_latitude,
// booking.source_lng AS source_longitude,booking.destination AS destination_location,
// booking.destination_lat AS destination_latitude,
// booking.destination_lng AS destination_longitude, IF(booking.start_time='',booking.book_date,booking.start_time) AS start_time,booking.end_time AS end_time,
// CONCAT(pattern.currency,'',booking.fare) AS fare,CONCAT(ROUND(booking.time,2),' ','hrs') AS duration,CONCAT(ROUND(booking.distance,3),' ','KM') AS distance,booking.status AS trip_status,
// CONCAT(pattern.currency,'',booking.fee) AS fee,CONCAT(pattern.currency,'',booking.tax) AS tax,
// CONCAT(pattern.currency,'',booking.payout) AS estimated_payout,customer.id AS customer_id,
// customer.name AS customer_name,customer.image AS customer_photo FROM
// booking LEFT JOIN driver ON driver.id = booking.driver_id LEFT JOIN customer ON booking.user_id = customer.id
// LEFT JOIN pattern ON booking.pattern_id = pattern.id WHERE booking.id = '$id'";
$data="SELECT driver.id,driver.driver_name AS driver_name,driver.image AS driver_photo,booking.id,
booking.status AS trip_status,booking.driver_id,booking.source AS source_location,booking.source_lat AS source_latitude,
booking.source_lng AS source_longitude,booking.destination AS destination_location,
booking.destination_lat AS destination_latitude,
booking.destination_lng AS destination_longitude, IF(booking.start_time='',booking.book_date,booking.start_time) AS start_time,booking.end_time AS end_time,
CONCAT(pattern.currency,'',ROUND(booking.fare,2)) AS fare,CONCAT(ROUND(booking.time,2),' ','hrs') AS duration,CONCAT(ROUND(booking.distance,3),' ','KM') AS distance,booking.status AS trip_status,
CONCAT(pattern.currency,'',ROUND(booking.fee,2)) AS fee,CONCAT(pattern.currency,'',ROUND(booking.tax,2)) AS tax,
CONCAT(pattern.currency,'',ROUND(booking.payout,2)) AS estimated_payout,customer.id AS customer_id,
customer.name AS customer_name,customer.image AS customer_photo FROM
booking LEFT JOIN driver ON driver.id = booking.driver_id LEFT JOIN customer ON booking.user_id = customer.id
LEFT JOIN pattern ON booking.pattern_id = pattern.id WHERE booking.id = '$id'";
$query=$this->db->query($data);
$result=$query->row();
//print_r($result);exit;
return$result;
}
functiondriver_rate($trip_id){
$query=$this->db->query("SELECT feedback.rating AS rate FROM `feedback` WHERE trip_id = $trip_id")->row();
// $query = $this->db->query("SELECT SUM(fare) AS fare FROM booking WHERE driver_id = '$driv_id'")->row();
// return $query->fare;
// echo $this->db->last_query();
// }
functiontotal_fare($driv_id){
$data1=$this->db->query("SELECT pattern_id FROM booking WHERE driver_id = $driv_id ")->row();
$pattern=$data1->pattern_id;
// $query = $this->db->query("SELECT CONCAT(patternSUM(fare) AS fare FROM booking WHERE driver_id = '$driv_id'")->row();
$query=$this->db->query("SELECT CONCAT(pattern.currency,'',SUM(fare)) AS fare,pattern_id FROM booking LEFT JOIN pattern ON booking.pattern_id = pattern.id WHERE driver_id = '$driv_id' ")->row();
// $data = "SELECT driver.id,driver.driver_name AS driver_name,driver.image AS driver_photo,
// booking.id,booking.status AS trip_status,booking.driver_id,booking.source AS source_location,
// booking.source_lat AS source_latitude,booking.source_lng AS source_longitude,
// booking.destination AS destination_location,booking.destination_lat AS destination_latitude,
// booking.destination_lng AS destination_longitude,booking.start_time AS start_time,
// booking.end_time AS end_time,booking.fare AS fare,booking.time AS duration,booking.distance AS distance,
// booking.status AS trip_status ,booking.fee AS fee,booking.tax AS tax,booking.payout AS estimated_payout,customer.id AS customer_id,customer.name AS customer_name,
// customer.image AS customer_photo FROM booking
// LEFT JOIN driver ON driver.id = booking.driver_id LEFT JOIN customer ON booking.user_id = customer.id
// WHERE booking.driver_id = '$driv_id' AND booking.book_date BETWEEN $start_time AND $end_time";
// $query = "SELECT driver.id,driver.driver_name AS driver_name,driver.image AS driver_photo,
// booking.id,booking.status AS trip_status,booking.driver_id,booking.source AS source_location,
// booking.source_lat AS source_latitude,booking.source_lng AS source_longitude,
// booking.destination AS destination_location,booking.destination_lat AS destination_latitude,
// booking.destination_lng AS destination_longitude,booking.start_time AS start_time,
// booking.end_time AS end_time,booking.fare AS fare,booking.time AS duration,booking.distance AS distance,
// booking.status AS trip_status ,booking.fee AS fee,booking.tax AS tax,booking.payout AS estimated_payout,customer.id AS customer_id,customer.name AS customer_name,
// customer.image AS customer_photo FROM booking
// LEFT JOIN driver ON driver.id = booking.driver_id LEFT JOIN customer ON booking.user_id = customer.id
// LEFT JOIN pattern ON booking.pattern_id = pattern.id WHERE booking.driver_id = '$driv_id' AND booking.book_date BETWEEN $start_time AND $end_time";
// // echo $this->db->last_query();
$query="SELECT driver.id,driver.driver_name AS driver_name,driver.image AS driver_photo,
booking.id,booking.status AS trip_status,booking.driver_id,booking.source AS source_location,
booking.source_lat AS source_latitude,booking.source_lng AS source_longitude,
booking.destination AS destination_location,booking.destination_lat AS destination_latitude,
booking.destination_lng AS destination_longitude,booking.start_time AS start_time,
booking.end_time AS end_time,CONCAT(pattern.currency,'',booking.fare) AS fare,
booking.time AS duration,booking.distance AS distance,
booking.status AS trip_status ,CONCAT(pattern.currency,'',booking.fee) AS fee,CONCAT(pattern.currency,'',booking.tax) AS tax,
CONCAT(pattern.currency,'',booking.payout) AS estimated_payout,customer.id AS customer_id,customer.name AS customer_name,
customer.image AS customer_photo FROM booking
LEFT JOIN driver ON driver.id = booking.driver_id LEFT JOIN customer ON booking.user_id = customer.id
LEFT JOIN pattern ON booking.pattern_id = pattern.id WHERE booking.driver_id = '$driv_id' AND booking.book_date BETWEEN $start_time AND $end_time AND booking.status != 0";
$data1=$this->db->query("SELECT pattern_id FROM booking WHERE driver_id = $driv_id ")->row();
$pattern=$data1->pattern_id;
// $data2 = $this->db->query("SELECT currency FROM pattern WHERE id = $pattern ")->row();
// $currency = $data2->currency;
// print_r($currency);
// $query = $this->db->query("SELECT SUM(fare) AS fare FROM booking WHERE driver_id = '$driv_id' AND book_date BETWEEN $start_time AND $end_time")->row();
$query=$this->db->query("SELECT CONCAT(pattern.currency,'',SUM(fare)) AS fare,pattern_id FROM booking LEFT JOIN pattern ON booking.pattern_id = pattern.id WHERE driver_id = '$driv_id' AND book_date BETWEEN $start_time AND $end_time")->row();
return$query->fare;
}
// function total_rides($driv_id){
// $date = strtotime(date('y-m-d'));
// $query = $this->db->query("SELECT (count(id) AS rides FROM booking WHERE driver_id = '$driv_id' AND book_date = '$date' ")->row();
$query=$this->db->query("SELECT (count(id)) AS rides FROM booking WHERE driver_id = '$driv_id' AND book_date BETWEEN $start_time AND $end_time")->row();
//echo $this->db->last_query();
return$query->rides;
//$query = $this->db->query("SELECT SUM(fare) AS fare FROM booking WHERE driver_id = '$driv_id' AND book_date BETWEEN $start_time AND $end_time")->row();
// return $query->fare;
}
// function total_online_time($driv_id){
// $query = $this->db->query("SELECT * FROM driver_online WHERE driver_id = '$driv_id'")->row();
$rs=$this->db->query("SELECT t.transport_id AS trip_id,(CASE t.status WHEN 9 THEN 'cancelled' WHEN 3 THEN 'booking' WHEN 5 THEN 'inprocess' WHEN 6 THEN 'completed' ELSE 'Invalid' END) AS trip_status,t.trip_distance AS distance, CONCAT(t.trip_cost,' ','$currency') AS fare, t.pickup_location AS source_location, t.pickup_lat AS source_latitude, t.pickup_lng AS source_longitude, t.drop_location AS destination_location, t.drop_lat AS destination_latitude, t.drop_lng AS destination_longitude, c.profile_image AS customer_photo, CONCAT(c.first_name,' ',c.last_name) AS customer_name FROM `transport_details` AS t LEFT JOIN customers AS c ON t.customer_id = c.customer_id WHERE t.transport_id =".$trip_id)->row();