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/ntc_cafsinfotech_in_bk/application/controllers/Equipment_request.php
<?php
if ( ! defined('BASEPATH')) exit('No direct script is allowed');
require_once("Base_controller.php");
class Equipment_request extends Base_controller{
	
	public function __construct(){
		parent::__construct('equipment_request');
		if(!$this->Appconfig->isAppvalid()){
			redirect('config');
		}
		$this->collect_base_info();
	}
	
	// LOAD PAGE WITH TABLE DATA
	public function index(){
		$data['table_headers']= $this->xss_clean(get_equipment_request_headers());
		$this->load->view("$this->control_name/manage",$data);
	}
	
	//LOAD MODEL PAGE VIEW WITH DATA
	public function view($prime_equipment_request_id = -1){
		$this->db->select('prime_equipment_tools_and_equipment_id,cw_equipment_request.prime_equipment_request_id,cw_equipment_request.return_condition,cw_equipment_tools_and_equipment.equipment_name,labour_name,cw_equipment_request.no_of_sets,cw_equipment_request.start_date,cw_equipment_request.estimate_date,cw_equipment_request.status,cw_equipment_request.equi_remarks,cw_equipment_request.end_date');
		$this->db->from('cw_equipment_request');
		//$this->db->join('cw_employees','cw_employees.prime_employees_id = cw_equipment_request.labour_name','inner');
		$this->db->join('cw_equipment_tools_and_equipment','cw_equipment_tools_and_equipment.prime_equipment_tools_and_equipment_id = cw_equipment_request.equipment_name','inner');
		$this->db->where('cw_equipment_request.prime_equipment_request_id', $prime_equipment_request_id);
		$this->db->where('cw_equipment_request.trans_status', 1);
		$this->db->where('cw_equipment_request.trans_status', 1);
		$rslt = $this->db->get()->result();
		$data['equipment_request']    = $rslt;
		
		// LIST LABOUR LIST
		$this->db->select('prime_employees_id,employee_name');
		$this->db->from('cw_employees');
		$this->db->where('cw_employees.role', 3);
		$this->db->where('cw_employees.trans_status', 1);
		$labour_rslt = $this->db->get()->result();
		$labour_list[""] = "--- Select ---";
		foreach($labour_rslt as $rlst){
			$prime_employees_id      = $rlst->prime_employees_id;
			$employee_name            = $rlst->employee_name;
			$labour_list[$prime_employees_id] = $employee_name;
		}
		$data['labour_list'] = $labour_list;
		$this->load->view("$this->control_name/form",$data);
	}
	
	//SEARCH FAULTS LIST
	public function search_equipments(){
		$search_equipment_name  = $this->input->post_get('search_equipment_name');
		$suggestions = array();
		if($search_equipment_name){
			$this->db->select('cw_equipment_tools_and_equipment.prime_equipment_tools_and_equipment_id,cw_equipment_tools_and_equipment.equipment_name');
			$this->db->from('cw_equipment_tools_and_equipment');
			$this->db->where('cw_equipment_tools_and_equipment.trans_status', 1);
			$this->db->group_start();
				$this->db->like('cw_equipment_tools_and_equipment.equipment_name',$search_equipment_name);
				$this->db->or_like('cw_equipment_tools_and_equipment.prime_equipment_tools_and_equipment_id',$search_equipment_name);
			$this->db->group_end();	
			$search_equi_info = $this->db->get()->result();
			foreach($search_equi_info as $search_rlst){
				$prime_equipment_tools_and_equipment_id    = $search_rlst->prime_equipment_tools_and_equipment_id;
				$equipment_name                            = $search_rlst->equipment_name;
				$label                                     = "$equipment_name";
				$suggestions[] = array('value'=>$equipment_name,'label'=>$label,'prime_equipment_tools_and_equipment_id'=>$prime_equipment_tools_and_equipment_id);
			}
		}
		if(empty($suggestions)){
			$suggestions[] = array('value' => "0", 'label' => "No data found for this search");
		}
		echo json_encode($suggestions);
	}
	
