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/application/controllers/Tyre_scrap.php
<?php
if ( ! defined('BASEPATH')) exit('No direct script is allowed');
require_once("Base_controller.php");
class Tyre_scrap extends Base_controller{
	
	public function __construct(){
		parent::__construct('tyre_scrap');
		if(!$this->Appconfig->isAppvalid()){
			redirect('config');
		}
		$this->collect_base_info();
	}
	
	// LOAD PAGE WITH TABLE DATA
	public function index(){
		// LIST VEHICLE NUMBER
		$this->db->select('prime_vehicle_master_id,register_no');
		$this->db->from('cw_vehicle_master');
		$this->db->where('cw_vehicle_master.trans_status', 1);
		$vehicle_num_rslt = $this->db->get()->result();
		foreach($vehicle_num_rslt as $rslt){
			$prime_vehicle_master_id  = $rslt->prime_vehicle_master_id;
			$register_no              = $rslt->register_no;
			$vehicle_num_list[$prime_vehicle_master_id] = $register_no;
		}
		$data['vehicle_num_list'] = $vehicle_num_list;
		$data['table_headers']= $this->xss_clean(get_tyre_scrap_headers());
		$this->load->view("$this->control_name/manage",$data);
	}
	
	//LOAD MODEL PAGE VIEW WITH DATA
	public function view($prime_tyre_scrap_id = -1){
		$this->db->from('cw_tyre_scrap');
		$this->db->join('cw_vehicle_master','cw_vehicle_master.prime_vehicle_master_id = cw_tyre_scrap.vehicle_no','INNER');
		$this->db->where('cw_tyre_scrap.prime_tyre_scrap_id', $prime_tyre_scrap_id);
		$rslt = $this->db->get()->result();
		$vehicle_no = $rslt[0]->vehicle_no;
		$data['tyre_scrap'] = $rslt;
		
		$this->db->select('cw_vehicle_master_tyre_position.prime_vehicle_master_id as vehicle_id,cw_vehicle_master_tyre_position.total_no_of_tyre,cw_vehicle_master_tyre_position.spare_count');
		$this->db->from('cw_vehicle_master_tyre_position');
		$this->db->where('cw_vehicle_master_tyre_position.prime_vehicle_master_id', (int)$vehicle_no);
		$this->db->where('cw_vehicle_master_tyre_position.trans_status', 1);
		$survey_list_rslt  = $this->db->get()->result();
		$total_no_of_tyre  = (int)$survey_list_rslt[0]->total_no_of_tyre;
		$spare_count       = (int)$survey_list_rslt[0]->spare_count;
		$positions         = $total_no_of_tyre - $spare_count;
		$tyre_position[""] = "--- Select ---";
		for($i=1; $i<=$positions; $i++){
			$tyre_position[$i] = "Position - ".$i;
		}
		$data['tyre_position'] = $tyre_position;
		
		// LIST VEHICLE NUMBER
		$this->db->select('prime_vehicle_master_id,register_no');
		$this->db->from('cw_vehicle_master');
		$this->db->where('cw_vehicle_master.trans_status', 1);
		$vehicle_type_rslt = $this->db->get()->result();
		$vehicle_type_list[""] = "--- Select ---";
		foreach($vehicle_type_rslt as $cat_rlst){
			$prime_vehicle_master_id  = $cat_rlst->prime_vehicle_master_id;
			$register_no              = $cat_rlst->register_no;
			$vehicle_type_list[$prime_vehicle_master_id] = $register_no;
		}
		$data['vehicle_type_list'] = $vehicle_type_list;
		
		// LIST BRAND
		$this->db->select('prime_inventory_brand_id,brand_name');
		$this->db->from('cw_inventory_brand');
		$this->db->where('cw_inventory_brand.trans_status', 1);
		$brand_rslt = $this->db->get()->result();
		$brand_list[""] = "--- Select ---";
		foreach($brand_rslt as $rlst){
			$prime_inventory_brand_id  = $rlst->prime_inventory_brand_id;
			$brand_name                = $rlst->brand_name;
			$brand_list[$prime_inventory_brand_id] = $brand_name;
		}
		$data['brand_list'] = $brand_list;
		
		// LIST PATTERN
		$this->db->select('prime_tyre_pattern_id,tyre_pattern');
		$this->db->from('cw_tyre_pattern');
		$this->db->where('cw_tyre_pattern.trans_status', 1);
		$pattern_rslt = $this->db->get()->result();
		$pattern_list[""] = "--- Select ---";
		foreach($pattern_rslt as $rlst){
			$prime_tyre_pattern_id   = $rlst->prime_tyre_pattern_id;
			$tyre_pattern            = $rlst->tyre_pattern;
			$pattern_list[$prime_tyre_pattern_id] = $tyre_pattern;
		}
		$data['pattern_list'] = $pattern_list;
		
		// LIST CASTING LIST
		$this->db->select('prime_tyre_casting_id,casting_name');
		$this->db->from('cw_tyre_casting');
		$this->db->where('cw_tyre_casting.trans_status', 1);
		$casting_rslt     = $this->db->get()->result();
		$casting_list[""] = "--- Select ---";
		foreach($casting_rslt as $rlst){
			$prime_tyre_casting_id                = $rlst->prime_tyre_casting_id;
			$casting_name                         = $rlst->casting_name;
			$casting_list[$prime_tyre_casting_id] = $casting_name;
		}
		$data['casting_list'] = $casting_list;
		
		// LIST ACTUAL DAMAGES
		$this->db->select('prime_tyre_actual_damage_id,damage');
		$this->db->from('cw_tyre_actual_damage');
		$this->db->where('cw_tyre_actual_damage.trans_status', 1);
		$actual_rslt = $this->db->get()->result();
		foreach($actual_rslt as $rlst){
			$prime_tyre_actual_damage_id = $rlst->prime_tyre_actual_damage_id;
			$damage                                    = $rlst->damage;
			$actual_list[$prime_tyre_actual_damage_id] = $damage;
		}
		$data['actual_list'] = $actual_list;
		
		// LIST OPERATIONAL DAMAGES
		$this->db->select('prime_tyre_operational_damage_id,damage');
		$this->db->from('cw_tyre_operational_damage');
		$this->db->where('cw_tyre_operational_damage.trans_status', 1);
		$oper_rslt = $this->db->get()->result();
		foreach($oper_rslt as $rlst){
			$prime_tyre_operational_damage_id   = $rlst->prime_tyre_operational_damage_id;
			$damage                             = $rlst->damage;
			$operational_list[$prime_tyre_operational_damage_id] = $damage;
		}
		$data['operational_list'] = $operational_list;
		
		// LIST SCRAP FAILURES
		$this->db->select('prime_tyre_scrap_failures_id,failure');
		$this->db->from('cw_tyre_scrap_failures');
		$this->db->where('cw_tyre_scrap_failures.trans_status', 1);
		$failure_rslt = $this->db->get()->result();
		foreach($failure_rslt as $rlst){
			$prime_tyre_scrap_failures_id   = $rlst->prime_tyre_scrap_failures_id;
			$failure                        = $rlst->failure;
			$failure_list[$prime_tyre_scrap_failures_id] = $failure;
		}
		$data['failure_list'] = $failure_list;
		
		// LIST SCRAP COMPANY LIST
		$this->db->select('prime_tyre_scrap_company_id,company_name');
		$this->db->from('cw_tyre_scrap_company');
		$this->db->where('cw_tyre_scrap_company.trans_status', 1);
		$company_rslt = $this->db->get()->result();
		$comp_list[""] = "--- Select ---";
		foreach($company_rslt as $comp){
			$prime_tyre_scrap_company_id   = $comp->prime_tyre_scrap_company_id;
			$company_name                  = $comp->company_name;
			$comp_list[$prime_tyre_scrap_company_id] = $company_name;
		}
		$data['comp_list'] = $comp_list;
		
		// LIST DEPOT LIST
		$this->db->select('prime_tyre_depot_id,depot');
		$this->db->from('cw_tyre_depot');
		$this->db->where('cw_tyre_depot.trans_status', 1);
		$depot_rslt = $this->db->get()->result();
		$depot_list[""] = "--- Select ---";
		foreach($depot_rslt as $depot_rslt){
			$prime_tyre_depot_id   = $depot_rslt->prime_tyre_depot_id;
			$depot                 = $depot_rslt->depot;
			$depot_list[$prime_tyre_depot_id] = $depot;
		}
		$data['depot_list'] = $depot_list;
		$this->load->view("$this->control_name/form",$data);
	}
	
	
	//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');
		$vehicle_num_fil   = $this->input->get('vehicle_num_fil');	
		$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('prime_tyre_scrap_id,tyre_position,serial_number,date,cw_vehicle_master.register_no as vehicle_no,supplier_type,date,cw_tyre_scrap.status,cw_inventory_brand.brand_name');	
		$this->db->from('cw_tyre_scrap');
		$this->db->join('cw_vehicle_master', 'cw_vehicle_master.prime_vehicle_master_id = cw_tyre_scrap.vehicle_no','INNER');
		$this->db->join('cw_inventory_brand', 'cw_inventory_brand.prime_inventory_brand_id = cw_tyre_scrap.brand','INNER');
		$this->db->where('cw_tyre_scrap.trans_status', 1);	
		$this->db->where('cw_vehicle_master.trans_status', 1);	
		if($search){
			$this->db->group_start();
				$this->db->like('vehicle_no',$search);
				$this->db->or_like('serial_number',$search);
			$this->db->group_end();
		}
		//FILTERS
		if($filters[0] > 0){
			$this->db->where_in('cw_tyre_scrap.status', $filters);
		}
		$filters_sts = array();
		foreach($vehicle_num_fil as $key=>$value){
			if($value){ $filters_sts[] = $value; }
		}
		if(count($filters_sts) > 0){
			$this->db->where_in('cw_tyre_scrap.vehicle_no', $filters_sts);
		}
		
