HEX
Server: Apache/2.4.41 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
System: Linux ip-172-31-40-18 4.14.146-93.123.amzn1.x86_64 #1 SMP Tue Sep 24 00:45:23 UTC 2019 x86_64
User: apache (48)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: //var/www/html/pmw24/driver_settlement/applicationold/controllers/admin/AccidentReport.php
<?php
defined('BASEPATH') or exit('No direct script access allowed');

class AccidentReport 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 GetCarList()
    {
        $return_new_array   = array();        
        $driver_id          = $this->input->post('driver_id');
        
        $car_list    = $this->Mdriver->get_car_list($driver_id);
        //pr($car_list);
        if (!empty($car_list)) {
            $return_new_array = $car_list;
            //pr($return_new_array);
        } else {
            $return_new_array = 'Blank';
        }
        echo json_encode($return_new_array);
    }
    public function   index() { 
        //$this->session->unset_userdata('driver_settlement');
        //echo $this->session->userdata('email');die;
        $this->_load_accident_report_list();        
    }   
    private function _load_accident_report_list() {
        $data                       = array();
        $responce_arr               = array();
        $order                      = '';
        $order_type                 = '';        
        $driver_list                = $this->Mdriver->get_driver_list('1');  
        if(!empty($driver_list)){
            $data['driver_list']    = $driver_list;
        }
        else{
            $data['driver_list']    = '';
        }        
        $driver_id                  = $this->input->post("driver_id");
        $car_id                     = $this->input->post("car_id");
        $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"))));
        
        $joindata   = array('select'        =>'DS.accident_installment,master_car.registration_no as car_no,master_user.dc_no,user_profile. first_name,user_profile.middle_name,user_profile.last_name,master_accident.accident_id,master_accident.accident_datetime as accident_date,accident_charge.total_amt',
                            'first_table'   =>'master_accident',
                            'second_table'  =>'master_user',
                            'dependency1'   =>'master_accident.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_car',
                            'dependency3'   =>'master_car.car_id = master_accident.car_id',
                            'join_type3'    =>'left',
                        /*********************************/   
                            'fifth_table'   =>'driver_settlement DS',
                            'dependency4'   =>'master_accident.driver_id = DS.driver_id',
                            'join_type4'    =>'left',
                        /*********************************/   
                            'sixth_table'   =>'accident_charge',
                            'dependency5'   =>'accident_charge.accident_id = master_accident.accident_id',
                            'join_type5'    =>'left'
                        );
        $cond   = array("accident_charge.total_amt !=" => 'NULL');
        $accd_report_data     = $this->mcommon->joinQuery($joindata,$cond,'result',$order,$order_type);
        //pr($accd_report_data);
        if(!empty($accd_report_data)){            
            
            $data['accd_report_data']     = $accd_report_data;
        }
        else{
            $data['accd_report_data']     = '';
        }
        $data['content']            = 'admin/report/accident/accident_report_list';
        $this->load->view('admin/layouts/index', $data);
    }
    public function AccidentReportGenerate() {
        $data         = array();
        $responce_arr = array();
        $driver_id    = $this->input->post("driver_id");
        $car_id       = $this->input->post("car_id");
        $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"))));

        //echo $from_date  = date('Y-m-d',strtotime($this->input->post("from_date")))."<br>";
        //echo $driver_id."<br>".$car_id."<br>".$from_date."<br>".$to_date;exit;
        $order                  = '';
        $order_type             = '';
        $joindata   = array('select'        =>'DS.accident_installment,master_car.registration_no as car_no,master_user.dc_no,user_profile.first_name,user_profile.middle_name,user_profile.last_name,master_accident.accident_id,master_accident.accident_datetime as accident_date,accident_charge.total_amt',
                            'first_table'   =>'master_accident',
                            'second_table'  =>'master_user',
                            'dependency1'   =>'master_accident.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_car',
                            'dependency3'   =>'master_car.car_id = master_accident.car_id',
                            'join_type3'    =>'left',
                        /*********************************/   
                            'fifth_table'   =>'driver_settlement DS',
                            'dependency4'   =>'master_accident.driver_id = DS.driver_id',
                            'join_type4'    =>'left',
                        /*********************************/   
                            'sixth_table'   =>'accident_charge',
                            'dependency5'   =>'accident_charge.accident_id = master_accident.accident_id',
                            'join_type5'    =>'left'
                        );
        
        $cond                 = "master_accident.driver_id =".$driver_id." and master_accident.car_id ='".$car_id."' and master_accident.accident_datetime between '".$from_date."' and '".$to_date."' AND accident_charge.total_amt != 'NULL'";
        $accd_report_data     = $this->mcommon->joinQuery($joindata,$cond,'result',$order,$order_type);
        //pr($accd_report_data);
        if(!empty($accd_report_data)){            
            
            $data['accd_report_data']     = $accd_report_data;
        }
        else{
            $data['accd_report_data']     = '';
        }
        $responce_arr['html'] = $this->load->view('admin/report/accident/ajax_accident_report',$data,true);
        echo json_encode($responce_arr);exit;
    }
    public function ReportDetails($accident_id) {
        $data             = array();
        $order            = '';
        $order_type       = '';       
        if(!empty($accident_id)){
             $total_amt_paid   = 0;
            $joindata   = array('select'    =>'DS.shift_id,DS.created_on as payment_dt,master_car.registration_no as car_no,master_user.dc_no,user_profile.first_name,user_profile.middle_name,user_profile.last_name,master_accident.accident_datetime as accident_date,accident_charge.*',
                            'first_table'   =>'master_accident',
                            'second_table'  =>'master_user',
                            'dependency1'   =>'master_accident.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_car',
                            'dependency3'   =>'master_car.car_id = master_accident.car_id',
                            'join_type3'    =>'left',
                        /*********************************/   
                            'fifth_table'   =>'driver_settlement DS',
                            'dependency4'   =>'master_accident.driver_id = DS.driver_id',
                            'join_type4'    =>'left',
                        /*********************************/   
                            'sixth_table'   =>'accident_charge',
                            'dependency5'   =>'accident_charge.accident_id = master_accident.accident_id',
                            'join_type5'    =>'left'
                        );
        
            $cond               = array('master_accident.accident_id' =>$accident_id);
            $accident_details   = $this->mcommon->joinQuery($joindata,$cond,'result',$order,$order_type);
           //pr($accident_details);
            if(!empty($accident_details)){

                foreach($accident_details as $val){                    
                    $total_amt_paid  = $total_amt_paid + $val['shift_amt'];                    
                }                
                $data['accident_details']   = $accident_details;
            }
            else{
                $data['accident_details']   = '';
            }
            if(!empty($val['shift_id'])){
                $data['due_amt']            = $accident_details [0]['total_amt'] - ($accident_details [0]['amt_pai']+$total_amt_paid);
            }
            else{
                $data['due_amt']            = $accident_details [0]['total_amt'] - $accident_details [0]['amt_pai'];
            } 
        }
        $data['content']    = 'admin/report/accident/accident_report_details';
        $this->load->view('admin/layouts/index', $data);
    }
}