	//LOAD PAGE TABLE VIEW WITH DATA BASED ON SEARCH FILTERS
	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           = $this->input->get('filters');	
		//$start_date        = str_replace("/","-",$this->input->get('start_date'));
		//$end_date          = str_replace("/","-",$this->input->get('end_date'));
		$from_date         = date('Y-m-d',strtotime($start_date));
		$to_date           = date('Y-m-d',strtotime($end_date));
		$this->db->select('cw_equipment_request.prime_equipment_request_id,cw_equipment_request.return_condition,cw_equipment_tools_and_equipment.equipment_name,cw_employees.employee_name,cw_equipment_request.no_of_sets,cw_equipment_request.start_date,cw_equipment_request.estimate_date,cw_equipment_request.status,cw_equipment_request.equi_remarks,cw_equipment_request.end_date');
		$this->db->from('cw_equipment_request');
		$this->db->join('cw_employees','cw_employees.prime_employees_id = cw_equipment_request.labour_name','inner');
		$this->db->join('cw_equipment_tools_and_equipment','cw_equipment_tools_and_equipment.prime_equipment_tools_and_equipment_id = cw_equipment_request.equipment_name','inner');
		$this->db->where('cw_equipment_request.trans_status', 1);
		$this->db->where('cw_equipment_request.trans_status', 1);
		if($search){
			$this->db->group_start();
				$this->db->like('prime_equipment_request_id',$search);
				$this->db->or_like('equipment_name',$search);
				$this->db->or_like('start_date',$search);
				$this->db->or_like('estimate_date',$search);
			$this->db->group_end();
		}
		