		$this->db->order_by($sort,$order);
		$tyre_scrap      = $this->db->get();
		$tyre_scrap_rlst = $tyre_scrap->result();
		$num_rows        = $tyre_scrap->num_rows();
		$datarows        = array();
		foreach($tyre_scrap_rlst as $result){
			$datarows[] = get_tyre_scrap_datarows($result,$this);
		}
		echo json_encode(array('total'=>$num_rows,'rows'=>$datarows));
	}
	
	//SAVE MODEL DATA TO DATA BASE
	public function save(){
		$prime_tyre_scrap_id     = (int)$this->input->post('prime_tyre_scrap_id');
		$tyre_position           = $this->input->post('tyre_position');
		$operational_damage      = implode(",",$this->input->post('operational_damage'));
		$actual_damage           = implode(",",$this->input->post('actual_damage'));
		$failure_name            = implode(",",$this->input->post('failure_name'));
		$vehicle_no              = $this->input->post('vehicle_no');
		$casting_type            = $this->input->post('casting_type');
		$status                  = $this->input->post('status');
		$tyre_scrap_data     = array(
				'date'                 => date('Y-m-d',strtotime($this->input->post('date'))),
				'vehicle_no'           => $vehicle_no,
				'supplier_type'        => $this->input->post('supplier_type'),
				'tyre_position'        => $tyre_position,
				'serial_number'        => $this->input->post('serial_number'),
				'scrap_company'        => $this->input->post('scrap_company'),
				'mm'                   => $this->input->post('mm'),
				'depot'                => $this->input->post('depot'),
				'brand'                => $this->input->post('brand'),
				'thread_type'          => $this->input->post('thread_type'),
				'Design_type'          => $this->input->post('Design_type'),
				'operation_remarks'    => $this->input->post('operation_remarks'),
				'actual_remarks'       => $this->input->post('actual_remarks'),
				'operational_damage'   => $operational_damage,
				'actual_damage'        => $actual_damage,
				'ply'                  => $this->input->post('ply'),
				'remaining_mm'         => $this->input->post('remaining_mm'),
				'failure_name'         => $failure_name,
				'casting_type'         => $casting_type,
				'status'               => $status,
				'comments'             => $this->input->post('comments'),
			);
		if((int)$prime_tyre_scrap_id === 0){
			$tyre_scrap_data['trans_created_by']   = $this->session->userdata('logged_id');
			$tyre_scrap_data['trans_created_date'] = date("Y-m-d H:i:s");
			if($this->db->insert('cw_tyre_scrap',$tyre_scrap_data)){
				$prime_tyre_scrap_id = $this->db->insert_id();
				echo json_encode(array('success' => TRUE, 'message' => "Successfully Inserted",'prime_tyre_scrap_id' => $prime_tyre_scrap_id));
			}else{
				echo json_encode(array('success' => FALSE, 'message' => "Insertion failed, Please Try Again"));
			}
		}else
		if((int)$prime_tyre_scrap_id > 0){
			$tyre_scrap_data['trans_updated_by']   = $this->session->userdata('logged_id');
			$tyre_scrap_data['trans_updated_date'] = date("Y-m-d H:i:s");
			$this->db->where('prime_tyre_scrap_id',$prime_tyre_scrap_id);
			if($this->db->update('cw_tyre_scrap',$tyre_scrap_data)){
				echo json_encode(array('success' => TRUE, 'message' => "Successfully Updated",'prime_tyre_scrap_id'=> $prime_tyre_scrap_id));
			}else{
				echo json_encode(array('success' => FALSE, 'message' => "Update failed, Please Try Again",'prime_tyre_scrap_id'=> $prime_tyre_scrap_id));
			}
		}
	}
}
?>