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/taxicamera/old/applicationold/controllers/admin/DriverSettlement.php
<?php 
defined('BASEPATH') OR exit('No direct script access allowed');

class DriverSettlement extends MY_Controller {
	public function __construct() {
		parent::__construct();
		//$this->redirect_guest();
		$this->admin=$this->session->userdata('admin');
		$this->load->helper('download');	
		$this->load->model('admin/mdriver');
		$this->load->model('admin/mreport');
		
		$this->load->model('admin/Mdriversettlement');
	}
	public function  index() { 
		//$this->session->unset_userdata('driver_settlement');
		//echo $this->session->userdata('email');die;
		$this->_load_list_view_new_driver();		
	}	
	private function _load_list_view_new_driver() {
	 // FUNCTION WRIITTEN IN COMMON HELPER
		$data					=  array();
		$data['content'] 		= 'admin/driver_settlement/driver_settlement';
		$data['driver_list'] 	= $this->mdriver->get_driver_list('1','1');	
		//pr($data['driver_list']);
		$this->load->view('admin/layouts/index', $data);
		
	}
	public function ajaxDriverShiftDetails(){
		$shift_details		= array();
		$data				= array();
		$shift_data			= array();
		$drv_shift_data		= array();
		$week_array			= array();
		$shift_roster 		= array();
		$shift_roster_data	= array();
		$order_type			= '';
	 	$order				= '';
		$driver_id			= $this->input->post('driver_id');
		$current_dt 		= date('Y-m-d');
		$current_strtime 	= strtotime(date('Y-m-d'));
		$day_of_week 		= date('N', strtotime($current_dt));
		$given_date 		= strtotime($current_dt);
		$first_of_week 		=  date('Y-m-d', strtotime("- {$day_of_week} day", $given_date));
		$first_of_week 		= strtotime($first_of_week);
		for($i=1 ;$i<=7; $i++) {
		    $week_dt = date('Y-m-d', strtotime("+ {$i} day", $first_of_week));
		    $tmp_week_strtime	= strtotime("+ {$i} day", $first_of_week);
		    if($current_strtime < $tmp_week_strtime){

		    	$shift_roster_data['day']				=	strtoupper(date('D', $tmp_week_strtime));
		    	$shift_roster_data['shift_start_time']	=	' ';
		    	$shift_roster_data['shift_name']		=	' ';
		    }
		    else{
		    	
		    	$roster_joindata   = array('select'    		=>'roster.day_date,RSM.shift_name,DSD.shift_start_time',
					                        'first_table'   =>'roster_driver_maping RDM',
					                        'second_table'  =>'roster',
					                        'dependency1'   =>'RDM.roster_id = roster.roster_id',
					                        'join_type1'    =>'LEFT',
					                        /**********************************/                
				                            'third_table'   =>'roster_shift_maping RSM',
				                            'dependency2'   =>'RSM.roster_id = RDM.roster_id',
				                            'join_type2'    =>'LEFT',
				                            /********************************/
				                            'forth_table'   =>'driver_shift_details DSD',
				                            'dependency3'   =>'DSD.roster_driver_id = RDM.roster_driver_id',
				                            'join_type3'    =>'LEFT'
                            
	                      				);
				$shift_roster_cond		= array('RDM.driver_id' => $driver_id,'roster.day_date' =>$week_dt);
      			$shift_roster_list 		= $this->mcommon->joinQuery($roster_joindata,$shift_roster_cond,'result',$order,$order_type);
      			//pr($shift_roster_list,0);
      			if(!empty($shift_roster_list)){
      				foreach($shift_roster_list as $val_sft){      					
      					$shift_roster_data['day']				=	strtoupper(date('D', $tmp_week_strtime));		    			
		    			if(!empty($val_sft['shift_start_time'])){
		    				$shift_roster_data['shift_start_time']	=	'OK';
		    			}
		    			else{
		    				$shift_roster_data['shift_start_time']	=	'NO';
		    			}
		    			$shift_roster_data['shift_name']		=	$val_sft['shift_name'];
      				}
      				
      			}
      			else{
      					$shift_roster_data['day']					=	strtoupper(date('D', $tmp_week_strtime));
		    			$shift_roster_data['shift_start_time']		=	' ';
		    			$shift_roster_data['shift_name']			=	' ';
      			}
		    }
		    $shift_roster[]				= $shift_roster_data;
		}
		
		$data['shift_roster']  = $shift_roster;
		
	 	$joindata   = array(
			'select'    	=>'master_user.dc_no,user_profile.dr_rental,user_profile.profile_photo,user_profile.dr_licence_expiry,user_profile.dr_dc_expiry,driver_shift_details.shift_no ,driver_shift_details.shift_id ,roster.*,master_car.registration_no as car_no',
            'first_table'   =>'roster_driver_maping RDM',
            'second_table'  =>'roster',
            'dependency1'   =>'RDM.roster_id = roster.roster_id',
            'join_type1'    =>'INNER',
            /**********************************/      
            'third_table'   =>'master_car',
            'dependency2'   =>'master_car.car_id = roster.car_id',
            'join_type2'    =>'INNER',
            /********************************/
            'forth_table'   =>'master_user',
            'dependency3'   =>'master_user.user_id = RDM.driver_id',
            'join_type3'    =>'INNER',
            /********************************/
            'fifth_table'   =>'user_profile',
            'dependency4'   =>'user_profile.user_id = master_user.user_id',
            'join_type4'    =>'INNER',
             /********************************/
      		'sixth_table'   =>'driver_shift_details',
            'dependency5'   =>'driver_shift_details.roster_driver_id = RDM.roster_driver_id',
            'join_type5'    =>'INNER'	

         );			
	 	$cond			= array('RDM.driver_id' => $driver_id,'driver_shift_details.shift_status' => 2);
      	$shift_lists 	= $this->mcommon->joinQuery($joindata,$cond,'result','roster.day_date','DESC');
      	//pr($shift_lists,0);
      	if(!empty($shift_lists)){
      		foreach($shift_lists as $val){
      			$shift_data['dc']					= $val['dc_no'];
      			$shift_data['dr_dc_expiry']			= date('d/m/Y',STRTOTIME($val['dr_dc_expiry']));
      			$shift_data['dr_licence_expiry']	= date('d/m/Y',STRTOTIME($val['dr_licence_expiry']));
      			$shift_data['dr_rental']			= $val['dr_rental'];
      			$shift_data['shift_id'] 			= $val['shift_id'];
      			$shift_data['shift_no'] 			= $val['shift_no'];
      			$shift_data['car_no'] 				= $val['car_no'];
      			$shift_data['shift_date'] 			= date('d/m/Y',STRTOTIME($val['day_date']));
      			$shift_data['profile_photo'] 		= $val['profile_photo'];

      			$cond_shift		= array('shift_id' => $val['shift_id'],'driver_id' =>$driver_id,'driver_settlement_flag !=' =>'1');
      			$payin_lists 	= $this->mcommon->getROW('payin',$cond_shift);
      			if(!empty($payin_lists)){
					  $shift_data['payin_payout_amt']	= $payin_lists['total_payin_payout'];
					  $shift_data['settlement_amt'] 		= $payin_lists['settlement_amt'];
					  $shift_data['final_due_amt'] 		= $payin_lists['final_due_amt'];
					  $shift_data['rental_commission_flag'] = $payin_lists['rental_commission_flag'];
					  $driver_settlement_details = $this->mcommon->getRow('driver_settlement',array('payin_id'=>$payin_lists['payin_id']));
					  $shift_data['dr_settlement_id'] = !empty($driver_settlement_details)?$driver_settlement_details['dr_settlement_id']:'';

      			}
      			else{
					  $shift_data['payin_payout_amt']	= '';
					  $shift_data['settlement_amt'] 		= '';
					  $shift_data['final_due_amt'] 		= '';
					  $shift_data['rental_commission_flag'] = '';
					  $shift_data['dr_settlement_id']='';
      			}
      			$drv_shift_data[]  	= $shift_data;
      		}
      		$data['drv_shift_data']	= $drv_shift_data;
      		$shift_details['driver_shift_data']  = '1';
      	}
      	else{
      		$data['drv_shift_data']	= '';
      		$shift_details['driver_shift_data']  = '0';
		  }
		 
      	//pr($drv_shift_data);
      	//echo $this->load->view('admin/driver_settlement/ajax_driver_shift_details',$data,true);exit;
      	$shift_details['html']  = $this->load->view('admin/driver_settlement/ajax_driver_shift_details',$data,true);
		echo json_encode($shift_details);exit;
	}
	public function get_levy_report($start_date = null, $end_date = null, $driver_id = null, $company_id = null,$levy_settled_flag=null){
        
        if (!empty($start_date)  && !empty($end_date)) {
            $start_date = date('Y-m-d', strtotime(str_replace('/', '-', $start_date)));
            $end_date = date('Y-m-d', strtotime(str_replace('/', '-', $end_date)));
        }

        return $this->mreport->get_levy_report($start_date, $end_date, $driver_id, $company_id,$levy_settled_flag);
    }
	public function ajaxDriverSettlement(){
	//$this->session->unset_userdata('driver_settlement');
	//pr($this->session->userdata('driver_settlement'));
		$data 				= array();
		$driver_settlement	= array();
		$drv_shift_data		= array();
		$week_array			= array();
		$driver_expense 	= array();
		$driver_dockets 	= array();
		$settlement_details = array();
		$payment_options 	= array();
		$drv_dockets 		= array();
		$drv_dockets_data	= array();
		$shift_id			= $this->input->post('shift_id');
		$driver_id			= $this->input->post('driver_id');
		$dr_settlement_id	= $this->input->post('dr_settlement_id');
		$order_type			= '';
	 	$order				= '';
	 	$payment_options  	= $this->mcommon->getFullDetails('master_payment_method');
	 	if(!empty($payment_options)){
	 		$data['payment_options']	= $payment_options;
	 	}

	 	//******************* Driver settlement set session  ******************//
		$user_profile	= $this->mcommon->getRow('user_profile',array('user_id'=>$driver_id));
		$driver_settlement['dr_rental'] = 	$user_profile['dr_rental'];
		$this->session->unset_userdata('driver_settlement');
		//if($this->session->userdata('driver_settlement') ==''){
	 		getdatafromdb:$cond 		= array('driver_id' => $driver_id,'shift_id' =>$shift_id);
	 		//echo "fjaklsjl";exit;
			$driver_settlement_data  	= $this->mcommon->getRow('payin',$cond);
			//pr($driver_settlement_data);
			if(!empty($driver_settlement_data)){
					$driver_settlement['payin_id'] 				= $driver_settlement_data['payin_id'];
					$driver_settlement['shift_id'] 				= $shift_id;
					$driver_settlement['total_extra_start'] 	= $driver_settlement_data['total_extra_start'];
					$driver_settlement['total_extra_end'] 		= $driver_settlement_data['total_extra_end'];
					$driver_settlement['paid_km_start'] 		= $driver_settlement_data['paid_km_start'];
					$driver_settlement['paid_km_end'] 			= $driver_settlement_data['paid_km_end'];
					$driver_settlement['total_km_start'] 		= $driver_settlement_data['total_km_start'];
					$driver_settlement['total_km_end'] 			= $driver_settlement_data['total_km_end'];
					$driver_settlement['no_of_hiring_start'] 	= $driver_settlement_data['no_of_hiring_start']; 
					$driver_settlement['no_of_hiring_end'] 		= $driver_settlement_data['no_of_hiring_end'];
					$driver_settlement['extra_start'] 			= $driver_settlement_data['extra_start'];
					$driver_settlement['extra_end'] 			= $driver_settlement_data['extra_end'];
					$driver_settlement['speedo_reading_start'] 	= $driver_settlement_data['speedo_reading_start'];
					$driver_settlement['speedo_reading_end'] 	= $driver_settlement_data['speedo_reading_end'];
					$driver_settlement['bond_charges'] 			= $driver_settlement_data['bond_charges'];
					$driver_settlement['levy'] 					= $driver_settlement_data['levy'];
					$driver_settlement['no_of_whl'] 			= $driver_settlement_data['no_of_whl'];
					$driver_settlement['payin_reference_doc'] 	= $driver_settlement_data['payin_reference_doc'];
					$driver_settlement['settlement_amt'] 		= $driver_settlement_data['settlement_amt'];
					$driver_settlement['final_due_amt'] 		= $driver_settlement_data['final_due_amt'];
					$driver_settlement['rental_commission_flag'] = $driver_settlement_data['rental_commission_flag'];
					
					
					
				/*************** Driver Dockets ***************/
				//echo $driver_settlement['payin_id'];exit;
				$joindata   = array('select'    	=>'payin_dockets.*,master_docket.docket_name',
			                        'first_table'   =>'payin_dockets',
			                        'second_table'  =>'master_docket',
			                        'dependency1'   =>'payin_dockets.docket_id = master_docket.docket_id',
			                        'join_type1'    =>'left'
		                        );

				$cond_dockets 		= array('payin_id' => $driver_settlement_data['payin_id']);
				$driver_dockets  	= $this->mcommon->joinQuery($joindata,$cond_dockets,'result',$order,$order_type);
				if(!empty($driver_dockets)){
					foreach($driver_dockets as $dockets){
						$drv_dockets['payin_dockets_id']	= $dockets['payin_dockets_id'];
						$drv_dockets['docket_name']			= $dockets['docket_name'];
						$drv_dockets['docket_amount']		= $dockets['value'];
						$drv_dockets['docket_img']			= $dockets['doc_link'];

						$driver_settlement['driver_dockets'][]	= $drv_dockets;
					}
				}
				else{
					$driver_settlement['driver_dockets'] = '';
				}

				/*************** Driver Expense ***************/
				//pr($driver_settlement_data);
				$expense_joindata   = array('select'    	=>'payin_expenses.*,master_expense.expense_name',
					                        'first_table'   =>'payin_expenses',
					                        'second_table'  =>'master_expense',
					                        'dependency1'   =>'payin_expenses.expense_id = master_expense.expense_id',
					                        'join_type1'    =>'left'
				                        );

				$cond_expense 		= array('payin_id' => $driver_settlement_data['payin_id']);
				$driver_expense  	= $this->mcommon->joinQuery($expense_joindata,$cond_expense,'result',$order,$order_type);
				if(!empty($driver_expense)){
					foreach($driver_expense as $expenses){
						$drv_expenses['payin_expense_id']	= $expenses['payin_expense_id'];
						$drv_expenses['expense_name']		= $expenses['expense_name'];
						$drv_expenses['expense_amount']		= $expenses['value'];
						$drv_expenses['expense_img']		= $expenses['doc_link'];

						$driver_settlement['driver_expense'][]	= $drv_expenses;
					}
				}
				else{
					$driver_settlement['driver_expense'] = '';
				}
			}
			$this->session->set_userdata('driver_settlement', $driver_settlement);
			$payin_id  	= $driver_settlement_data['payin_id'];
	 	//}
	 	// else{
	 	// 	$driver_settlement 					= $this->session->userdata('driver_settlement');

	 	// 	if($driver_settlement['shift_id']	!= $shift_id){
	 	// 		$this->session->unset_userdata('driver_settlement');
	 	// 		//pr($this->session->userdata('driver_settlement'));
	 	// 		unset($driver_settlement['driver_dockets']);
	 	// 		unset($driver_settlement['driver_expense']);
	 	// 		goto getdatafromdb;
	 	// 	}
	 		
	 	// 	$payin_id 				= $driver_settlement['payin_id'];
	 	// }
		//******************* Driver Settlement Set Session End ******************//


		$total_settlement   	= $this->settlementCalculation($payin_id,$driver_id,$shift_id);
		//pr($total_settlement);
		if(!empty($total_settlement)){
			$data['total_settlement']	= $total_settlement;
		}

		$cond_bond  		= array('driver_id' => $driver_id);
		$bond_data 			= $this->mcommon->getRow('master_bond',$cond_bond);
		$data['bond_data']	= $bond_data;

		$unsettled_levy 	= $this->get_levy_report('', '',$driver_id,'',0);
		//echo '<pre>';print_r($unsettled_levy);die;
		if(!empty($unsettled_levy)){
			if ((isset($unsettled_levy[0]['levy']) && isset($unsettled_levy[0]['levy_gst']))) {
				$levy_with_gst = $unsettled_levy[0]['levy'];
			}
			else{
				$levy_with_gst = "0.00";
			}
			$data['total_levy_accumulate'] = $levy_with_gst;
		}
		else{
			$data['total_levy_accumulate'] = "0.00";
		}
		$cond_accident_installment 	= array('master_accident.driver_id' => $driver_id);
		$accident_data  			= $this->Mdriversettlement->GetAccidentData($cond_accident_installment);
		$data['accident_data']		= $accident_data;
		//pr($accident_data);
		$data['driver_id']			= $driver_id;
		$data['shift_id']			= $shift_id;
		$data['payin_id']			= $payin_id;
		$data['dr_settlement_id']	=$dr_settlement_id;

		$settlement_details['html']	= $this->load->view('admin/driver_settlement/ajax_driver_settlement',$data,true);
		echo json_encode($settlement_details);exit;
	}

