File: //var/www/html/taxicamera/application/controllers/admin/BondReport.php
<?php
defined('BASEPATH') or exit('No direct script access allowed');
class BondReport extends MY_Controller
{
public function __construct()
{
parent::__construct();
//$this->redirect_guest();
$this->admin = $this->session->userdata('admin');
$this->load->model('admin/mreport');
$this->load->model('admin/Mdriver');
if ($this->session->userdata('admin') != 1) {
redirect('admin');
}
}
public function index() {
//$this->session->unset_userdata('driver_settlement');
//echo $this->session->userdata('email');die;
$this->_load_bond_report_list();
}
private function _load_bond_report_list() {
$data = array();
$driver_list = $this->Mdriver->get_driver_list('1');
if(!empty($driver_list)){
$data['driver_list'] = $driver_list;
}
else{
$data['driver_list'] = '';
}
$data['content'] = 'admin/report/bond/bond_report_list';
$this->load->view('admin/layouts/index', $data);
}
public function BondReportGenerate() {
$data = array();
$responce_arr = array();
$driver_id = $this->input->post("driver_id");
//echo $this->input->post("driver_id");exit;
$from_date='';
$to_date='';
if($this->input->post("from_date") && $this->input->post("to_date")){
$from_date = date('Y-m-d',strtotime(str_replace('/','-',$this->input->post("from_date"))));
$to_date = date('Y-m-d',strtotime(str_replace('/','-',$this->input->post("to_date"))));
}
$data = array();
$order = 'DS.dr_settlement_id';
$order_type = 'DESC';
$data['content'] = 'admin/driver_settlement/driver_settlement_list';
$joindata = array('select' =>'DS.*,master_car.registration_no as car_no,master_user.dc_no,user_profile.first_name,user_profile.middle_name,user_profile.last_name,master_bond.initial_amt_paid,dsd.shift_no,DS.created_on',
'first_table' =>'driver_settlement DS',
'second_table' =>'master_user',
'dependency1' =>'DS.driver_id = master_user.user_id',
'join_type1' =>'left',
/********************************/
'third_table' =>'user_profile',
'dependency2' =>'user_profile.user_id = master_user.user_id',
'join_type2' =>'left',
/*********************************/
'forth_table' =>'driver_shift_details dsd',
'dependency3' =>'dsd.shift_id = DS.shift_id',
'join_type3' =>'left',
/*********************************/
'fifth_table' =>'roster_driver_maping RDM',
'dependency4' =>'RDM.roster_driver_id = dsd.roster_driver_id',
'join_type4' =>'left',
/*********************************/
'sixth_table' =>'roster',
'dependency5' =>'RDM.roster_id = roster.roster_id',
'join_type5' =>'left',
/*********************************/
'seventh_table' =>'master_car',
'dependency6' =>'master_car.car_id = roster.car_id',
'join_type6' =>'left',
/*********************************/
'eighth_table' =>'master_bond',
'dependency7' =>'master_bond.driver_id = DS.driver_id',
'join_type7' =>'left'
);
$cond ='1 = 1';
if($driver_id){
$cond .= " and DS.driver_id ='".$driver_id."'";
}
if($from_date && $to_date){
$cond .=" and str_to_date(date_format(DS.created_on,'%Y-%m-%d'),'%Y-%m-%d') between '".$from_date."' and '".$to_date."'";
}
$bond_report_data = $this->mcommon->joinQuery($joindata,$cond,'result',$order,$order_type);
$order_1 = 'DS.last_settlement_date';
$order_type_1 = 'DESC';
$joindata_1 = array('select' =>'DS.*,master_user.dc_no,user_profile.first_name,user_profile.middle_name,user_profile.last_name,master_bond.initial_amt_paid',
'first_table' =>'driver_refund_settlement DS',
'second_table' =>'master_user',
'dependency1' =>'DS.driver_id = master_user.user_id',
'join_type1' =>'left',
/********************************/
'third_table' =>'user_profile',
'dependency2' =>'user_profile.user_id = master_user.user_id',
'join_type2' =>'left',
/********************************/
'forth_table' =>'master_bond',
'dependency3' =>'master_bond.driver_id = DS.driver_id',
'join_type3' =>'left',
);
$cond ='DS.refund_settlement_flag = 1';
if($driver_id){
$cond .= " and DS.driver_id ='".$driver_id."'";
}
if($from_date && $to_date){
$cond .=" and str_to_date(date_format(DS.last_settlement_date,'%Y-%m-%d'),'%Y-%m-%d') between '".$from_date."' and '".$to_date."'";
}
$bond_report_data_1 = $this->mcommon->joinQuery($joindata_1,$cond,'result',$order_1,$order_type_1);
$order_2 = 'master_bond.created_on';
$order_type_2 = 'DESC';
$joindata_2 = array('select' =>'master_user.dc_no,user_profile.first_name,user_profile.middle_name,user_profile.last_name,master_bond.initial_amt_paid,master_bond.created_on as updated_on,master_bond.bond_amt,master_bond.bond_refund_amt',
'first_table' =>'master_bond',
'second_table' =>'master_user',
'dependency1' =>'master_bond.driver_id = master_user.user_id',
'join_type1' =>'inner',
/********************************/
'third_table' =>'user_profile',
'dependency2' =>'user_profile.user_id = master_user.user_id',
'join_type2' =>'inner'
);
$cond ='1 = 1';
if($driver_id){
$cond .= " AND master_bond.driver_id ='".$driver_id."'";
}
if($from_date && $to_date){
$cond .=" and str_to_date(date_format(master_bond.created_on,'%Y-%m-%d'),'%Y-%m-%d') between '".$from_date."' and '".$to_date."'";
}
$bond_report_data_2 = $this->mcommon->joinQuery($joindata_2,$cond,'result',$order_2,$order_type_2);
//echo $this->db->last_query();die;
//pr($bond_report_data_1);
if(!empty($bond_report_data)){
$total_amt = 0;
$bond_refund_amt = 0;
foreach($bond_report_data as $val){
$total_amt = $total_amt+$val['bond_installment'];
}
foreach($bond_report_data_1 as $val1){
$bond_refund_amt = $bond_refund_amt+$val1['refund_amt'];
}
$total_amt +=$bond_report_data[0]['initial_amt_paid'];
$data['total_amt'] = number_format($total_amt,2);
$data['bond_refund_amt'] = number_format($bond_refund_amt,2);
$data['total_accumulated'] = number_format(($total_amt - $bond_refund_amt),2);
}
else{
$bond_report_data = array();
$data['total_amt'] = '0.00';
$data['bond_refund_amt'] ='0.00';
$data['total_accumulated'] ='0.00';
$data['bond_report_data'] = '';
if(!empty($bond_report_data_2)){
$total_amt = 0;
$bond_refund_amt = 0;
foreach($bond_report_data_2 as $val2){
$bond_refund_amt = $bond_refund_amt+$val2['bond_refund_amt'];
$total_amt +=$val2['initial_amt_paid'];
}
$data['total_amt'] = number_format($total_amt,2);
$data['bond_refund_amt'] = number_format($bond_refund_amt,2);
$data['total_accumulated'] = number_format(($total_amt - $bond_refund_amt),2);
$bond_report_data = array_merge($bond_report_data,$bond_report_data_2);
}
}
if(!empty($bond_report_data_1)){
$bond_report_data = array_merge($bond_report_data,$bond_report_data_1);
}
$data['bond_report_data'] = $bond_report_data;
//echo '<pre>';print_r($data);die;
$responce_arr['html'] = $this->load->view('admin/report/bond/ajax_bond_report',$data,true);
echo json_encode($responce_arr);exit;
}
}