		$this->db->order_by($sort,$order);
		$equipment_request    = $this->db->get();
		$equi_rslt            = $equipment_request->result();
		$num_rows             = $equipment_request->num_rows();
		$datarows       = array();
		foreach($equi_rslt as $rslt){
			$datarows[] = get_equipment_request_datarows($rslt,$this);
		}
		echo json_encode(array('total'=>$num_rows,'rows'=>$datarows));
	}
	
	//SAVE MODEL DATA TO DATA BASE
	public function save(){
		$prime_equipment_request_id = (int)$this->input->post('prime_equipment_request_id');
		$equipment_name             = $this->input->post('prime_equipment_name_id');
		$equipment_data = array(
			'equipment_name'  => $equipment_name,
			'labour_name'     => $this->input->post('labour_name'),
			'no_of_sets'      => $this->input->post('no_of_sets'),
			'start_date'      => date('Y-m-d',strtotime($this->input->post('start_date'))),
			'estimate_date'   => date('Y-m-d',strtotime($this->input->post('estimate_date'))),
			'status'          => $this->input->post('status'),
			'equi_remarks'    => $this->input->post('equi_remarks'),
			'return_condition'=> $this->input->post('return_condition'),
			'end_date'        => date('Y-m-d',strtotime($this->input->post('end_date')))
		);
		if((int)$prime_equipment_request_id === 0){
				$equipment_data['trans_created_by']   = $this->session->userdata('logged_id');
				$equipment_data['trans_created_date'] = date("Y-m-d H:i:s");
				if($this->db->insert('cw_equipment_request',$equipment_data)){
					$prime_equipment_request_id = $this->db->insert_id();
					echo json_encode(array('success' => TRUE, 'message' => "Successfully Inserted",'prime_equipment_request_id' => $prime_equipment_request_id,'equipment_name' => $equipment_name));
				}else{
					echo json_encode(array('success' => FALSE, 'message' => "Insertion failed, Please Try Again"));
				}
		}else
		if((int)$prime_equipment_request_id > 0){
				$equipment_data['trans_updated_by']   = $this->session->userdata('logged_id');
				$equipment_data['trans_updated_date'] = date("Y-m-d H:i:s");
				$this->db->where('prime_equipment_request_id',$prime_equipment_request_id);
				if($this->db->update('cw_equipment_request',$equipment_data)){
					echo json_encode(array('success' => TRUE, 'message' => "Successfully Updated",'prime_equipment_request_id'=> $prime_equipment_request_id,'equipment_name' => $equipment_name));
				}else{
					echo json_encode(array('success' => FALSE, 'message' => "Update failed, Please Try Again",'prime_equipment_request_id'=> $prime_equipment_request_id,'equipment_name' => $equipment_name));
				}
		}
	}
	
	//GET EQUIPMENT TYPE
	public function get_equipment_type(){
		$equipment_name  =  (int)$this->input->post('equipment_name');
		$this->db->select('equipment_type');
		$this->db->from('cw_equipment_tools_and_equipment');
		$this->db->where('cw_equipment_tools_and_equipment.prime_equipment_tools_and_equipment_id',$equipment_name);
		$this->db->where('cw_equipment_tools_and_equipment.trans_status',1);
		$sets_rslt = $this->db->get()->result();
		$equipment_type = (int)$sets_rslt[0]->equipment_type;
		echo json_encode(array('success' => TRUE,'equipment_type' => $equipment_type));
	}
	
	//GET NUMBER OF SETS
	public function get_sets_no(){
		$equipment_name  =  (int)$this->input->post('equipment_name');
		$no_of_sets      =  $this->input->post('no_of_sets');
		$this->db->select('equipment_type,number_of_sets');
		$this->db->from('cw_equipment_tools_and_equipment');
		$this->db->where('cw_equipment_tools_and_equipment.prime_equipment_tools_and_equipment_id',$equipment_name);
		$this->db->where('cw_equipment_tools_and_equipment.trans_status',1);
		$sets_rslt = $this->db->get()->result();
		$equipment_type = (int)$sets_rslt[0]->equipment_type; 
		$number_of_sets = (int)$sets_rslt[0]->number_of_sets;
		if($number_of_sets >= $no_of_sets){
			echo json_encode(array('success' => TRUE,'no_of_sets' => $no_of_sets));
		}else{
			echo json_encode(array('success' => FALSE, 'message' => "Available number of set are $number_of_sets Enter less than or equal to $number_of_sets"));
		}
	}
	
	//UPDATE NO OF SETS IN EQUIPMENT MASTER
	public function update_no_of_sets(){
		$no_of_sets       =  (int)$this->input->post('no_of_sets');
		$equipment_name   =  (int)$this->input->post('equipment_name');
		$status           =  (int)$this->input->post('status');
		$this->db->select('prime_equipment_tools_and_equipment_id,number_of_sets');
		$this->db->from('cw_equipment_tools_and_equipment');
		$this->db->where('cw_equipment_tools_and_equipment.prime_equipment_tools_and_equipment_id',$equipment_name);
		$this->db->where('cw_equipment_tools_and_equipment.trans_status',1);
		$avail_rslt = $this->db->get()->result();
		$number_of_sets = (int)$avail_rslt[0]->number_of_sets;
		if($status === 1){
			$number_of_sets = $number_of_sets - $no_of_sets;
		}
		if($status === 2){
			$number_of_sets = $number_of_sets + $no_of_sets;
		}
		$upd_sets  = array(
						'number_of_sets'      => $number_of_sets,
						'trans_created_by'    => $this->session->userdata('logged_id'),
						'trans_created_date'  => date("Y-m-d H:i:s")
					);
		$this->db->where('cw_equipment_tools_and_equipment.prime_equipment_tools_and_equipment_id',$equipment_name);
		$this->db->update('cw_equipment_tools_and_equipment',$upd_sets);
		
		echo json_encode(array('success' => TRUE, 'message' => "successfully updated"));
	}
}
?>