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/DriverRefundSettlement.php
<?php 
defined('BASEPATH') OR exit('No direct script access allowed');

class DriverRefundSettlement extends MY_Controller {
	public function __construct() {
		parent::__construct();
		//$this->redirect_guest();
		$this->admin=$this->session->userdata('admin');
		$this->load->model('admin/Mdriverrefundsettlement');
		$this->load->model('admin/Mdriver');
		$this->load->model('admin/Mdriversettlement');
	}
	public function   index() { 
		//$this->session->unset_userdata('driver_settlement');
		//echo $this->session->userdata('email');die;
		$this->_load_bond_refund_list();		
	}	
	private function _load_bond_refund_list() {
	 // FUNCTION WRIITTEN IN COMMON HELPER
		$data					=  array();
		$dr_list  				=  array();
		$order 					= '';
		$order_type 			= '';
		$data['content'] 		= 'admin/driver_refund_settlement/bond_refund_procedure';
		$driver_list 			= $this->Mdriver->get_driver_list('1');
		if($driver_list){
			foreach($driver_list as $val){
				$cond_driver			= array('driver_id' =>$val['user_id'],'refund_settlement_flag' =>1);
				$dr_refund_settle_data 	= $this->Mdriverrefundsettlement->GetDriverRefundSettlement('driver_refund_settlement',$cond_driver);
				if(!empty($dr_refund_settle_data)){
					if($dr_refund_settle_data['bond_accumulated_amt'] !='0.00'){
						$dr_list[]	= $val;
					}
				}
				else{
					$dr_list[]	= $val;
				}
			}
		}
		$data['driver_list']	= $dr_list;
		//$data['driver_refund_settlement'] 	= $this->mcommon->getFullDetails('driver_refund_settlement');
		$joindata   = array('select'    	=>'DRS.*,master_user.dc_no,master_user.dc_no,user_profile.first_name,user_profile.middle_name,user_profile.last_name,master_bond.bond_amt',
	                        'first_table'   =>'master_bond',
	                        'second_table'  =>'driver_refund_settlement DRS',
                            'dependency1'   =>'DRS.bond_id = master_bond.bond_id',
                            'join_type1'    =>'left',                  
                        /********************************/ 
                           	'third_table'   =>'master_user',
                            'dependency2'   =>'master_user.user_id = DRS.driver_id',
                            'join_type2'    =>'inner',
                         /********************************/                            
                         	'forth_table'   =>'user_profile',
                            'dependency3'   =>'user_profile.user_id = master_user.user_id',
                            'join_type3'    =>'inner'
          				);
		//pr($data['driver_list']);
		$cond 			= array();
		$data['driver_refund_settlement'] 	= $this->mcommon->joinQuery($joindata,$cond,'result',$order,$order_type);
		//pr($data['driver_list']);
		$this->load->view('admin/layouts/index', $data);
		
	}
	public function ajaxDriverSettlementData(){
		$respons_arr	= array();
		$driver_id		= $this->input->post("driver_id");
		/*$joindata   = array('select'    	=>'DRS.*,master_user.dc_no,user_profile.first_name,user_profile.middle_name,user_profile.last_name,master_bond.bond_amt',
	                        'first_table'   =>'master_bond',
	                        'second_table'  =>'driver_refund_settlement DRS',
                            'dependency1'   =>'DRS.bond_id = master_bond.bond_id',
                            'join_type1'    =>'left',                  
                        /******************************** 
                           	'third_table'   =>'master_user',
                            'dependency2'   =>'master_user.user_id = DRS.driver_id',
                            'join_type2'    =>'inner',
                         /********************************                            
                         	'forth_table'   =>'user_profile',
                            'dependency3'   =>'user_profile.user_id = master_user.user_id',
                            'join_type3'    =>'inner'
          				);	*/
		$cond			= array('driver_id' => $driver_id);
		$dr_bond_data 	= $this->mcommon->getRow('master_bond',$cond);
		if(!empty($dr_bond_data)){
			$respons_arr['bond_amt']	= $dr_bond_data['bond_amt'];
			$bond_cond					= array('driver_id' => $driver_id);
			$dr_bond_refund_data 		= $this->Mdriverrefundsettlement->GetDriverRefundSettlement('driver_refund_settlement',$bond_cond);
			if(!empty($dr_bond_refund_data)){
				if($dr_bond_refund_data['refund_settlement_flag'] != '1'){
					$respons_arr['previous_refund_not_settle']	= '0';
				}
				else{
					$respons_arr['previous_refund_not_settle']	= '1';
					$respons_arr['bond_accumulated_amt']	= $dr_bond_refund_data['bond_accumulated_amt'];
				}
				
			}
			else{
				$respons_arr['bond_accumulated_amt']	= $dr_bond_data['initial_amt_paid'] + $dr_bond_data['installment_amt_paid'];
			}
		}
		else{
			$respons_arr['bond_amt']				= '0.00';
			$respons_arr['bond_accumulated_amt']	= '0.00';
		}
		$respons_arr['driver_id']		= $driver_id;
		//PR($respons_arr);
		echo json_encode($respons_arr);exit;
	}
	public function saveRefundSettlement(){
		//pr($_POST);
		$bond_settlement_data	= array();
		$driver_id		= $this->input->post('driver_id');
		$cond			= array('driver_id' => $driver_id);
		$dr_bond_data 	= $this->mcommon->getRow('master_bond',$cond);
		if(!empty($dr_bond_data)){
			$bond_settlement_data['bond_id']	= $dr_bond_data['bond_id'];			
		}
		$bond_settlement_data['driver_id']				= $driver_id;
		$bond_settlement_data['bond_accumulated_amt']	= $this->input->post('bond_accumulated_amt');
		$bond_settlement_data['refund_type']			= $this->input->post('refund_type');
		$bond_settlement_data['refund_amt']				= $this->input->post('refund_amt');
		$bond_settlement_data['notice_dt']				= $this->input->post('notice_date');
		$bond_settlement_data['bond_refund_due_dt']		= date('Y-m-d',strtotime($this->input->post('bond_refund_due_dt')));
		$bond_settlement_data['refund_settlement_flag']	= '0';
		$bond_settlement_data['payment_method_id']		= '';
		$bond_settlement_data['created_on']				= date('Y-m-d');
		//pr($bond_settlement_data);
		$this->mcommon->insert('driver_refund_settlement',$bond_settlement_data);
		redirect('admin/driver-refund-settlement');
	}
	public function bondRefundSettle($dr_refund_settlement_id) {

		$this->_load_refund_settle_view($dr_refund_settlement_id);
	}
	private function _load_refund_settle_view($dr_refund_settlement_id) {
		//echo $dr_refund_settlement_id;exit;
		$data		=  array();
		$order 		= '';
		$order_type = '';
		$joindata   = array('select'    	=>'DRS.*,master_user.dc_no,master_user.dc_no,user_profile.first_name,user_profile.middle_name,user_profile.last_name,master_bond.bond_amt',
	                        'first_table'   =>'master_bond',
	                        'second_table'  =>'driver_refund_settlement DRS',
                            'dependency1'   =>'DRS.bond_id = master_bond.bond_id',
                            'join_type1'    =>'left',                  
                        /********************************/ 
                           	'third_table'   =>'master_user',
                            'dependency2'   =>'master_user.user_id = DRS.driver_id',
                            'join_type2'    =>'inner',
                         /********************************/                            
                         	'forth_table'   =>'user_profile',
                            'dependency3'   =>'user_profile.user_id = master_user.user_id',
                            'join_type3'    =>'inner'
          				);
		//pr($data['driver_list']);
		$cond 			= array('DRS.dr_refund_settlement_id'=>$dr_refund_settlement_id);
		$data['driver_refund_settlement'] 	= $this->mcommon->joinQuery($joindata,$cond,'row',$order,$order_type);

		/******************* Payment method data ***************************/

		$payment_method_data	= $this->mcommon->getFullDetails('master_payment_method');
		if(!empty($payment_method_data)){
			$data['payment_method_data']	= $payment_method_data;
		}
		else{
			$data['payment_method_data']	= '';
		}
		$data['content'] 		= 'admin/driver_refund_settlement/settle';
		$this->load->view('admin/layouts/index', $data);
	}
	public function settleRefund(){
		if($this->input->post()){
			$driver_id	= $this->input->post('driver_id');
			$bond_amt 	='0.00';
			$cond 		= array('dr_refund_settlement_id' 	=> $this->input->post('dr_refund_settlement_id'));
			$updatearr	= array('bond_accumulated_amt' 		=> $this->input->post('bond_accumulated_amt') - $this->input->post('refund_amt'),
								'refund_amt' 		   		=> $this->input->post('refund_amt'),
								'payment_method_id' 	   	=> $this->input->post('payment_method'),
								'refund_settlement_flag' 	=> '1',
								'updated_on'				=> date('Y-m-d')
								);
			$this->mcommon->update('driver_refund_settlement',$cond,$updatearr);
			$refund_cond		= array('driver_id' => $driver_id,'refund_settlement_flag' => '1');
			$total_refund 		= $this->Mdriverrefundsettlement->totalRefund('driver_refund_settlement',$refund_cond);
			$bond_cond 			= array('driver_id' => $driver_id);
			$bond_data			= $this->mcommon->getRow('master_bond',$bond_cond);
			if(!empty($bond_data)){
				$bond_amt 	= $bond_data['bond_amt'];
			}
			$bond_updatearr	= array('total_refund_amt' 			=> $total_refund,
									'updated_by'				=> $this->session->userdata('user_data'),
									'updated_on'				=> date('Y-m-d')
								);			
			if($bond_amt == $total_refund){
				$bond_updatearr['bond_settlement_flag']	= '2';
			}
			$this->mcommon->update('master_bond',$bond_cond,$bond_updatearr);
		}
		redirect('admin/driver-refund-settlement');
	}
}