MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //home/cafsindia/allyindian_com/backend/application/models/Due_collection_model.php
<?php
class Due_collection_model extends CI_Model{
	public function get_packages(){
		$this->db->from('package');
		$this->db->where('status',1);
		return $this->db->get()->result_array();
	}
	public function get_package_data($search_by,$search_text,$package){
		$this->db->select('*,sum(cashpaid) as paid,sum(cashdue) as due_amount,passlist.ticketamt as ticketamt,passlist.pnrno as pnrno,ticketorderid,nopass,customers.custid as custid');
		$this->db->from('ticketorder');
		$this->db->join('customers', 'customers.custid = ticketorder.custid');
		$this->db->join('passlist', 'passlist.ticketorderid = ticketorder.orderid');
		if($search_by === "1"){
			$this->db->where('passlist.pnrno', $search_text);
		}else
		if($search_by === "2"){
			$this->db->where('orderid', $search_text);
		}else
		if($search_by === "3"){
			if($package){				
				$this->db->where('packid', $package);
			}
		}	
		$this->db->where('cashdue >', 0);
		$this->db->group_start();
		$this->db->where('passstatus', 0)->or_where('passstatus', 2);
		$this->db->group_end();
		$this->db->where_in('ticketorder.orderstat', array('1','2','4'));
		$this->db->group_by('ticketorder.orderid');		
		return $this->db->get()->result_array();
	}
	public function get_banks(){
		$this->db->from('banks');
		$this->db->where('status',1);
		return $this->db->get()->result_array();
	}
	public function get_ticket_data($orderid){
		$this->db->select('*,sum(sblttweb_passlist.ticketamt) as amt,sum(cashpaid) as paid,sum(cashdue) as cashdue,sum(admin_discountamt) as admin_discountamt,passlist.ticketamt as ticketamt,passlist.pnrno as pnrno,ticketorderid,count(*) as pass_count,customers.custid as custid,paidamt');	
		$this->db->from('passlist');	
		$this->db->join('ticketorder', 'passlist.ticketorderid = ticketorder.orderid');		
		$this->db->join('customers', 'customers.custid = ticketorder.custid');		
		$this->db->join('package', 'package.package_id = ticketorder.packid');
		$this->db->join('boarding', 'boarding.boarding_id = ticketorder.boarding');
		$this->db->join('boarding_point', 'boarding_point.board_point_id = boarding.board_point_id');		
		$this->db->where('orderid', $orderid);	
		return $this->db->get()->result_array();

	}
	public function get_due_data($orderid){	
		$this->db->from('due_log');
		$this->db->join('ticketorder', 'due_log.booked_orderid = ticketorder.orderid');
		$this->db->join('customers', 'customers.custid = ticketorder.custid');
		$this->db->join('package', 'package.package_id = ticketorder.packid');
		$this->db->join('boarding', 'boarding.boarding_id = ticketorder.boarding');
		$this->db->join('boarding_point', 'boarding_point.board_point_id = boarding.board_point_id');
		$this->db->where('booked_orderid', $orderid);	
		return $this->db->get()->result_array();
	}
	public function update_due($due_data){		
		$order_id = $due_data['booked_orderid'];
		$due = $this->db->insert('due_log',$due_data);
		$due_id = $this->db->insert_id();
		if($due){
			$check_paid = $due_data['paid_amount'];
			$paid_data  = $this->get_paid_data($order_id);
			foreach ($paid_data as $key => $value) {
				$id         = $value['orderid'];
				$pass_id    = $value['passid'];
				$cashdue    = $value['cashdue'];
				$cashpaid   = $value['cashpaid'];
				$tariffamt  = $value['tariffamt'];
				$discount   = $value['discount'];
				if($discount){
					$tariff_disc = ($tariffamt * ($discount / 100));
					$tariffamt   = $tariffamt - $tariff_disc;
				}
				if($check_paid > 0){
					if($check_paid >= $cashdue){
			   			$paidamt    = $cashdue;	
			   			$check_paid = $check_paid - $paidamt;		   			
			   			$due_amt    = $cashdue - $paidamt;
			   			$final_paid = $cashpaid + $paidamt;
	   				}else{
	   					$paidamt    = $check_paid;
						$check_paid = $check_paid - $paidamt;
						$due_amt    = $cashdue - $paidamt;
						$final_paid = $cashpaid + $paidamt;
	   				}	   			 
	   				if($due_amt === 0){
	   					$passstatus = 2;
	   					$pay_status = 1;
	   				}else{
	   					$passstatus = 0;
	   					$pay_status = 0;
	   				}

					$this->db->where('passid',$pass_id);
					$result = $this->db->update('passlist',array('cashpaid'=>$final_paid,'cashdue'=>$due_amt,'passstatus'=>$passstatus,'pay_status'=>$pay_status));

				}					
			}
			if($result){
				return $due_id;
			}else{
				return false;
			}

		}
		
	}
	public function get_paid_data($order_id){
		$this->db->from('ticketorder');
		$this->db->join('passlist', 'passlist.ticketorderid = ticketorder.orderid');
		$this->db->where('ticketorder.orderid', $order_id);
		return $this->db->get()->result_array();
		//echo $this->db->last_query();
	}
	public function get_due_details($due_id){
		$this->db->from('due_log');	
		$this->db->join('ticketorder', 'ticketorder.orderid = due_log.booked_orderid');
		$this->db->join('customers', 'customers.custid = ticketorder.custid');
		$this->db->where('due_log_id', $due_id);
		return $this->db->get()->result_array();
	}
	public function get_custmobile($orderid){
		$this->db->select('custmobile');	
		$this->db->from('customers');
		$this->db->join('ticketorder', 'ticketorder.custid = customers.custid');
		$this->db->where('orderid', $orderid);
		return $this->db->get()->row();
	}	
}
?>