	public function settlementCalculation($payin,$driver_id,$shift_id,$accident_installment= 0,$bond_total=0,$discount = 0,$other = 0,$flag =0,$amount_paid = 0,$rental_commission=''){
	//PR($this->session->userdata('driver_settlement'));
		$total_dockets			= 0;
		$total_expense			= 0;
		$dr_commission			= 0.00;
		$total_extra_amount		= 0.00;
		$levy_total				= 0.00;
		$no_of_whl				= 0.00; 
		$amount_due				= 0.00;
		$total 					= 0.00;
		$settlement_calculation	= array();
		$cond_payin 			= array('payin_id' => $payin);
		if($this->session->userdata('driver_settlement') !=''){
			$driver_settlement = $this->session->userdata('driver_settlement');
		}
		/****************** total Dockets ***************/
			//$settlement_calculation['total_dockets']	= number_format($total_dockets,2);

			if(!empty($driver_settlement['driver_dockets'])){
				foreach($driver_settlement['driver_dockets'] as $dockets_val){					
					$total_dockets	= $total_dockets+$dockets_val['docket_amount'];
				}
			}
			$settlement_calculation['total_dockets']	= number_format($total_dockets,2,'.','');

		/****************** total Expense ***************/
			if(!empty($driver_settlement['driver_expense'])){
				foreach($driver_settlement['driver_expense'] as $expense_val){					
					$total_expense	= $total_expense+$expense_val['expense_amount'];
				}
			}
			$settlement_calculation['total_expense']	= number_format($total_expense,2,'.','');

		/******************* total Accident Installment ***************/
			if($flag == 0){
				$cond_accident_installment 	= array('master_accident.driver_id' => $driver_id,'master_accident.shift_id' => $shift_id);
				$accident_installment  		= $this->Mdriversettlement->AccidentInstallment($cond_accident_installment);
				$bond_total					= $driver_settlement['bond_charges'];
			}
		/******************* Driver comission ***************************/
			$commission_cond 	= array('user_id' => $driver_id);
			$dr_commission		= $this->Mdriversettlement->getCommission($commission_cond);

		/******************* Levy rate ***************************/
			
			

			$ongoing_shift_details = $this->Mdriversettlement->get_ongoing_shift_details($driver_id);
          
			$levy_rate = 0;
			if(!empty($ongoing_shift_details['levy_applicable']) && ($ongoing_shift_details['levy_applicable'] == 1)){
				$levy_data			= $this->mcommon->getFullDetails('master_levy')[0];			
				$levy_rate			= $levy_data['levy_rate'];
			}
		/******************* other total***************************/
			
			if(!empty($driver_settlement)){
				
				$total_extra_amount = ($driver_settlement['total_extra_end'] - $driver_settlement['total_extra_start'])*($dr_commission/100);
				$levy_total			= ($driver_settlement['no_of_hiring_end'] - $driver_settlement['no_of_hiring_start'])*$levy_rate;
				$lifting_share=$this->mcommon->getRow('master_lifting_fee',array());
				$no_of_whl			= $driver_settlement['no_of_whl'] * $lifting_share['gtn_share'];
				
				if(!empty($total_extra_amount)){
					$settlement_calculation['total_extra_amount']	= number_format($total_extra_amount,2,'.','');
				}
				else{
					$settlement_calculation['total_extra_amount']	= '0.00';
				}
				if(!empty($levy_total)){
					$settlement_calculation['levy_total']	= number_format($levy_total,2,'.','');
				}
				else{
					$settlement_calculation['levy_total']	= '0.00';
				}
				if(!empty($accident_installment)){
					$settlement_calculation['accident_installment']	= number_format($accident_installment,2,'.','');
				}
				else{
					$settlement_calculation['accident_installment']	= '0.00';
				}
				if(!empty($bond_total)){
					$settlement_calculation['bond_total']	= number_format($bond_total,2,'.','');
				}
				else{
					$settlement_calculation['bond_total']	= '0.00';
				}
				if(!empty($no_of_whl)){
					$settlement_calculation['no_of_whl']	= number_format($no_of_whl,2,'.','');
				}
				else{
					$settlement_calculation['no_of_whl']	= '0';
				}
				if(!empty($other)){
					$settlement_calculation['other']	= number_format($other,2,'.','');
				}
				else{
					$settlement_calculation['other']	= '0.00';
				}
				$settlement_calculation['settlement_amt'] 		= $driver_settlement['settlement_amt'];
				$settlement_calculation['final_due_amt'] 		= $driver_settlement['final_due_amt'];
				$settlement_calculation['rental_commission_flag'] = $driver_settlement['rental_commission_flag'];
				//echo $rental_commission;die;
				//echo $total_extra_amount."<br>".$levy_total."<br>".$accident_installment."<br>".$bond_total."<br>".$no_of_whl."<br>".$total_dockets."<br>".$total_expense."<br>".$other."<br>".$discount;exit;
				$payin_details = $this->mcommon->getRow('payin',array('payin_id'=>$payin));
				
					
				
				
				if($driver_settlement['rental_commission_flag'] == $rental_commission){
					
					$amount_paid = (empty($amount_paid))?($payin_details['settlement_amt'] - $payin_details['final_due_amt']) : $amount_paid;
					$amount_due			= (($total_extra_amount + $levy_total+$accident_installment+$bond_total+$no_of_whl) - ($total_dockets + $total_expense + $other + $discount + $amount_paid));
					$total 				= $amount_due;
					//echo $amount_paid .'$$'.$amount_due;die;

				} else {

					$amount_paid = 0;
					$amount_due			= (($total_extra_amount + $levy_total+$accident_installment+$bond_total+$no_of_whl) - ($total_dockets + $total_expense + $other + $discount + $amount_paid));
					$total 				= $amount_due;

				}
				
				$settlement_calculation['amount_paid'] = $amount_paid;
				if(!empty($amount_due)){
					$settlement_calculation['amount_due']	= number_format($amount_due,2,'.','');
				}
				else{
					$settlement_calculation['amount_due']	= '0.00';
				}
				if(!empty($discount)){
					$settlement_calculation['discount']	= number_format($discount,2,'.','');
				}
				else{
					$settlement_calculation['discount']	= '0.00';
				}
				if(!empty($total)){
					$settlement_calculation['total']	= number_format($total,2,'.','');
				}
				else{
					$settlement_calculation['total']	= '0.00';
				}
				
			}	
		//pr($settlement_calculation);
		return 	$settlement_calculation;
	}
	public function saveDriverSettlement(){
		$respons_arr		= array();
		$driver_settlement  = array();
		$payin_id		= $this->input->post('payin_id');
		$start_value	= $this->input->post('start_value');
		$end_value		= $this->input->post('end_value');
		$start_colmn	= $this->input->post('start_colmn');
		$end_colmn		= $this->input->post('end_colmn');
		$condition		= array('payin_id' => $payin_id);
		$updateArr		= array($start_colmn => $start_value,
								$end_colmn	 => $end_value,
								'updated_ts' => date('Y-m-d h:i:s'),
								'updated_by' =>	$this->session->userdata('user_data')
							);
		//$update_Settlement	= $this->mcommon->update('payin',$condition,$updateArr);
		if($this->session->userdata('driver_settlement') !=''){
			$driver_settlement = $this->session->userdata('driver_settlement');
			$driver_settlement[$start_colmn] 	= $start_value;
			$driver_settlement[$end_colmn] 		= $end_value;						
		}
		
		$this->session->set_userdata('driver_settlement', $driver_settlement);

		// if($update_Settlement) {
			
			$respons_arr['process'] = 'success';
		// }
		// else{
		// 	$respons_arr['process'] = "failed";
		// }
		$driver_id				= $this->input->post('driver_id');
		$shift_id				= $this->input->post('shift_id');
		$payin_id				= $this->input->post('payin_id');
		$respons_arr['total_settlement']   	= $this->settlementCalculation($payin_id,$driver_id,$shift_id);
		echo json_encode($respons_arr);exit;
	}
	public function saveDriverDocket(){
		$respons_arr		= array();
		$payin_dockets_id	= $this->input->post('payin_dockets_id');
		$driver_docket_pr	= $this->input->post('driver_docket_pr');
		if($this->session->userdata('driver_settlement') !=''){
			$driver_settlement = $this->session->userdata('driver_settlement');
			if(!empty($driver_settlement['driver_dockets'])){
				foreach($driver_settlement['driver_dockets'] as $key => $value) {
					if($value['payin_dockets_id'] == $payin_dockets_id){
						$driver_settlement['driver_dockets'][$key]['docket_amount'] = $driver_docket_pr;
					}
				}
			}
			$this->session->set_userdata('driver_settlement', $driver_settlement);
			$respons_arr['process'] = 'success';
		}
		else{
			$respons_arr['process'] = "failed";
		}
		$driver_id				= $this->input->post('driver_id');
		$shift_id				= $this->input->post('shift_id');
		$payin_id				= $this->input->post('payin_id');
		$respons_arr['total_settlement']   	= $this->settlementCalculation($payin_id,$driver_id,$shift_id);
		//pr($respons_arr);
		echo json_encode($respons_arr);exit;
	}
	
