File: //var/www/html/taxicamera/pmw_live_testing/application/models/admin/Mdriversettlement.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Mdriversettlement extends CI_Model {
public function __construct() {
parent::__construct();
}
public function totalDockets($table,$condition){
$result = array();
$total_docket = 0.00;
$this->db->select('sum(value) as total_docket');
$this->db->from($table);
$this->db->where($condition);
$query = $this->db->get();
$result = $query->row_array();
if(!empty($result) && !empty($result['total_docket'])){
$total_docket = $result['total_docket'];
}
return $total_docket;
}
public function totalExpense($table,$condition){
$result = array();
$total_expense = 0.00;
$this->db->select('sum(value) as total_expense');
$this->db->from($table);
$this->db->where($condition);
$query = $this->db->get();
$result = $query->row_array();
if(!empty($result) && !empty($result['total_expense'])){
$total_expense = $result['total_expense'];
}
return $total_expense;
}
public function AccidentInstallment($cond_accident_installment){
$result = array();
$total_accident_installment = 0.00;
$this->db->select('sum(shift_amt) as total_accident_installment');
$this->db->from('master_accident');
$this->db->join('accident_charge', 'master_accident.accident_id = accident_charge.accident_id', 'left');
$this->db->where($cond_accident_installment);
$query = $this->db->get();
//echo $this->db->last_query(); die();
$result = $query->row_array();
if(!empty($result) && !empty($result['total_accident_installment'])){
$total_accident_installment = $result['total_accident_installment'];
}
return $total_accident_installment;
}
public function GetAccidentData($cond_accident_installment){
$result = array();
$total_accident_installment = 0.00;
$this->db->select('master_accident.*,accident_charge.*');
$this->db->from('master_accident');
$this->db->join('accident_charge', 'master_accident.accident_id = accident_charge.accident_id', 'left');
$this->db->where($cond_accident_installment);
$query = $this->db->get();
//echo $this->db->last_query(); die();
$result = $query->result_array();
return $result ;
}
public function getCommission($commission_cond){
$result = array();
$driver_share = 0.00;
$this->db->select('master_commission.owner_share as driver_share');// owner share for logic change from client end
$this->db->from('user_profile');
$this->db->join('master_commission', 'user_profile.dr_commission_id = master_commission.commission_id', 'left');
$this->db->where($commission_cond);
$query = $this->db->get();
//echo $this->db->last_query(); die();
$result = $query->row_array();
//pr($result);
if(!empty($result) && !empty($result['driver_share'])){
$driver_share = $result['driver_share'];
}
return $driver_share;
}
public function get_ongoing_shift_details($shift_id){
$query="SELECT r.roster_id,rdm.roster_driver_id,dsd.*,r.car_id,mc.registration_no,mc.levy_applicable,CASE WHEN rsm.shift_name = 'D' THEN 'DAY (4am to 4pm)' WHEN rsm.shift_name = 'N' THEN 'NIGHT (4pm to 4am)' ELSE 'HUNGRY (4am to 4am)' END as shift_name,date_format(r.day_date,'%d/%m/%Y') as day_date,r.dayname FROM driver_shift_details dsd
INNER JOIN roster_driver_maping rdm ON rdm.roster_driver_id=dsd.roster_driver_id
INNER JOIN roster_shift_maping rsm ON rsm.roster_shift_id=rdm.roster_shift_id
INNER JOIN roster r ON r.roster_id=rdm.roster_id
INNER JOIN master_car mc ON mc.car_id=r.car_id
WHERE dsd.shift_id='".$shift_id."'";
$run_query=$this->db->query($query);
$result=$run_query->row_array();
return $result;
}
public function get_shift_details_bulk ($driver_id){
$query="SELECT ds.dr_settlement_id,ds.bulk_settlement_flag,ds.bulk_settlement_ts,p.*,mu.dc_no,up.dr_rental,up.profile_photo,date_format(up.dr_licence_expiry,'%d/%m/%Y') as dr_licence_expiry,date_format(up.dr_dc_expiry,'%d/%m/%Y') as dr_dc_expiry,dsd.shift_no,date_format(r.day_date,'%d/%m/%Y') as day_date,mc.registration_no as car_no
FROM driver_settlement ds
INNER JOIN payin p ON p.payin_id=ds.payin_id
INNER JOIN driver_shift_details dsd ON dsd.shift_id=p.shift_id
INNER JOIN roster_driver_maping rdm ON rdm.roster_driver_id=dsd.roster_driver_id
INNER JOIN roster_shift_maping rsm ON rsm.roster_shift_id=rdm.roster_shift_id
INNER JOIN roster r ON r.roster_id=rdm.roster_id
INNER JOIN master_car mc ON mc.car_id=r.car_id
INNER JOIN master_user mu ON mu.user_id=ds.driver_id
INNER JOIN user_profile up ON up.user_id=ds.driver_id
WHERE ds.driver_id='".$driver_id."' AND ds.bulk_settlement_flag = 1 AND p.driver_settlement_flag <> 1 ORDER BY ds.bulk_settlement_ts DESC";
$run_query=$this->db->query($query);
$result=$run_query->result_array();
return $result;
}
public function check_service_notification($shift_id,$payin_id){
$query="SELECT check_service_notification('".$shift_id."','".$payin_id."') as notification_flag";
$run_query=$this->db->query($query);
$result=$run_query->row_array();
return $result;
}
}