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/sbltt/application/models/Maintenance_model.php
<?php
class Maintenance_model extends CI_Model
{
	public function search($search,$filters,$rows = 0,$limit_from= 0,$sort='',$order='asc'){
		$start_date = $filters['start_date'];
		$end_date   = $filters['end_date'];
		if(!$sort){
			$sort = "maintenance_date"; 
		}
		$this->db->select('*,maintenance.driver_name as name,supplier_name');
		$this->db->from('maintenance');
		$this->db->join('vehicle', 'vehicle.vehicle_id = maintenance.vehicle_id','left');
		$this->db->join('supplier', 'supplier.supplier_id = maintenance.service_center','left');
		$this->db->where('maintenance.status',1);
		$this->db->group_start();
			$this->db->like('maintenance_id',$search);
			if(strpos($search, '-') !== false){
			  $this->db->or_like('maintenance_date', date('Y-m-d',strtotime($search)));
			}
		$this->db->group_end();
		$this->db->where('DATE_FORMAT(maintenance_date, "%Y-%m-%d") BETWEEN '. $this->db->escape($start_date).' AND '.$this->db->escape($end_date));
		$this->db->order_by('maintenance_id',$order);
		if($rows>0){
			$this->db->limit($rows, $limit_from);
		}
		return $this->db->get();
	}
	
	public function get_found_rows($search,$filters){
		return $this->search($search, $filters)->num_rows();
	}

	public function get_info($maintenance_id){
		$this->db->from('maintenance');
		$this->db->where('maintenance_id',$maintenance_id);
		$a=$this->db->get();
		if($a->num_rows() === 1){
			return $a->row();	
		}else{
			foreach ($this->db->list_fields('maintenance') as $field){
				$PersonObj->field= '';
			}
			return $PersonObj;
		}
	}
	public function job_sheet($maintenance_id){
		$this->db->select('*,maintenance.driver_name as name,supplier_name');
		$this->db->from('maintenance');
		$this->db->join('vehicle', 'vehicle.vehicle_id = maintenance.vehicle_id','left');
		$this->db->join('supplier', 'supplier.supplier_id = maintenance.service_center','left');
		$this->db->where('maintenance_id',$maintenance_id);
		return $this->db->get()->row();
	}
	public function get_service($maintenance_id){
		$this->db->from('main_service');
		$this->db->where('maintenance_id',$maintenance_id);
		return $this->db->get()->row();
	}
	public function get_spare_list($maintenance_id){
		$this->db->from('main_spare');
		$this->db->join('expence_type', 'expence_type.expence_type_id = main_spare.spare_list','left');
		$this->db->where('main_spare.maintenance_id',$maintenance_id);
		return $this->db->get()->result();
	}
	public function get_spare_by_id($spare_id) {
		$this->db->from('main_spare');
		$this->db->join('expence_type', 'expence_type.expence_type_id = main_spare.spare_list','left');
		$this->db->where('main_spare.spare_id',$spare_id);
	   return $this->db->get()->result();
	}
	public function service_exists($maintenance_id){
		$this->db->from('main_service');
		$this->db->where('maintenance_id', $maintenance_id);
		return $this->db->get()->num_rows();
	}
	public function add_service_save($service_data, $maintenance_id){
		$count = $this->service_exists($maintenance_id);
		if($count === 0){
			return $this->db->insert('main_service', $service_data);
		}else{
			$this->db->where('maintenance_id', $maintenance_id);
			return $this->db->update('main_service', $service_data);
		}
	}
	public function spare_exists($spare_data){
		$maintenance_id = $spare_data['maintenance_id'];
		$spare_list     = $spare_data['spare_list'];
		$this->db->from('main_spare');
		$this->db->where('maintenance_id', $maintenance_id);
		$this->db->where('spare_list', $spare_list);
		return $this->db->get()->num_rows();
	}
	public function add_spare_save($spare_data, $maintenance_id){
		$count     = $this->spare_exists($spare_data);
		$spare_id  = $spare_data['spare_list'];
		if($count === 0){
			return $this->db->insert('main_spare', $spare_data);
		}else{
			$this->db->where('maintenance_id', $maintenance_id);
			$this->db->where('spare_id', $spare_id);
			return $this->db->update('main_spare', $spare_data);
		}
	}
	
	public function exists($maintenance_id){
		$this->db->from('maintenance');
		$this->db->where('maintenance_id', $maintenance_id);
		return ($this->db->get()->num_rows() == 1);
	}

	public function save_maintenance(&$maintenance_data, $maintenance_id = FALSE){

		if(!$maintenance_id || !$this->exists($maintenance_id, TRUE)){
			if($this->db->insert('maintenance', $maintenance_data)){
				$maintenance_data['maintenance_id'] = $this->db->insert_id();
				return TRUE;
			}
			return FALSE;
		}
		$this->db->where('maintenance_id', $maintenance_id);
		return $this->db->update('maintenance', $maintenance_data);
	}
	
	public function get_vehicle(){
		$this->db->from('vehicle');
		$this->db->where('status',1);
		return $this->db->get()->result();
	}
	
	public function get_spare(){
		$this->db->from('expence_type');
		$this->db->where('status',1);
		return $this->db->get()->result();
	}
	
	public function get_service_center(){
		$this->db->from('supplier');
		$this->db->where('status',1);
		return $this->db->get()->result();
	}
	public function get_driver() {
		$this->db->from('employees');
		$this->db->join('people', 'people.person_id = employees.person_id');
		$this->db->join('role', 'employees.role = role.role_id');
		$this->db->where('status', 1);
		$this->db->where('role', 7);
	   return $this->db->get()->result();
	}
	public function get_driver_info($driver_id) {
		$this->db->from('employees');
		$this->db->join('people', 'people.person_id = employees.person_id');
		$this->db->join('role', 'employees.role = role.role_id');
		$this->db->where('status', 1);
		$this->db->where('employees.id', $driver_id);
	   return $this->db->get()->row();
	}
	
	public function delete_list($maintenance_id){
		$this->db->where_in('maintenance_id',$maintenance_id);
		return $this->db->update('maintenance',array('status'=>0,'deleted_by'=>$this->session->userdata('emp_id'),'deleted_date'=>date('Y-m-d h:i:s')));
	}

	public function get_multiple_info($cat_ids){
		$this->db->from('maintenance');
		$this->db->where_in('maintenance_id', $cat_ids);
		return $this->db->get()->result_array();
	}
}
?>