	public function saveDriverExpense(){
		$payin_expense_id	= $this->input->post('payin_expense_id');
		$driver_expense_pr	= $this->input->post('driver_expense_pr');
		if($this->session->userdata('driver_settlement') !=''){
			$driver_settlement = $this->session->userdata('driver_settlement');
			if(!empty($driver_settlement['driver_expense'])){
				foreach($driver_settlement['driver_expense'] as $key => $value) {
					if($value['payin_expense_id'] == $payin_expense_id){
						$driver_settlement['driver_expense'][$key]['expense_amount'] = $driver_expense_pr;
					}
				}
			}
			$this->session->set_userdata('driver_settlement', $driver_settlement);
			$respons_arr['process'] = 'success';
		}
		else{
			$respons_arr['process'] = "failed";
		}
		$driver_id				= $this->input->post('driver_id');
		$shift_id				= $this->input->post('shift_id');
		$payin_id				= $this->input->post('payin_id');
		$respons_arr['total_settlement']   	= $this->settlementCalculation($payin_id,$driver_id,$shift_id);
		echo json_encode($respons_arr);exit;
	}
	public function  calculateDiscount(){
		$total_settlement			= array();
		$driver_id					= $this->input->post('driver_id');
		$shift_id					= $this->input->post('shift_id');
		$payin_id					= $this->input->post('payin_id');
		$discount 					= $this->input->post('discount');
		$other 						= $this->input->post('other');
		$accident_installment 		= $this->input->post('accident_installment');
		$bond_total 				= $this->input->post('bond_total');
		$amount_paid				= $this->input->post('amount_paid');
		$rental_commission			= $this->input->post('rental_commission');
		$flag 						= $this->input->post('flag');

		//echo $driver_id."<br>".$shift_id."<br>".$payin_id."<br>".$discount."<br>".$other."<br>".$accident_installment."<br>".$bond_total."<br>".$flag;exit;
		$total_settlement   		= $this->settlementCalculation($payin_id,$driver_id,$shift_id,$accident_installment,$bond_total,$discount,$other,$flag,$amount_paid,$rental_commission);
		//pr($total_settlement);
		echo json_encode($total_settlement);exit;
	}
	public function calculateDriverSettlement(){
		//echo '<pre>';print_r($this->session->userdata('driver_settlement'));die;
		$dr_settlement_id = $this->input->post('dr_settlement_id');
		$driver_settlement = $this->session->userdata('driver_settlement');
		if(empty($dr_settlement_id)){
			if($this->session->userdata('driver_settlement') !=''){
				$driver_settlement = $this->session->userdata('driver_settlement');
				$settlement_inst	= array(
					'payin_id' 				=> $driver_settlement['payin_id'],
					'total_extra_start' 	=> $driver_settlement['total_extra_start'],
					'total_extra_end' 		=> $driver_settlement['total_extra_end'],
					'paid_km_start' 		=> $driver_settlement['paid_km_start'],
					'paid_km_end' 			=> $driver_settlement['paid_km_end'],
					'total_km_start' 		=> $driver_settlement['total_km_start'],
					'total_km_end' 			=> $driver_settlement['total_km_end'],
					'no_of_hiring_start' 	=> $driver_settlement['no_of_hiring_start'],
					'no_of_hiring_end' 		=> $driver_settlement['no_of_hiring_end'],
					'extra_start' 			=> $driver_settlement['extra_start'],
					'extra_end'	 			=> $driver_settlement['extra_end'],
					'speedo_reading_start' 	=> $driver_settlement['speedo_reading_start'],
					'speedo_reading_end' 	=> $driver_settlement['speedo_reading_end']	
				);
			}
			$settlement_inst['driver_id']				= $this->input->post('driver_id');
			$settlement_inst['shift_id']				= $this->input->post('shift_id');
			$settlement_inst['total_docket']			= $this->input->post('total_dockets');
			$settlement_inst['total_expense']			= $this->input->post('total_expense');
			$settlement_inst['shift_levy']				= $this->input->post('levy_total');
			$settlement_inst['no_of_whl']				= $this->input->post('no_of_whl');
			
			$settlement_inst['accident_installment']	= $this->input->post('accident_installment');
			$settlement_inst['bond_installment']		= $this->input->post('bond_total');
			$settlement_inst['other']					= $this->input->post('other');
			$settlement_inst['amount_due']				= $this->input->post('amount_due');
			$settlement_inst['discount']				= $this->input->post('discount');
			$settlement_inst['credit_card_amt']			= $this->input->post('credit_card_amt');
			$settlement_inst['bank_transfer_amt']		= $this->input->post('bank_transfer_amt');
			$settlement_inst['cash_amt']				= $this->input->post('cash_amt');
			$settlement_inst['final_settlement_amt']	= $this->input->post('admin_total_payment');
			
			$final_due_amount = $this->input->post('final_due_amount') - $this->input->post('admin_total_payment');
			$settlement_inst['final_due_amt']		= $final_due_amount;
			$settlement_inst['created_by']          = $this->session->userdata('user_data');
			$settlement_inst['created_on']			= date('Y-m-d');
			//echo '<pre>';print_r($settlement_inst);die;
			$insert_id		= $this->mcommon->insert('driver_settlement',$settlement_inst);

			if(!empty($driver_settlement['driver_dockets'])){
				foreach($driver_settlement['driver_dockets'] as $key => $value) {
					$insrt_docket_arr	= array('dr_settlement_id' 		=> $insert_id,
												'payin_docket_id'		=> $value['payin_dockets_id'],
												'docket_settlement_amt'	=> $value['docket_amount']
										);
					$this->mcommon->insert('dr_settlement_docket',$insrt_docket_arr);
				}
			}
			if(!empty($driver_settlement['driver_expense'])){
				foreach($driver_settlement['driver_expense'] as $key => $val) {
					$insrt_expense_arr	= array('dr_settlement_id' 		=> $insert_id,
												'payin_expense_id'		=> $val['payin_expense_id'],
												'expense_settlement_amt'=> $val['expense_amount']
										);
					$this->mcommon->insert('dr_settlement_expense',$insrt_expense_arr);
				}
			}
			
		
		} else {
			
			$update_condition =array('dr_settlement_id'=>$dr_settlement_id);
			$driver_settlement_data = $this->mcommon->getRow('driver_settlement',$update_condition);
			
			$settlement_inst['accident_installment']	= $this->input->post('accident_installment');
			$settlement_inst['bond_installment']		= $this->input->post('bond_total');
			$settlement_inst['other']					= $this->input->post('other');
			$settlement_inst['amount_due']				= $this->input->post('amount_due');
			$settlement_inst['discount']				= $this->input->post('discount');
			
			$settlement_inst['credit_card_amt']			= $driver_settlement_data['credit_card_amt'] + $this->input->post('credit_card_amt');
			$settlement_inst['bank_transfer_amt']		= $driver_settlement_data['bank_transfer_amt'] + $this->input->post('bank_transfer_amt');
			$settlement_inst['cash_amt']				= $driver_settlement_data['cash_amt'] + $this->input->post('cash_amt');
			$settlement_inst['final_settlement_amt']	= $driver_settlement_data['final_settlement_amt'] +$this->input->post('admin_total_payment');
			
			$final_due_amount = $this->input->post('final_due_amount') - $this->input->post('admin_total_payment');
			$settlement_inst['final_due_amt']		= $final_due_amount;
			$settlement_inst['updated_by']          = $this->session->userdata('user_data');
			$settlement_inst['updated_on']			= date('Y-m-d');

			
			$insert_id=$this->mcommon->update('driver_settlement',$update_condition,$settlement_inst);

			
			
			$settlement_history['dr_settlement_id']	= $dr_settlement_id;
			$settlement_history['driver_id']	= $this->input->post('driver_id');
			$settlement_history['shift_id']	= $this->input->post('shift_id');
			$settlement_history['payin_id']	= $this->input->post('payin_id');
			$settlement_history['accident_installment']	= $this->input->post('accident_installment');
			$settlement_history['bond_installment']		= $this->input->post('bond_total');
			$settlement_history['other']					= $this->input->post('other');
			$settlement_history['amount_due']				= $this->input->post('amount_due');
			$settlement_history['discount']				= $this->input->post('discount');
			
			$settlement_history['credit_card_amt']			=  $this->input->post('credit_card_amt');
			$settlement_history['bank_transfer_amt']		= $this->input->post('bank_transfer_amt');
			$settlement_history['cash_amt']				= $this->input->post('cash_amt');
			$settlement_history['final_settlement_amt']	= $this->input->post('admin_total_payment');
			$settlement_history['created_by']          = $this->session->userdata('user_data');
			$settlement_history['created_on']			= date('Y-m-d');
			
			$insert_id = $this->mcommon->insert('driver_settlement_history',$settlement_history);


		}
		
		
		if($insert_id){
			
			$cond 					= array('payin_id' => $driver_settlement['payin_id']);
			$payin_details = $this->mcommon->getRow('payin',$cond);
			$update_payin			= array();
			
			$update_payin['final_due_amt'] = $final_due_amount;
			$update_payin['settlement_amt'] = (!empty($payin_details) && !empty($payin_details['settlement_amt']))?$payin_details['settlement_amt']:$this->input->post('final_due_amount');
			$update_payin['rental_commission_flag'] =(!empty($this->input->post('rental_hidden')))?'R':'C';
			if($final_due_amount == 0){
				$update_payin['driver_settlement_flag'] = '1';
			} else {
				$update_payin['driver_settlement_flag'] = '2';
			}
			
			$update_payin_result	= $this->mcommon->update('payin',$cond,$update_payin);

			/******************** SREELA(12/11/19) update - bond installment amount paid ********************************/

			$conds_bond 			= array('driver_id' => $this->input->post('driver_id'));
			$bond_datas				= $this->mcommon->getRow('master_bond',$conds_bond);
			if(!empty($bond_datas)){
				$bond_installment_amt_paid	= $this->input->post('bond_total') + $bond_datas['installment_amt_paid'];
				$bond_update_data			= array('installment_amt_paid' => $bond_installment_amt_paid,'updated_by' =>$this->session->userdata('user_data'),'updated_on' => date('Y-m-d'));
				$update_payin_result		= $this->mcommon->update('master_bond',$conds_bond,$bond_update_data);
			}

			/******************** SREELA(12/11/19) end ********************************/ 
			
				if($update_payin_result){
					
					if($this->input->post('cash_amt') > 0 && $this->input->post('total_amount') !=''){
					
					$daily_settlement_data['transaction_date'] =date('Y-m-d');
					$daily_settlement_data['payin_id'] =$driver_settlement['payin_id'];
					
					if($this->input->post('amount_due') > 0){
						$daily_settlement_data['transaction_type '] =1; //1=> Add,2=>Deduct
					}else{
						$daily_settlement_data['transaction_type '] =2; //1=> Add,2=>Deduct
					}
					
					$daily_settlement_data['5c_coins_qty'] =$this->input->post('5c_coins_qty');
					$daily_settlement_data['5c_coins_amt'] =$this->input->post('5c_coins_amt');
					$daily_settlement_data['10c_coins_qty'] =$this->input->post('10c_coins_qty');
					$daily_settlement_data['10c_coins_amt'] =$this->input->post('10c_coins_amt');
					$daily_settlement_data['20c_coins_qty'] =$this->input->post('20c_coins_qty');
					$daily_settlement_data['20c_coins_amt'] =$this->input->post('20c_coins_amt');
					$daily_settlement_data['50c_coins_qty'] =$this->input->post('50c_coins_qty');
					$daily_settlement_data['50c_coins_amt'] =$this->input->post('50c_coins_amt');
					$daily_settlement_data['1d_coins_qty'] =$this->input->post('1d_coins_qty');
					$daily_settlement_data['1d_coins_amt'] =$this->input->post('1d_coins_amt');
					$daily_settlement_data['2d_coins_qty'] =$this->input->post('2d_coins_qty');
					$daily_settlement_data['2d_coins_amt'] =$this->input->post('2d_coins_amt');
					$daily_settlement_data['5d_notes_qty'] =$this->input->post('5d_notes_qty');
					$daily_settlement_data['5d_notes_amt'] =$this->input->post('5d_notes_amt');
					$daily_settlement_data['10d_notes_qty'] =$this->input->post('10d_notes_qty');
					$daily_settlement_data['10d_notes_amt'] =$this->input->post('10d_notes_amt');
					$daily_settlement_data['20d_notes_qty'] =$this->input->post('20d_notes_qty');
					$daily_settlement_data['20d_notes_amt'] =$this->input->post('20d_notes_amt');
					$daily_settlement_data['50d_notes_qty'] =$this->input->post('50d_notes_qty');
					$daily_settlement_data['50d_notes_amt'] =$this->input->post('50d_notes_amt');
					$daily_settlement_data['100d_notes_qty'] =$this->input->post('100d_notes_qty');
					$daily_settlement_data['100d_notes_amt'] =$this->input->post('100d_notes_amt');
					$daily_settlement_data['total_amount'] 	=$this->input->post('total_amount');
					$daily_settlement_data['created_by'] 	=$this->session->userdata('user_data');
					$daily_settlement_data['created_ts'] 	=date('Y-m-d H:i:s');
					
					$transaction_id = $this->mcommon->insert('daily_transactions',$daily_settlement_data);
				}
			}

			echo "success";
		}
		else{
			echo "error";
		}
	}
	public function ListDriverSettlement() { 		
		$this->_load_settlement_list();		
	}	
	private function _load_settlement_list() {

		$data					=  array();
		$order 					= 'DS.created_on';
		$order_type 			= 'DESC';
		$data['content'] 		= 'admin/driver_settlement/driver_settlement_list';
		$joindata   = array('select'    	=>'dsd.shift_no,DS.*,master_car.registration_no as car_no,master_user.dc_no,master_user.dc_no,user_profile.first_name,user_profile.middle_name,user_profile.last_name',
	                        'first_table'   =>'driver_settlement DS',
	                        'second_table'  =>'master_user',
                            'dependency1'   =>'DS.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',
						/*********************************/
						'forth_table'   =>'driver_shift_details dsd',
						'dependency3'   =>'dsd.shift_id = DS.shift_id',
						'join_type3'    =>'inner',
						/*********************************/
                        	'fifth_table'   =>'roster_driver_maping RDM',
                            'dependency4'   =>'RDM.roster_driver_id = dsd.roster_driver_id',
                            'join_type4'    =>'inner',
                       	/*********************************/ 
                       		'sixth_table'   =>'roster',
                            'dependency5'   =>'RDM.roster_id = roster.roster_id',
                            'join_type5'    =>'inner',

                       	/*********************************/   
                        	'seventh_table'   =>'master_car',
                            'dependency6'   =>'master_car.car_id = roster.car_id',
                            'join_type6'    =>'inner'
          				);
		//pr($data['driver_list']);
		$cond 			= array();
		$data['driver_settlement_list'] 	= $this->mcommon->joinQuery($joindata,$cond,'result',$order,$order_type);
		//pr($data['driver_settlement_list']);
		$this->load->view('admin/layouts/index', $data);
	}
	public function DriverSettlementDetail($dr_settlement_id){
		$this->_load_settlement_deatils($dr_settlement_id);
	}
	public function DriverSettlementEditView($dr_settlement_id,$view_pg_flag){
		$this->_load_settlement_deatils($dr_settlement_id,$view_pg_flag);
	}
	private function _load_settlement_deatils($dr_settlement_id,$view_pg_flag='') {
		$data					=  array();
		$driver_settlement      =  array();
		$order 					= '';
		$order_type 			= '';
		$data['content'] 		= 'admin/driver_settlement/driver_settlement_list';
		$joindata   = array('select'    	=>'DS.*,dsd.shift_no,master_car.registration_no as car_no,roster.day_date as shift_dt,master_user.dc_no,master_user.dc_no,user_profile.dr_dc_expiry,user_profile.dr_licence_expiry,user_profile.first_name,user_profile.middle_name,user_profile.last_name,user_profile.profile_photo',
	                        'first_table'   =>'driver_settlement DS',
	                        'second_table'  =>'master_user',
                            'dependency1'   =>'DS.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',
                        /*********************************/
						'forth_table'   =>'driver_shift_details dsd',
						'dependency3'   =>'dsd.shift_id = DS.shift_id',
						'join_type3'    =>'inner',
						/*********************************/
                        	'fifth_table'   =>'roster_driver_maping RDM',
                            'dependency4'   =>'RDM.roster_driver_id = dsd.roster_driver_id',
                            'join_type4'    =>'inner',
                       	/*********************************/ 
                       		'sixth_table'   =>'roster',
                            'dependency5'   =>'RDM.roster_id = roster.roster_id',
                            'join_type5'    =>'inner',

                       	/*********************************/   
                        	'seventh_table'   =>'master_car',
                            'dependency6'   =>'master_car.car_id = roster.car_id',
                            'join_type6'    =>'inner'
          				);
	
		$cond 						= array('DS.dr_settlement_id' => $dr_settlement_id);
		$driver_settlement 			= $this->mcommon->joinQuery($joindata,$cond,'row',$order,$order_type);
		if(!empty($driver_settlement)){
			$data['driver_settlement_data']		= $driver_settlement;
		}
		else{
			$data['driver_settlement_data']		= '';
		}

		/*****************************************************************************************************/

		$joindata_dockets	= 	array(	'select'    	=>'DSD.dr_settlement_docket_id,DSD.dr_settlement_id,DSD.payin_docket_id,DSD.docket_settlement_amt as docket_amount,master_docket.docket_name,payin_dockets.doc_link as docket_img',
				                        'first_table'   =>'dr_settlement_docket DSD',
				                        'second_table'  =>'payin_dockets',
			                            'dependency1'   =>'DSD.payin_docket_id = payin_dockets.payin_dockets_id',
			                            'join_type1'    =>'left',
			                            /********************************/ 
			                           	'third_table'   =>'master_docket',
			                            'dependency2'   =>'payin_dockets.docket_id = master_docket.docket_id',
			                            'join_type2'    =>'left'
	                            );
		$dockets_cond 				= array('DSD.dr_settlement_id' => $dr_settlement_id);
		$settlement_dockets_data 	= $this->mcommon->joinQuery($joindata_dockets,$dockets_cond,'result',$order,$order_type); 
		//pr($settlement_dockets_data);               
		if(!empty($settlement_dockets_data)){
			$driver_settlement['driver_dockets']	= $settlement_dockets_data;
			$data['settlement_dockets_data']		= $settlement_dockets_data;
		}
		else{
			$data['settlement_dockets_data']		= '';
		}

		/*****************************************************************************************************/

		$joindata_expense	= 	array(	'select'    	=>'DSE.dr_settlement_expense_id,DSE.dr_settlement_id,DSE.payin_expense_id,DSE.expense_settlement_amt as expense_amount,master_expense.expense_name as expense_name,payin_expenses.doc_link as expense_img',
				                        'first_table'   =>'dr_settlement_expense DSE',
				                        'second_table'  =>'payin_expenses',
			                            'dependency1'   =>'DSE.payin_expense_id = payin_expenses.payin_expense_id',
			                            'join_type1'    =>'left',
			                            /********************************/ 
			                           	'third_table'   =>'master_expense',
			                            'dependency2'   =>'payin_expenses.expense_id = master_expense.expense_id',
			                            'join_type2'    =>'left'
	                            );
		$expense_cond 						= array('DSE.dr_settlement_id' => $dr_settlement_id);
		$settlement_expense_data 	= $this->mcommon->joinQuery($joindata_expense,$expense_cond,'result',$order,$order_type);
		if(!empty($settlement_expense_data)){
			$driver_settlement['driver_expense']	= $settlement_expense_data;
			$data['settlement_expense_data']		= $settlement_expense_data;
		}
		else{
			$data['settlement_expense_data']		= '';
		}
		$this->session->set_userdata('driver_settlement', $driver_settlement);
		if($view_pg_flag =='edit'){
			$data['content'] 			= 'admin/driver_settlement/driver_settlement_edit';
		}
		else{
			$data['content'] 			= 'admin/driver_settlement/driver_settlement_details';
		}		
		$this->load->view('admin/layouts/index', $data);
	}
	public function EditDriversettlement($dr_settlement_id){
		//pr($_POST);
		$data 		= array();
		if($this->input->post()){
			$data['total_extra_start']			= $this->input->post('total_extra_start');
			$data['total_extra_end']			= $this->input->post('total_extra_end');
			$data['paid_km_start']				= $this->input->post('paid_km_start');
			$data['paid_km_end']				= $this->input->post('paid_km_end');
			$data['total_km_start']				= $this->input->post('total_km_start');
			$data['total_km_end']				= $this->input->post('total_km_end');
			$data['no_of_hiring_start']			= $this->input->post('no_of_hiring_start');
			$data['no_of_hiring_end']			= $this->input->post('no_of_hiring_end');
			$data['extra_start']				= $this->input->post('extra_start');
			$data['extra_end']					= $this->input->post('extra_end');
			$data['speedo_reading_start']		= $this->input->post('speedo_reading_start');
			$data['speedo_reading_end']			= $this->input->post('speedo_reading_end');
			$data['total_docket']				= $this->input->post('total_dockets');
			$data['total_expense']				= $this->input->post('total_expense');
			$data['accident_installment']		= $this->input->post('accident_installment');
			$data['bond_installment']			= $this->input->post('bond_total');
			$data['other']						= $this->input->post('other');
			$data['shift_levy']					= $this->input->post('levy_total');
			$data['no_of_whl']					= $this->input->post('no_of_whl');
			$data['amount_due']					= $this->input->post('amount_due');
			$data['discount']					= $this->input->post('discount');
			$data['credit_card_amt']			= $this->input->post('credit_card_amt');
			$data['bank_transfer_amt']			= $this->input->post('bank_transfer_amt');
			$data['cash_amt']					= $this->input->post('cash_amt');
			$data['final_settlement_amt']		= $this->input->post('admin_total_payment');
			$data['updated_on']					= date('Y-m-d');
			$data['updated_by']					= $this->session->userdata('user_data');

			$condition	= array('dr_settlement_id'=> $this->input->post('dr_settlement_id'));
			$this->mcommon->update('driver_settlement',$condition,$data);

			if(!empty($this->input->post('docket_price'))){
				$driver_dockets	= $this->input->post('docket_price');
				foreach($driver_dockets as $key => $value) {
					$update_docket_arr	= array('docket_settlement_amt'	=> $value);
					$dock_cond 		= array('dr_settlement_docket_id' => $key);
					$this->mcommon->update('dr_settlement_docket',$dock_cond,$update_docket_arr);
				}
			}
			if(!empty($this->input->post('expense_price'))){
				$expense_price	= $this->input->post('expense_price');
				foreach($expense_price as $expn_key => $expn_val) {
					$update_expense_arr	= array('expense_settlement_amt'	=> $expn_val);
					$expn_cond 		= array('dr_settlement_expense_id' => $expn_key);
					$this->mcommon->update('dr_settlement_expense',$expn_cond,$update_expense_arr);
				}
			}

		}
		redirect('admin/DriverSettlement/DriverSettlementDetail/'.$dr_settlement_id);
	}
}