Commit 65b69a7a by Tobin

dc

parent 678c927e
...@@ -45,13 +45,15 @@ class Ride extends CI_Controller { ...@@ -45,13 +45,15 @@ class Ride extends CI_Controller {
function excelMapping(){ function excelMapping(){
$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error'); $flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
if(!isset($_FILES) || empty($_FILES) || !isset($_FILES['import_file']) || if(!isset($_FILES) || empty($_FILES) || !isset($_FILES['import_file']) ||
empty($_FILES['import_file']) || !isset($_POST) || empty($_POST) || !isset($_POST['broker_id']) || empty($_FILES['import_file']) || !isset($_POST) || empty($_POST) ||
empty($_POST['broker_id']) || !isset($_POST['company_id']) || empty($_POST['company_id'])){ !isset($_POST['broker_id']) || empty($_POST['broker_id']) || !isset($_POST['company_id']) ||
empty($_POST['company_id'])){
$this->session->set_flashdata('message',$flashMsg); $this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Ride/import_ride')); redirect(base_url('Ride/import_ride'));
} }
$fileType = ''; $fileType = '';
$skipMapping = (isset($_POST['skipMapping']))?true:false;
$importedFile = ''; $importedFile = '';
$this->load->library('upload'); $this->load->library('upload');
...@@ -93,6 +95,26 @@ class Ride extends CI_Controller { ...@@ -93,6 +95,26 @@ class Ride extends CI_Controller {
redirect(base_url('Ride/import_ride')); redirect(base_url('Ride/import_ride'));
} }
$this->load->model('Broker_model');
$broker_data = $this->Broker_model->getBroker($_POST['broker_id']);
if($skipMapping && !empty($broker_data) && isset($broker_data->export_header) &&
!empty($broker_data->export_header) && isset($broker_data->mapped_header) &&
!empty($broker_data->mapped_header) &&
!empty($broker_data->export_header = json_decode($broker_data->export_header,true)) &&
$broker_data->export_header === $importData['headerArr']
){
$params = array('broker_id'=>$_POST['broker_id'],'company_id'=>$_POST['company_id'],
'file_type'=>$fileType,'import_file'=>$importedFile,
'header_order'=>$broker_data->mapped_header);
$this->session->set_flashdata('params',$params);
redirect(base_url('Ride/import'));
} else {
$this->db->update('brokers',array('export_header'=>json_encode($importData['headerArr'])),
array('broker_id'=>$_POST['broker_id']));
}
$template['fileType'] = $fileType; $template['fileType'] = $fileType;
$template['headerArr'] = $importData['headerArr']; $template['headerArr'] = $importData['headerArr'];
$template['broker_id'] = $_POST['broker_id']; $template['broker_id'] = $_POST['broker_id'];
...@@ -110,8 +132,7 @@ class Ride extends CI_Controller { ...@@ -110,8 +132,7 @@ class Ride extends CI_Controller {
$this->load->view('template',$template); $this->load->view('template',$template);
} }
function getImportDataCSV($importedFile = '', $headerRetFlag = 0, $headerOrder = array(), $data = array()){ function getImportDataCSV($importedFile='',$headerRetFlag=0,$headerOrder=array(),$data=array()){
$header = 0; $header = 0;
$insertArr = array(); $insertArr = array();
$headerArr = array(); $headerArr = array();
...@@ -210,6 +231,25 @@ class Ride extends CI_Controller { ...@@ -210,6 +231,25 @@ class Ride extends CI_Controller {
$tripBidStatus = (isset($headerOrder['37']) && isset($row[$headerOrder['37']]))? $tripBidStatus = (isset($headerOrder['37']) && isset($row[$headerOrder['37']]))?
$row[$headerOrder['37']]:''; $row[$headerOrder['37']]:'';
$locData = array('pLat'=>'0','pLng'=>'0','dLat'=>'0','dLng'=>'0');
if(isset($row[$headerOrder['23']]) && !empty($row[$headerOrder['23']])){
$locData = getLatLngFromLocation($row[$headerOrder['23']]);
if(!empty($locData)){
$locData['pLat'] = $locData['lat'];
$locData['pLng'] = $locData['lng'];
}
}
if(isset($row[$headerOrder['28']]) && !empty($row[$headerOrder['28']])){
$locData = getLatLngFromLocation($row[$headerOrder['28']]);
if(!empty($locData)){
$locData['dLat'] = $locData['lat'];
$locData['dLng'] = $locData['lng'];
}
}
$insertData = array( $insertData = array(
'broker_id' => $data['broker_id'], 'broker_id' => $data['broker_id'],
'company_id' => $data['company_id'], 'company_id' => $data['company_id'],
...@@ -225,6 +265,10 @@ class Ride extends CI_Controller { ...@@ -225,6 +265,10 @@ class Ride extends CI_Controller {
'trip_status' => $row[$headerOrder['12']], 'trip_status' => $row[$headerOrder['12']],
'vehicle_type' => $row[$headerOrder['13']], 'vehicle_type' => $row[$headerOrder['13']],
'patient_name' => $row[$headerOrder['2']].' '.$row[$headerOrder['1']], 'patient_name' => $row[$headerOrder['2']].' '.$row[$headerOrder['1']],
'drop_lat' => $locData['dLat'],
'drop_lng' => $locData['dLng'],
'pickup_lat' => $locData['pLat'],
'pickup_lng' => $locData['pLng'],
'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,
...@@ -353,11 +397,29 @@ class Ride extends CI_Controller { ...@@ -353,11 +397,29 @@ class Ride extends CI_Controller {
$tripBidStatus = (isset($headerOrder['37']) && isset($row[$headerOrder['37']]))? $tripBidStatus = (isset($headerOrder['37']) && isset($row[$headerOrder['37']]))?
$row[$headerOrder['37']]:''; $row[$headerOrder['37']]:'';
$insertData = array( $locData = array('pLat'=>'0','pLng'=>'0','dLat'=>'0','dLng'=>'0');
if(isset($row[$headerOrder['23']]) && !empty($row[$headerOrder['23']])){
$plocData = getLatLngFromLocation($row[$headerOrder['23']]);
if(!empty($plocData)){
$locData['pLat'] = $plocData['lat'];
$locData['pLng'] = $plocData['lng'];
}
}
if(isset($row[$headerOrder['28']]) && !empty($row[$headerOrder['28']])){
$dlocData = getLatLngFromLocation($row[$headerOrder['28']]);
if(!empty($dlocData)){
$locData['dLat'] = $dlocData['lat'];
$locData['dLng'] = $dlocData['lng'];
}
}
$insertData=array(
'broker_id' => $data['broker_id'], 'broker_id' => $data['broker_id'],
'company_id' => $data['company_id'], 'company_id' => $data['company_id'],
'customer_id' => $customerId, 'customer_id' => $customerId,
'age' => $row[$headerOrder['4']], 'age' => $row[$headerOrder['4']],
'phone' => $row[$headerOrder['5']], 'phone' => $row[$headerOrder['5']],
'trip_no' => $row[$headerOrder['7']], 'trip_no' => $row[$headerOrder['7']],
...@@ -368,6 +430,10 @@ class Ride extends CI_Controller { ...@@ -368,6 +430,10 @@ class Ride extends CI_Controller {
'trip_status' => $row[$headerOrder['12']], 'trip_status' => $row[$headerOrder['12']],
'vehicle_type' => $row[$headerOrder['13']], 'vehicle_type' => $row[$headerOrder['13']],
'patient_name' => $row[$headerOrder['2']].' '.$row[$headerOrder['1']], 'patient_name' => $row[$headerOrder['2']].' '.$row[$headerOrder['1']],
'drop_lat' => $locData['dLat'],
'drop_lng' => $locData['dLng'],
'pickup_lat' => $locData['pLat'],
'pickup_lng' => $locData['pLng'],
'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,
...@@ -390,24 +456,48 @@ class Ride extends CI_Controller { ...@@ -390,24 +456,48 @@ class Ride extends CI_Controller {
} }
function import(){ function import(){
$redirectFlag = 0;
$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error'); $flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
if(!isset($_POST) || empty($_POST) ||
!isset($_POST['broker_id']) || empty($_POST['broker_id']) || if(isset($_POST) && !empty($_POST)){
if(!isset($_POST['broker_id']) || empty($_POST['broker_id']) ||
!isset($_POST['file_type']) || empty($_POST['file_type']) || !isset($_POST['file_type']) || empty($_POST['file_type']) ||
!isset($_POST['company_id']) || empty($_POST['company_id']) || !isset($_POST['company_id']) || empty($_POST['company_id']) ||
!isset($_POST['import_file']) || empty($_POST['import_file']) || !isset($_POST['import_file']) || empty($_POST['import_file']) ||
!isset($_POST['header_order']) || empty($_POST['header_order'])){ !isset($_POST['header_order']) || empty($_POST['header_order'])){
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Ride/import_ride'));
}
$this->db->update('brokers',array('mapped_header'=>json_encode($_POST['header_order'])),
array('broker_id'=>$_POST['broker_id']));
} else {
if(empty($params = $this->session->flashdata('params')) ||
!isset($params['broker_id']) || empty($params['broker_id']) ||
!isset($params['file_type']) || empty($params['file_type']) ||
!isset($params['company_id']) || empty($params['company_id']) ||
!isset($params['import_file']) || empty($params['import_file']) ||
!isset($params['header_order']) || empty($params['header_order'])){
$this->session->set_flashdata('message',$flashMsg); $this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Ride/import_ride')); redirect(base_url('Ride/import_ride'));
} }
$redirectFlag = 1;
$_POST['file_type'] = $params['file_type'];
$_POST['broker_id'] = $params['broker_id'];
$_POST['company_id'] = $params['company_id'];
$_POST['import_file'] = $params['import_file'];
$_POST['header_order'] = json_decode($params['header_order'],true);
}
$data = array('broker_id'=>$_POST['broker_id'],'company_id'=>$_POST['company_id']); $data = array('broker_id'=>$_POST['broker_id'],'company_id'=>$_POST['company_id']);
switch($_POST['file_type']){ switch($_POST['file_type']){
case 'csv': case 'csv':
$respStatus = $this->getImportDataCSV($_POST['import_file'],1,$_POST['header_order'],$data); $respStatus=$this->getImportDataCSV($_POST['import_file'],1,$_POST['header_order'],$data);
break; break;
case 'xls': case 'xls':
case 'xlsx': case 'xlsx':
$respStatus = $this->getImportDataExcel($_POST['import_file'],1,$_POST['header_order'],$data); $respStatus=$this->getImportDataExcel($_POST['import_file'],1,$_POST['header_order'],$data);
break; break;
} }
...@@ -428,6 +518,24 @@ class Ride extends CI_Controller { ...@@ -428,6 +518,24 @@ class Ride extends CI_Controller {
} else { } else {
$respStatus['status'] = '0'; $respStatus['status'] = '0';
} }
if($redirectFlag == 1){
if ($respStatus['status'] == 0) {
$flashMsg['class'] = 'error';
$flashMsg['message'] = 'Something went wrong, please try again..!';
} else if ($respStatus['status'] == 2) {
$flashMsg['class'] = 'error';
$flashMsg['message'] = 'Invalid File given, please try again later..!';
} else if ($respStatus['status'] == 3) {
$flashMsg['class'] = 'error';
$flashMsg['message'] = 'No data found, please try again later..!';
} else if ($respStatus['status'] == 4) {
$flashMsg['class'] = 'error';
$flashMsg['message'] = 'Invalid header given, please try again later..!';
}
redirect(base_url('Ride/view_rides'));
}
echo json_encode($respStatus);exit; echo json_encode($respStatus);exit;
} }
...@@ -757,18 +865,19 @@ class Ride extends CI_Controller { ...@@ -757,18 +865,19 @@ class Ride extends CI_Controller {
if(empty($ride_data) || (isset($ride_data->is_scheduled) && $ride_data->is_scheduled != '0')) if(empty($ride_data) || (isset($ride_data->is_scheduled) && $ride_data->is_scheduled != '0'))
return $status; return $status;
$pickup_location = $ride_data->pickup_location;
$appointment_time = $ride_data->appointment_time; $appointment_time = $ride_data->appointment_time;
if(empty($pickup_location) || empty($appointment_time)) if(!isset($ride_data->drop_lat) || empty($ride_data->drop_lat) ||
!isset($ride_data->drop_lng) || empty($ride_data->drop_lng) ||
!isset($ride_data->pickup_lat) || empty($ride_data->pickup_lat) ||
!isset($ride_data->pickup_lng) || empty($ride_data->pickup_lng)){
return $status; return $status;
$pickupLocData = getLatLngFromLocation($pickup_location); }
$locData = array('dlat'=>$ride_data->drop_lat,'dlng'=>$ride_data->drop_lng,
'plat'=>$ride_data->pickup_lat,'plng'=>$ride_data->pickup_lng);
if(empty($pickupLocData)) $status = $this->Ride_model->autoAssignDriver
return $status; ($ride_id,$appointment_time,$locData,$drivers,$no_driver);
$status = $this->Ride_model->autoAssignDriver($ride_id,$appointment_time,
array('lat'=>$pickupLocData['lat'],'lng'=>$pickupLocData['lng']),
$drivers,$no_driver);
} else { } else {
$status = $this->Ride_model->changeSchuduleStatus($ride_id,$is_scheduled); $status = $this->Ride_model->changeSchuduleStatus($ride_id,$is_scheduled);
} }
......
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
include('excelReaderLibrary/SpreadsheetReader.php');
include('excelReaderLibrary/php-excel-reader/excel_reader.php');
?>
\ No newline at end of file
...@@ -42,7 +42,7 @@ class Ride_model extends CI_Model { ...@@ -42,7 +42,7 @@ class Ride_model extends CI_Model {
return ($status)?1:0; return ($status)?1:0;
} }
function getRideData($ride_id = '',$company_id = '',$broker_id = '',$scheduled = '',$condArr = array()){ function getRideData($ride_id='',$company_id='',$broker_id='',$scheduled='',$condArr=array()){
$cond = (!empty($ride_id))?" AND TD.transport_id = '$ride_id'":""; $cond = (!empty($ride_id))?" AND TD.transport_id = '$ride_id'":"";
$cond .= ($broker_id != '')?" AND TD.broker_id = '$broker_id'":""; $cond .= ($broker_id != '')?" AND TD.broker_id = '$broker_id'":"";
$cond .= (!empty($company_id))?" AND TD.company_id = '$company_id'":""; $cond .= (!empty($company_id))?" AND TD.company_id = '$company_id'":"";
...@@ -147,11 +147,13 @@ class Ride_model extends CI_Model { ...@@ -147,11 +147,13 @@ class Ride_model extends CI_Model {
$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 = '', $locData = array(),
$drivers = array(), $no_driver = '0'){ $drivers = array(), $no_driver = '0'){
if(empty($ride_id) || empty($appointment_time) || empty($pickupLoc) || if(empty($ride_id) || empty($appointment_time) || empty($locData) ||
!isset($pickupLoc['lat']) || $pickupLoc['lat'] == '' || !isset($locData['plat']) || $locData['plat'] == '' ||
!isset($pickupLoc['lng']) || $pickupLoc['lng'] == ''){ !isset($locData['plng']) || $locData['plng'] == '' ||
!isset($locData['dlat']) || $locData['dlat'] == '' ||
!isset($locData['dlng']) || $locData['dlng'] == ''){
return 0; return 0;
} }
...@@ -180,9 +182,9 @@ class Ride_model extends CI_Model { ...@@ -180,9 +182,9 @@ class Ride_model extends CI_Model {
} }
if(!empty($drivers)){ if(!empty($drivers)){
$sql = "SELECT DRV.driver_id, $sql = "SELECT DRV.driver_id,
3956*2*ASIN(SQRT(POWER(SIN((".$pickupLoc['lat']."-DRV.active_loc_lat)* 3956*2*ASIN(SQRT(POWER(SIN((".$locData['plat']."-DRV.active_loc_lat)*
pi()/180/2),2)+COS(".$pickupLoc['lat']."*pi()/180)*COS(DRV.active_loc_lat* pi()/180/2),2)+COS(".$locData['plat']."*pi()/180)*COS(DRV.active_loc_lat*
pi()/180)*POWER(SIN((".$pickupLoc['lng']."-DRV.active_loc_lng)* pi()/180)*POWER(SIN((".$locData['plng']."-DRV.active_loc_lng)*
pi()/180/2),2))) AS distance 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).") AND WHERE DRV.status = 1 AND DRV.driver_id IN (".implode(",",$drivers).") AND
......
...@@ -281,6 +281,12 @@ ...@@ -281,6 +281,12 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col-md-12" style="padding-left:30px;padding-bottom:10px;">
<input type="checkbox" name="skipMapping" checked>
<p style="display:inline;padding-left:10px;">
Auto skip Mapping Page (If mapping data is available)
</p>
</div>
<div class="col-md-12"> <div class="col-md-12">
<div class="box-footer"> <div class="box-footer">
<button type="submit" class="btn btn-primary">Upload</button> <button type="submit" class="btn btn-primary">Upload</button>
......
...@@ -168,16 +168,20 @@ ...@@ -168,16 +168,20 @@
$report_data = array(); $report_data = array();
if(!empty($ride_data)){ if(!empty($ride_data)){
foreach($ride_data as $ride) { foreach($ride_data as $ride) {
$ride_ids[] = $ride->transport_id; $schedFlag = 0;
$json_ride = json_decode($ride->data,true); $json_ride = json_decode($ride->data,true);
if(empty($json_ride)){ if(empty($json_ride)){
continue; continue;
} }
if($json_ride['Trip_Status'] == 'S1'){
$schedFlag = 1;
$ride_ids[] = $ride->transport_id;
}
?> ?>
<tr> <tr>
<th class="hidden"><?= $ride->transport_id ?></th> <th class="hidden"><?= $ride->transport_id ?></th>
<th class="center"> <th class="center">
<?php if($this->session->userdata['user_type'] != 1 && !empty($drivers_data)){ <?php if($schedFlag && $this->session->userdata['user_type'] != 1 && !empty($drivers_data)){
$style = 'style="color:red;";'; $style = 'style="color:red;";';
$ride->is_scheduled = (isset($ride->is_scheduled))?$ride->is_scheduled:0; $ride->is_scheduled = (isset($ride->is_scheduled))?$ride->is_scheduled:0;
if($ride->is_scheduled == 1){ if($ride->is_scheduled == 1){
......
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