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/controllers/Maintenance.php
<?php if ( ! defined('BASEPATH')) exit('No direct script is allowed');
require_once("Secure_Controller.php");
class maintenance  extends Secure_Controller{
 
	public function __construct(){
		parent::__construct('maintenance');
		$this->load->model('Maintenance_model');
	}
	public function index(){
		if(!$this->Appconfig->isAppvalid()){
			redirect('config');
		}
		$data['table_headers']=$this->xss_clean(get_maintenance_headers());
		$this->load->view('maintenance/manage',$data);
	}
	public function search(){
		
		$search=$this->input->get('search');
		$limit=$this->input->get('limit');
		$offset=$this->input->get('offset');
		$sort=$this->input->get('sort');
		$order=$this->input->get('order');
		
		$filters = array('start_date' => $this->input->get('start_date'),'end_date' => $this->input->get('end_date'));	
		
		$maintenance=$this->Maintenance_model->search($search,$filters,$limit,$offset,$sort,$order);
		$TotalRows=$this->Maintenance_model->get_found_rows($search,$filters);
		$DataRows=array();
		foreach ($maintenance->result() as $person){	
			$DataRows[]=get_maintenance_datarows($person,$this);
		}
		$DataRows=$this->xss_clean($DataRows);
		echo json_encode(array('total'=>$TotalRows,'rows'=>$DataRows));
	}

	public function view($maintenance_id=-1){
		$info=$this->Maintenance_model->get_info($maintenance_id);
		foreach (get_object_vars($info) as $property => $value){
			$info->$property = $this->xss_clean($value);
		}
		$data['maintenance']=$info;
		
		$vehicle_list[""] = "--Select Vehicle--";
		$vehicle = $this->Maintenance_model->get_vehicle();		
		foreach($vehicle as $row){
		    $vehicle_list[$this->xss_clean($row->vehicle_id)] = $this->xss_clean($row->vehicle_no);
		}
		$data['vehicle_list'] = $vehicle_list;
		
		$driver_list[""] = "--Select Driver--";	
		foreach($this->Maintenance_model->get_driver() as $row){
		    $driver_list[$this->xss_clean($row->id)] = $this->xss_clean($row->first_name);
		}
		$driver_list['0'] = "Others";
		$data['driver_list'] = $driver_list;
		
		$service_center_list[""] = "--Select Service Center--";
		$service_center = $this->Maintenance_model->get_service_center();		
		foreach($service_center as $row){
		    $service_center_list[$this->xss_clean($row->supplier_id)] = $this->xss_clean($row->supplier_name);
		}
		$data['service_center_list'] = $service_center_list;
		
		$this->load->view("maintenance/form",$data);
	}
	
