Commit 1e0ab026 by Tobin

dc

parent 1fd1f30c
...@@ -272,6 +272,7 @@ class Ride extends CI_Controller { ...@@ -272,6 +272,7 @@ class Ride extends CI_Controller {
'drop_location' => $row[$headerOrder['28']], 'drop_location' => $row[$headerOrder['28']],
'pickup_location' => $row[$headerOrder['23']], 'pickup_location' => $row[$headerOrder['23']],
'trip_bid_status' => $tripBidStatus, 'trip_bid_status' => $tripBidStatus,
'request_type' => 3,
'data' => json_encode($rowArr) 'data' => json_encode($rowArr)
); );
$insertData['appointment_time'] = strtotime($date_time); $insertData['appointment_time'] = strtotime($date_time);
...@@ -437,6 +438,7 @@ class Ride extends CI_Controller { ...@@ -437,6 +438,7 @@ class Ride extends CI_Controller {
'drop_location' => $row[$headerOrder['28']], 'drop_location' => $row[$headerOrder['28']],
'pickup_location' => $row[$headerOrder['23']], 'pickup_location' => $row[$headerOrder['23']],
'trip_bid_status' => $tripBidStatus, 'trip_bid_status' => $tripBidStatus,
'request_type' => 3,
'data' => json_encode($rowArr) 'data' => json_encode($rowArr)
); );
$insertData['appointment_time'] = strtotime($date_time); $insertData['appointment_time'] = strtotime($date_time);
......
...@@ -336,7 +336,7 @@ class Webservices extends CI_Controller { ...@@ -336,7 +336,7 @@ class Webservices extends CI_Controller {
$request = json_decode($postdata, true); $request = json_decode($postdata, true);
$auth = apache_request_headers()['Auth']; $auth = apache_request_headers()['Auth'];
$request['auth'] = $auth; $request['auth'] = $auth;
if(!empty($request) && isset($request['trip_type']) && !empty($request['trip_type']) && if(!empty($request) && isset($request['trip_type']) && $request['trip_type'] != '' &&
isset($request['source_name']) && !empty($request['source_name']) && isset($request['source_name']) && !empty($request['source_name']) &&
isset($request['source_latitude']) && !empty($request['source_latitude']) && isset($request['source_latitude']) && !empty($request['source_latitude']) &&
isset($request['destination_name']) && !empty($request['destination_name']) && isset($request['destination_name']) && !empty($request['destination_name']) &&
...@@ -457,9 +457,9 @@ class Webservices extends CI_Controller { ...@@ -457,9 +457,9 @@ class Webservices extends CI_Controller {
if (isset($request['request_id'])) { if (isset($request['request_id'])) {
$result = $this->Webservice_model->req_status($request); $result = $this->Webservice_model->req_status($request);
if ($result->request_status == '3') { if ($result->request_status == '0' || $result->request_status == '1' || $result->request_status == '3') {
print json_encode(array('status'=>'success','data'=>array('request_status'=>'0'))); print json_encode(array('status'=>'success','data'=>array('request_status'=>'0')));
} else if($result->request_status == '4') { } else if($result->request_status == '4' || $result->request_status == '5' || $result->request_status == '6' || $result->request_status == '8') {
print json_encode(array('status'=>'success','data'=>$result)); print json_encode(array('status'=>'success','data'=>$result));
} else { } else {
print json_encode(array('status'=>'error','message'=>'Something Went wrong','error'=>'606')); print json_encode(array('status'=>'error','message'=>'Something Went wrong','error'=>'606'));
...@@ -513,12 +513,18 @@ class Webservices extends CI_Controller { ...@@ -513,12 +513,18 @@ class Webservices extends CI_Controller {
} }
foreach ($ride_data AS $ride) { foreach ($ride_data AS $ride) {
if(empty($ride['pickup_lat']) || empty($ride['pickup_lng']) || if(empty($ride['pickup_lat']) || empty($ride['pickup_lng'])){
empty($ride['appointment_time']) || $ride['appointment_time']<strtotime(date('Y-m-d H:i:s'))){ continue;
}
if($ride['request_type'] == 3 &&
(empty($ride['appointment_time']) || $ride['appointment_time'] < strtotime(date('Y-m-d H:i:s')))){
continue; continue;
} }
$driver_data = $this->Webservice_model->getAvailableDrivers($ride['pickup_lat'],$ride['pickup_lng'],$ride['appointment_time']); $driver_data = $this->Webservice_model->getAvailableDrivers($ride['pickup_lat'],$ride['pickup_lng']);
if(empty($driver_data)){
continue;
}
if(!empty($driver_data) && !empty($driver_data['driver_id']) && if(!empty($driver_data) && !empty($driver_data['driver_id']) &&
!empty($driver_data['distance']) && !empty($driver_data['fcm_token'])){ !empty($driver_data['distance']) && !empty($driver_data['fcm_token'])){
......
...@@ -1450,13 +1450,11 @@ ...@@ -1450,13 +1450,11 @@
$request['auth'] = $auth; $request['auth'] = $auth;
if (isset($request['request_id'])) { if (isset($request['request_id']) && !empty($request['request_id'])) {
$result = $this->Webservices_driver_model->req_details($request); $result = $this->Webservices_driver_model->req_details($request);
header('Content-type: application/json'); if (!empty($result)) {
if (count($result) > 0) {
$result->request_id = $request['request_id']; $result->request_id = $request['request_id'];
...@@ -1468,28 +1466,23 @@ ...@@ -1468,28 +1466,23 @@
$result->car_type = $car_type; $result->car_type = $car_type;
// $is_help = $this->Webservices_driver_model->is_help_status($driv_id,$result['id']);
// $rs->is_helpful = $is_help;
print json_encode(array('status' => 'success', 'data' => $result)); print json_encode(array('status' => 'success', 'data' => $result));
} else { } else {
print json_encode(array('status' => 'error')); print json_encode(array('status' => 'error', 'error' => '210', 'message' => 'Invalid Request ID'));
} }
} else { } else {
print json_encode(array('status' => 'error', 'error' => '209', 'message' => 'Something Went wrong')); print json_encode(array('status' => 'error', 'error' => '209', 'message' => 'Required fields are empty'));
} }
} else { } else {
print json_encode(array('status' => 'error', 'error' => '209', 'message' => 'Something Went wrong')); print json_encode(array('status' => 'error', 'error' => '211', 'message' => 'Auth Token Missing'));
} }
......
...@@ -168,7 +168,7 @@ class Ride_model extends CI_Model { ...@@ -168,7 +168,7 @@ class Ride_model extends CI_Model {
FROM transport_details AS TD FROM transport_details AS TD
INNER JOIN drivers AS DRV ON (DRV.driver_id = TD.assigned_driver) INNER JOIN drivers AS DRV ON (DRV.driver_id = TD.assigned_driver)
WHERE TD.driver_assign_status='0' AND TD.assigned_driver<>'0' AND WHERE TD.driver_assign_status='0' AND TD.assigned_driver<>'0' AND
TD.is_scheduled='1' AND TD.is_scheduled='1' AND TD.request_type='3' AND
TD.appointment_time>$startDateTime AND TD.appointment_time<$endDateTime AND TD.appointment_time>$startDateTime AND TD.appointment_time<$endDateTime AND
TD.status IN (3,4,5,8) AND TD.assigned_driver IN (".implode(",",$drivers).")"; TD.status IN (3,4,5,8) AND TD.assigned_driver IN (".implode(",",$drivers).")";
$prvDrivers = $this->db->query($sql); $prvDrivers = $this->db->query($sql);
......
...@@ -377,17 +377,12 @@ class Webservice_model extends CI_Model { ...@@ -377,17 +377,12 @@ class Webservice_model extends CI_Model {
'status'=>'1'); 'status'=>'1');
$this->db->insert('transport_details', $data); $this->db->insert('transport_details', $data);
$last_id = $this->db->insert_id(); $last_id = $this->db->insert_id();
return $result = array('request_id'=>$last_id);
}else{ }else{
return false; return false;
} }
return $result = array('request_id'=>$last_id);
} else { } else {
return false; return false;
} }
} }
...@@ -421,7 +416,7 @@ class Webservice_model extends CI_Model { ...@@ -421,7 +416,7 @@ class Webservice_model extends CI_Model {
$nonScheduledDriver[] = array('driver_id'=>'0' );; $nonScheduledDriver[] = array('driver_id'=>'0' );;
} }
$driverList = $nonScheduledDriver1 = array();
foreach($data as $row){ foreach($data as $row){
$driverList[] = $row['driver_id']; $driverList[] = $row['driver_id'];
...@@ -432,9 +427,16 @@ class Webservice_model extends CI_Model { ...@@ -432,9 +427,16 @@ class Webservice_model extends CI_Model {
} }
} }
$nonScheduledDriverList = array_diff($driverList,$nonScheduledDriver1); $nonScheduledDriverList = array();
if(!empty($driverList) && !empty($nonScheduledDriver1)){
$nonScheduledDriverList = array_diff($driverList,$nonScheduledDriver1);
} else if (!empty($driverList)){
$nonScheduledDriverList = $driverList;
} else if (!empty($nonScheduledDriver1)){
$nonScheduledDriverList = $nonScheduledDriver1;
}
if($nonScheduledDriverList){ if(!empty($nonScheduledDriverList)){
return $result = array('ambulace_count'=>COUNT($nonScheduledDriverList),'distance'=>$radius.'Km'); return $result = array('ambulace_count'=>COUNT($nonScheduledDriverList),'distance'=>$radius.'Km');
...@@ -778,7 +780,7 @@ class Webservice_model extends CI_Model { ...@@ -778,7 +780,7 @@ class Webservice_model extends CI_Model {
public function driverAssignCrone(){ public function driverAssignCrone(){
$sql = "SELECT TD.transport_id,TD.appointment_time,TD.pickup_lat,TD.pickup_lng,TD.drop_lat, $sql = "SELECT TD.transport_id,TD.appointment_time,TD.pickup_lat,TD.pickup_lng,TD.drop_lat,
TD.drop_lng,TD.vehicle_type,TD.status,TD.is_scheduled,DR.request_time,DR.status TD.drop_lng,TD.vehicle_type,TD.status,TD.is_scheduled,DR.request_time,DR.status,TD.request_type
FROM transport_details AS TD FROM transport_details AS TD
LEFT JOIN driver_request AS DR ON (TD.transport_id=DR.trip_id) LEFT JOIN driver_request AS DR ON (TD.transport_id=DR.trip_id)
LEFT JOIN drivers AS DRV ON (DR.driver_id=DR.driver_id) LEFT JOIN drivers AS DRV ON (DR.driver_id=DR.driver_id)
...@@ -791,8 +793,8 @@ class Webservice_model extends CI_Model { ...@@ -791,8 +793,8 @@ class Webservice_model extends CI_Model {
return $ride_data->result_array(); return $ride_data->result_array();
} }
public function getAvailableDrivers($lat='',$lng='',$aTime=''){ public function getAvailableDrivers($lat='',$lng=''){
if(empty($lat) || empty($lng) || empty($aTime)){ if(empty($lat) || empty($lng)){
return; return;
} }
$cTime = date('H:i'); $cTime = date('H:i');
...@@ -811,6 +813,10 @@ class Webservice_model extends CI_Model { ...@@ -811,6 +813,10 @@ class Webservice_model extends CI_Model {
$startTime = strtotime(date('Y-m-d H:i:s')) - 1800; $startTime = strtotime(date('Y-m-d H:i:s')) - 1800;
$finishTime = strtotime(date('Y-m-d H:i:s')) + 1800; $finishTime = strtotime(date('Y-m-d H:i:s')) + 1800;
foreach ($driverData AS $key => $driver) { foreach ($driverData AS $key => $driver) {
if(empty($driver['fcm_token'])){
continue;
}
$driver_id = $driver['driver_id']; $driver_id = $driver['driver_id'];
$sql = "SELECT TD.driver_id $sql = "SELECT TD.driver_id
FROM transport_details AS TD FROM transport_details AS TD
......
...@@ -1357,32 +1357,66 @@ function booster_seat($request) { ...@@ -1357,32 +1357,66 @@ function booster_seat($request) {
function req_details($request) { function req_details($request) {
$query = $this->db->where('unique_id', $request['auth'])->get('driver_auth_table'); $query = $this->db->where('unique_id', $request['auth'])->get('driver_auth_table');
if(!empty($query) && !empty($driver_data = $query->row())) {
if ($query->num_rows() > 0) {
$id = $request["request_id"]; $id = $request["request_id"];
$driver_id = $driver_data->driver_id;
$type = isset($request["type"]) && !empty($request["type"]) ? 1 : 3 ;
$query = "SELECT TD.pickup_location AS source_address,TD.drop_location AS hospital_address,
CUST.profile_image AS photo,TD.drop_lat,TD.drop_lng,
TD.created_date AS request_time,
CONCAT(CUST.first_name,' ',CUST.last_name) AS name
FROM transport_details AS TD
INNER JOIN customers CUST ON (CUST.customer_id=TD.customer_id)
WHERE TD.request_type='$type' AND TD.transport_id='$id' AND
CUST.status='1' AND TD.status != '2'";
$data = $this->db->query($query);
$drvLoc = $this->db->query("SELECT lat_driver,lng_driver
FROM drivers WHERE driver_id='$driver_id'")->row_array();
if(empty($data) || empty($data = $data->row_array()) || empty($data['drop_lat']) ||
empty($data['drop_lng']) || empty($drvLoc['lat_driver']) || empty($drvLoc['lng_driver'])){
return 0;
}
$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, $settings = getSettings();
$key = $settings['google_api_key'];
customer.name AS customer_name,customer.image AS customer_photo FROM request LEFT JOIN customer ON customer.id = request.cust_id $cor = $drvLoc['lat_driver'].",".$drvLoc['lng_driver']."&destinations=".
$data['drop_lat'].",".$data['drop_lng'];
WHERE request.id = '$id' "; $url = "https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=".
$cor."&mode=driving&key=".$key;
$query = $this->db->query($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);
curl_close($ch);
$response = json_decode($response, true);
if(empty($response) ||
!isset($response['rows'],
$response['rows'][0],
$response['rows'][0]['elements'],
$response['rows'][0]['elements'][0],
$response['rows'][0]['elements'][0]['status'],
$response['rows'][0]['elements'][0]['distance'],
$response['rows'][0]['elements'][0]['duration'],
$response['rows'][0]['elements'][0]['distance']['text'],
$response['rows'][0]['elements'][0]['duration']['text']) ||
$response['rows'][0]['elements'][0]['status'] != 'OK'){
return 0;
}
$data['type'] = $type == 3 ? 1 : 0;
$data['request_time'] = strtotime($data['request_time']);
$data['time'] = $response['rows'][0]['elements'][0]['duration']['text'];
$data['distance'] = $response['rows'][0]['elements'][0]['distance']['text'];
unset($data['drop_lat'],$data['drop_lng']);
$result = $query->row(); return $data;
$stopList = json_decode($result->stop_list);
$resultArray = array(
'stop_list'=>$stopList,
'car_type'=>$result->car_type,
'customer_location'=>$result->customer_location,
'customer_latitude'=>$result->customer_latitude,
'customer_longitude'=>$result->customer_longitude,
'customer_id'=>$result->customer_id,
'customer_name'=>$result->customer_name,
'customer_photo'=>$result->customer_photo
);
return $resultArray;
} else { } else {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment