Commit f79e840d by Tobin

daily commit

parent d65f28cd
...@@ -733,15 +733,16 @@ class Ride extends CI_Controller { ...@@ -733,15 +733,16 @@ class Ride extends CI_Controller {
if($status == 1){ if($status == 1){
$succArr[] = $ride_id; $succArr[] = $ride_id;
} }
$result['status'] = '1';
$result['succArr'] = $succArr;
} }
} else { } else {
$status = $this->changeScheduler($ride_ids,$is_scheduled,$drivers,$no_driver); $status = $this->changeScheduler($ride_ids,$is_scheduled,$drivers,$no_driver);
if($status == 1){ if($status == 1){
$result['status'] = '1'; $succArr[] = $ride_ids;
$result['succArr'] = array($ride_ids); }
} }
if(!empty($succArr)){
$result['status'] = 1;
$result['succArr'] = $succArr;
} }
echo json_encode($result);exit; echo json_encode($result);exit;
} }
...@@ -753,9 +754,9 @@ class Ride extends CI_Controller { ...@@ -753,9 +754,9 @@ class Ride extends CI_Controller {
} }
if($is_scheduled == 1){ if($is_scheduled == 1){
$ride_data = $this->Ride_model->getRideData($ride_id); $ride_data = $this->Ride_model->getRideData($ride_id);
if(empty($ride_data) || (isset($ride_data->is_scheduled) && $ride_data->is_scheduled != '0'))
if(empty($ride_data))
return $status; return $status;
$pickup_location = $ride_data->pickup_location; $pickup_location = $ride_data->pickup_location;
$appointment_time = $ride_data->appointment_time; $appointment_time = $ride_data->appointment_time;
...@@ -768,11 +769,9 @@ class Ride extends CI_Controller { ...@@ -768,11 +769,9 @@ class Ride extends CI_Controller {
$status = $this->Ride_model->autoAssignDriver($ride_id,$appointment_time, $status = $this->Ride_model->autoAssignDriver($ride_id,$appointment_time,
array('lat'=>$pickupLocData['lat'],'lng'=>$pickupLocData['lng']), array('lat'=>$pickupLocData['lat'],'lng'=>$pickupLocData['lng']),
$drivers,$no_driver); $drivers,$no_driver);
if(!$status){ } else {
return $status;
}
}
$status = $this->Ride_model->changeSchuduleStatus($ride_id,$is_scheduled); $status = $this->Ride_model->changeSchuduleStatus($ride_id,$is_scheduled);
}
return $status; return $status;
} }
......
...@@ -10,7 +10,7 @@ class Ride_model extends CI_Model { ...@@ -10,7 +10,7 @@ class Ride_model extends CI_Model {
if(!empty($reason)){ if(!empty($reason)){
return $reason->result(); return $reason->result();
} }
return; return 0;
} }
function getTripType(){ function getTripType(){
...@@ -18,7 +18,7 @@ class Ride_model extends CI_Model { ...@@ -18,7 +18,7 @@ class Ride_model extends CI_Model {
if(!empty($tripType)){ if(!empty($tripType)){
return $tripType->result(); return $tripType->result();
} }
return; return 0;
} }
function uploadRides($insertArr = array(),$custInsrData = array()){ function uploadRides($insertArr = array(),$custInsrData = array()){
...@@ -68,7 +68,7 @@ class Ride_model extends CI_Model { ...@@ -68,7 +68,7 @@ class Ride_model extends CI_Model {
ORDER BY TD.transport_id DESC"; ORDER BY TD.transport_id DESC";
$ride_data = $this->db->query($sql); $ride_data = $this->db->query($sql);
if(empty($ride_data)){ if(empty($ride_data)){
return; return 0;
} }
return (!empty($ride_id))?$ride_data->row():$ride_data->result(); return (!empty($ride_id))?$ride_data->row():$ride_data->result();
} }
...@@ -124,12 +124,12 @@ class Ride_model extends CI_Model { ...@@ -124,12 +124,12 @@ class Ride_model extends CI_Model {
function changeSchuduleStatus($ride_id = '',$is_scheduled = '0'){ function changeSchuduleStatus($ride_id = '',$is_scheduled = '0'){
if(empty($ride_id)){ if(empty($ride_id)){
return; return 0;
} }
$upArr = array('is_scheduled'=>$is_scheduled); $upArr = array('is_scheduled'=>$is_scheduled);
if($is_scheduled == 0){ if($is_scheduled == 0){
$upArr['status'] = '0'; $upArr['status'] = '1';
$upArr['assigned_driver'] = '0'; $upArr['assigned_driver'] = '0';
$upArr['driver_assign_status'] = NULL; $upArr['driver_assign_status'] = NULL;
...@@ -142,34 +142,32 @@ class Ride_model extends CI_Model { ...@@ -142,34 +142,32 @@ class Ride_model extends CI_Model {
function deleteAssignedRider($ride_id = ''){ function deleteAssignedRider($ride_id = ''){
if(empty($ride_id)){ if(empty($ride_id)){
return; return 0;
} }
$this->db->delete('ride_status',array('ride_id'=>$ride_id)); $this->db->delete('ride_status',array('ride_id'=>$ride_id));
} }
function autoAssignDriver($ride_id = '', $appointment_time = '', $pickupLoc = array(), function autoAssignDriver($ride_id = '', $appointment_time = '', $pickupLoc = array(),
$drivers = array(), $no_driver = '0'){ $drivers = array(), $no_driver = '0'){
if(empty($ride_id)){ if(empty($ride_id) || empty($appointment_time) || empty($pickupLoc) ||
return; !isset($pickupLoc['lat']) || $pickupLoc['lat'] == '' ||
!isset($pickupLoc['lng']) || $pickupLoc['lng'] == ''){
return 0;
} }
if(!empty($drivers) && !empty($appointment_time) && !empty($pickupLoc) && $appTime = date("H:i",$appointment_time);
isset($pickupLoc['lat']) && !$pickupLoc['lat'] == '' && $arrTime = date("H:i",$appointment_time - 3600);
isset($pickupLoc['lng']) && !$pickupLoc['lng'] == ''){
$time = date("G:i",$appointment_time);
$date = date("d-m-Y",$appointment_time);
$endTime = date("G:i",strtotime($time) + 60 * 60); $endDateTime = $appointment_time + 1200;
$startTime = date("G:i",strtotime($time) - 90 * 60); $startDateTime = $appointment_time - 4800;
$endDateTime = strtotime($date.' '.$endTime); if(!empty($drivers)){
$startDateTime = strtotime($date.' '.$startTime);
$sql = "SELECT GROUP_CONCAT(TD.assigned_driver) AS assigned_drivers $sql = "SELECT GROUP_CONCAT(TD.assigned_driver) AS assigned_drivers
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 TD.is_scheduled='1' AND WHERE TD.driver_assign_status='0' AND TD.assigned_driver<>'0' AND
TD.is_scheduled='1' AND
TD.appointment_time>$startDateTime AND TD.appointment_time<$endDateTime AND TD.appointment_time>$startDateTime AND TD.appointment_time<$endDateTime AND
TD.status IN (4,5,8) AND TD.assigned_driver IN (".implode(",",$drivers).")"; TD.status IN (4,5,8) AND TD.assigned_driver IN (".implode(",",$drivers).")";
...@@ -185,11 +183,13 @@ class Ride_model extends CI_Model { ...@@ -185,11 +183,13 @@ class Ride_model extends CI_Model {
} }
if(!empty($drivers)){ if(!empty($drivers)){
$sql = "SELECT DRV.driver_id,3956*2*ASIN(SQRT(POWER(SIN((".$pickupLoc['lat']."-DRV.active_loc_lat)* $sql = "SELECT DRV.driver_id,3956*2*ASIN(SQRT(POWER(SIN((".$pickupLoc['lat']."
-DRV.active_loc_lat)*
pi()/180/2),2)+COS(".$pickupLoc['lat']."*pi()/180)*COS(DRV.active_loc_lat*pi()/180)* pi()/180/2),2)+COS(".$pickupLoc['lat']."*pi()/180)*COS(DRV.active_loc_lat*pi()/180)*
POWER(SIN((".$pickupLoc['lng']."-DRV.active_loc_lng)*pi()/180/2),2))) AS distance POWER(SIN((".$pickupLoc['lng']."-DRV.active_loc_lng)*pi()/180/2),2))) AS distance
FROM drivers AS DRV FROM drivers AS DRV
WHERE DRV.status = 1 AND DRV.driver_id IN (".implode(",",$drivers).") WHERE DRV.status = 1 AND DRV.driver_id IN (".implode(",",$drivers).") AND
DRV.online_start_time<'$arrTime' AND DRV.online_end_time>'$appTime'
ORDER BY distance ORDER BY distance
LIMIT 0,1"; LIMIT 0,1";
$driverData = $this->db->query($sql); $driverData = $this->db->query($sql);
...@@ -199,16 +199,32 @@ class Ride_model extends CI_Model { ...@@ -199,16 +199,32 @@ class Ride_model extends CI_Model {
$driver_id = $nearByDriver['driver_id']; $driver_id = $nearByDriver['driver_id'];
$status = $this->db->update('transport_details', $status = $this->db->update('transport_details',
array('driver_assign_status'=>'0', array('driver_assign_status'=>'0','is_scheduled'=>'1',
'assigned_driver'=>$driver_id,'status'=>'3'), 'assigned_driver'=>$driver_id,'status'=>'3'),
array('transport_id'=>$ride_id)); array('transport_id'=>$ride_id));
return $status; return $status;
} }
} }
} }
$assignStatus = ($no_driver == '1')?'2':'1'; if($no_driver == '1'){
$company_id = $this->session->userdata['id'];
$sql = "SELECT transport_id
FROM transport_details
WHERE company_id='$company_id' AND driver_assign_status='2' AND
appointment_time>=$startDateTime AND appointment_time<=$endDateTime AND
status IN (4,5,8)";
$noDrvAvl = $this->db->query($sql);
if(!empty($noDrvAvl) && $noDrvAvl->num_rows() <= 0){
$status = $this->db->update('transport_details',
array('driver_assign_status'=>'2','status'=>'4','is_scheduled'=>'1'),
array('transport_id'=>$ride_id));
return $status;
}
}
$status = $this->db->update('transport_details', $status = $this->db->update('transport_details',
array('driver_assign_status'=>$assignStatus,'status'=>'3'), array('driver_assign_status'=>'1','status'=>'3','is_scheduled'=>'1'),
array('transport_id'=>$ride_id)); array('transport_id'=>$ride_id));
return $status; return $status;
} }
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
data-autoclose="true" style="padding-right: 5px;width: 50%;"> data-autoclose="true" style="padding-right: 5px;width: 50%;">
<div class="input-group date" id='online_start_time'> <div class="input-group date" id='online_start_time'>
<input type="text" class="form-control required" data-parsley-trigger="change" <input type="text" class="form-control required" data-parsley-trigger="change"
name="online_start_time" value="<?= date('G:i',$driver_data->online_start_time)?>" name="online_start_time" value="<?= $driver_data->online_start_time ?>"
data-parsley-minlength="2" required="" placeholder="Pick Online Check In Time" autocomplete="off"> data-parsley-minlength="2" required="" placeholder="Pick Online Check In Time" autocomplete="off">
<div class="input-group-addon"> <div class="input-group-addon">
<i class="fa fa-clock-o"></i> <i class="fa fa-clock-o"></i>
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
data-autoclose="true" style="padding-left: 5px;width: 50%;"> data-autoclose="true" style="padding-left: 5px;width: 50%;">
<div class="input-group date" id='online_end_time'> <div class="input-group date" id='online_end_time'>
<input type="text" class="form-control required" data-parsley-trigger="change" <input type="text" class="form-control required" data-parsley-trigger="change"
value="<?= date('G:i',$driver_data->online_end_time) ?>" data-parsley-minlength="2" required="" value="<?= $driver_data->online_end_time ?>" data-parsley-minlength="2" required=""
name="online_end_time" placeholder="Pick Online Check Out Time" autocomplete="off"> name="online_end_time" placeholder="Pick Online Check Out Time" autocomplete="off">
<div class="input-group-addon"> <div class="input-group-addon">
<i class="fa fa-clock-o"></i> <i class="fa fa-clock-o"></i>
......
...@@ -119,7 +119,7 @@ ...@@ -119,7 +119,7 @@
<?php <?php
$online_time = ' -- '; $online_time = ' -- ';
if(!empty($driver_data->online_start_time) && !empty($driver_data->online_end_time)){ if(!empty($driver_data->online_start_time) && !empty($driver_data->online_end_time)){
$online_time = date('G:i',$driver_data->online_start_time).' - '.date('G:i',$driver_data->online_end_time); $online_time = $driver_data->online_start_time.' - '.$driver_data->online_end_time;
}?> }?>
<div class="form-group has-feedback"> <div class="form-group has-feedback">
<div class="col-md-5" > <div class="col-md-5" >
......
...@@ -243,6 +243,10 @@ jQuery('[id="scheduleAll"]').click(function(){ ...@@ -243,6 +243,10 @@ jQuery('[id="scheduleAll"]').click(function(){
if(ride_ids==undefined || ride_ids=='undefined' || ride_ids==null || ride_ids=='null' || ride_ids==''){ if(ride_ids==undefined || ride_ids=='undefined' || ride_ids==null || ride_ids=='null' || ride_ids==''){
return false; return false;
} }
if(!jQuery("[is_scheduled='0']").length){
setErrModal('Ride Schedule Status','Currently there is no unscheduled ride available..!');
return false;
}
markAsScheduled(ride_ids,'0'); markAsScheduled(ride_ids,'0');
}); });
......
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