	public function add_service($maintenance_id){
		$info=$this->Maintenance_model->get_info($maintenance_id);
		foreach (get_object_vars($info) as $property => $value){
			$info->$property = $this->xss_clean($value);
		}
		$data['maintenance']=$info;
		
		$spare_list[""] = "--Select Spare--";
		$spare = $this->Maintenance_model->get_spare();		
		foreach($spare as $row){
		    $spare_list[$this->xss_clean($row->expence_type_id)] = $this->xss_clean($row->expence_type_name);
		}
		$data['spare_list'] = $spare_list;
		
		$data['service_info'] = $this->Maintenance_model->get_service($maintenance_id);
		$data['spare_info']   = $this->Maintenance_model->get_spare_list($maintenance_id);
		
		$this->load->view("maintenance/add_service",$data);
	}
	public function main_print($maintenance_id){
		$data['maintenance'] = $this->Maintenance_model->job_sheet($maintenance_id);
		$this->load->view('maintenance/main_print',$data);
	}
	public function service_print($maintenance_id){
		$data['maintenance']  = $this->Maintenance_model->job_sheet($maintenance_id);
		$data['service_info'] = $this->Maintenance_model->get_service($maintenance_id);
		$data['spare_info']   = $this->Maintenance_model->get_spare_list($maintenance_id);
		$this->load->view('maintenance/service_print',$data);
	}
	public function get_driver_info($driver_id){
		$driver_id = $this->input->post('driver_id');		
		$driver_info = $this->Maintenance_model->get_driver_info($driver_id);
		$first_name       = $driver_info->first_name;
		$phone_number     = $driver_info->phone_number;

		$driver_data[] = array('driver_id'=>$driver_id,'first_name'=>$first_name,'phone_number'=>$phone_number);		
		echo json_encode(array('success' => TRUE, 'driver_data' => $driver_data));
	}
	public function get_spare_by_id(){
		$spare_id    = $this->input->post('spare_id');		
		$spare_info = $this->Maintenance_model->get_spare_by_id($spare_id);
		echo json_encode(array('success' => TRUE, 'spare_info' => $spare_info));
	}
	public function add_service_save($maintenance_id){
		$service_data = array(
			'maintenance_id'      => $maintenance_id,
			'bill_number'         => $this->input->post('bill_number'),
			'service_del_date'    => date("Y-m-d", strtotime($this->input->post('service_del_date'))),
			'service_type'        => $this->input->post('service_type'),
			'labour_bill_number'  => $this->input->post('labour_bill_number'),
			'labour_shop'         => $this->input->post('labour_shop'),
			'labour_amount'       => $this->input->post('labour_amount'),
			'bill_amount'         => $this->input->post('bill_amount'),
			'net_amount'          => $this->input->post('net_amount'),
			'payment_type'        => $this->input->post('payment_type'),
			'remarks'             => $this->input->post('remarks'),
			'created_by'          => $this->session->userdata('emp_id'),
			'created_date'        => date("Y-m-d h:i:s"),
		);
		$this->Maintenance_model->add_service_save($service_data, $maintenance_id);
		echo json_encode(array('success' => TRUE, 'message' => "Successfully added"));
	}
	public function add_spare_save($maintenance_id){
		$spare_data = array(
			'maintenance_id'      => $maintenance_id,
			'spare_list'          => $this->input->post('spare_list'),
			'spare_quantity'        => $this->input->post('spare_quantity'),
			'created_by'          => $this->session->userdata('emp_id'),
			'created_date'        => date("Y-m-d h:i:s"),
		);
		$this->Maintenance_model->add_spare_save($spare_data, $maintenance_id);
		$spare_info  = $this->Maintenance_model->get_spare_list($maintenance_id);
		echo json_encode(array('success' => TRUE, 'message' => "Successfully added",'spare_info'=>$spare_info));
	}
	public function save($maintenance_id = -1){
		$maintenance_data = array(
			'maintenance_id'      => $this->input->post('maintenance_id'),
			'maintenance_date'    => date("Y-m-d", strtotime($this->input->post('maintenance_date'))),
			'vehicle_id'          => $this->input->post('vehicle_id'),
			'maintenance_type'    => $this->input->post('maintenance_type'),
			'service_center'      => $this->input->post('service_center'),
			'check_list'          => $this->input->post('check_list'),
			'spare_weel'          => $this->input->post('spare_weel'),
			'odometer_reading'    => $this->input->post('odometer_reading'),
			'diesel_level'        => $this->input->post('diesel_level'),
			'driver_id'           => $this->input->post('driver_id'),
			'driver_name'         => $this->input->post('driver_name'),
			'driver_number'       => $this->input->post('driver_number'),
			'delivery_date'       => date("Y-m-d", strtotime($this->input->post('delivery_date'))),
			'delivery_amount'     => $this->input->post('delivery_amount'),
			'service_remarks'     => $this->input->post('service_remarks'),
			'maintenance_remarks' => $this->input->post('maintenance_remarks'),
			'insurance_claim'     => $this->input->post('insurance_claim'),
			'created_by'          => $this->session->userdata('emp_id'),
			'created_date'        => date("Y-m-d h:i:s"),
		);
		if($this->Maintenance_model->save_maintenance($maintenance_data, $maintenance_id)){
			$maintenance_data = $this->xss_clean($maintenance_data);
			if($maintenance_id == -1){
				echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('maintenance_successful_adding').' '. $maintenance_data['maintenance_date'], 'id' => $maintenance_data['maintenance_id']));
			}else {
				echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('maintenance_successful_updating').' '. $maintenance_data['maintenance_date'], 'id' => $maintenance_id));
			}
		}else{
			$maintenance_data = $this->xss_clean($maintenance_data);
			echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('maintenance_error_adding_updating').' '. $maintenance_data['maintenance_date'], 'id' => -1));
		}
	}

	public function get_row($maintenance_ids){
		$maintenance_infos = $this->Maintenance_model->get_multiple_info($maintenance_ids);
		$result = array();
		foreach($maintenance_infos as $item_info){
			$result[$item_info->maintenance_id] = $this->xss_clean(get_item_data_row($item_info, $this));
		}
		echo json_encode($result);
	}

	public function delete(){
		$maintenance_to_delete = $this->xss_clean($this->input->post('ids'));
		if($this->Maintenance_model->delete_list($maintenance_to_delete)){
			echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('maintenance_successful_deleted').' '. count($maintenance_to_delete).' '.$this->lang->line('maintenance_one_or_multiple')));
		}else{
			echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('maintenance_cannot_be_deleted')));
		}
	}
}
?>