File: /home/cafsindia/ntc_cafsinfotech_in_bk/application/controllers/Tyre_survey.php
<?php
if ( ! defined('BASEPATH')) exit('No direct script is allowed');
require_once("Base_controller.php");
class Tyre_survey extends Base_controller{
public function __construct(){
parent::__construct('tyre_survey');
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_survey_headers());
$this->load->view("$this->control_name/manage",$data);
}
//LOAD MODEL PAGE VIEW WITH DATA
public function view($prime_tyre_survey_id = -1){
$this->db->from('tyre_survey');
$this->db->join('vehicle_master', 'vehicle_master.prime_vehicle_master_id = tyre_survey.vehicle_no','INNER');
$this->db->where('tyre_survey.prime_tyre_survey_id', $prime_tyre_survey_id);
$rslt = $this->db->get()->result();
$vehicle_no = $rslt[0]->vehicle_no;
$data['tyre_survey'] = $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;
$survey_list_positions[""] = "--- Select ---";
for($i=1; $i<=$total_no_of_tyre; $i++){
$survey_list_positions[$i] = "Position - ".$i;
}
$data['survey_list_positions'] = $survey_list_positions;
$tyre_info = json_decode($this->get_tyre_position_info($vehicle_no,$prime_tyre_survey_id),TRUE);
$data['tyre_survey_line'] = $tyre_info['view_content'];
// 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;
$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');
$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_survey_id,name,date,damaged_by,driver,damaged_date,damaged_pic,material_cost,damaged_cost,received_cost,balance,cost_status,received_date,damaged_remarks,cw_vehicle_master.register_no as vehicle_no,num_rows,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_tyre_survey');
$this->db->join('cw_vehicle_master_tyre_position','cw_vehicle_master_tyre_position.prime_vehicle_master_id = cw_tyre_survey.vehicle_no');
$this->db->join('cw_vehicle_master', 'cw_vehicle_master.prime_vehicle_master_id = cw_tyre_survey.vehicle_no','INNER');
$this->db->where('cw_tyre_survey.trans_status', 1);
$this->db->where('cw_vehicle_master.trans_status', 1);
$this->db->where('cw_vehicle_master_tyre_position.trans_status', 1);
if($search){
$this->db->group_start();
$this->db->like('prime_tyre_survey_id',$search);
$this->db->or_like('name',$search);
$this->db->or_like('vehicle_no',$search);
$this->db->group_end();
}
//FILTERS
$this->db->group_start();
if($filters[0] > 0){
$this->db->where_in('cw_tyre_survey.vehicle_no', $filters);
}
$this->db->where('DATE_FORMAT(date, "%Y-%m-%d") BETWEEN '. $this->db->escape($from_date).' AND '.$this->db->escape($to_date));
$this->db->group_end();
$this->db->order_by($sort,$order);
$tyre_survey = $this->db->get();
$survey_rslt = $tyre_survey->result();
$num_rows = $tyre_survey->num_rows();
$datarows = array();
foreach($survey_rslt as $survey){
$datarows[] = get_tyre_survey_datarows($survey,$this);
}
echo json_encode(array('total'=>$num_rows,'rows'=>$datarows));
}
//SAVE MODEL DATA TO DATA BASE
public function save(){
$prime_tyre_survey_id = (int)$this->input->post('prime_survey_id');
$vehicle_no = (int)$this->input->post('vehicle_no');
$tyre_survey_data = array(
'name' => $this->input->post('name'),
'date' => date('Y-m-d',strtotime($this->input->post('date'))),
'vehicle_no' => $vehicle_no,
'damaged_by' => $this->input->post('damaged_by'),
'driver' => $this->input->post('driver'),
'damaged_date' => date('Y-m-d',strtotime($this->input->post('damaged_date'))),
'damaged_pic' => $this->input->post('damaged_pic'),
'km' => $this->input->post('km'),
'material_cost' => $this->input->post('material_cost'),
'damaged_cost' => $this->input->post('damaged_cost'),
'received_cost' => $this->input->post('received_cost'),
'balance' => $this->input->post('balance'),
'cost_status' => $this->input->post('cost_status'),
'received_date' => date('Y-m-d',strtotime($this->input->post('received_date'))),
'damaged_remarks' => $this->input->post('damaged_remarks')
);
if((int)$prime_tyre_survey_id === 0){
if(!$this->check_vehicle_already_exists($vehicle_no)){
$tyre_survey_data['trans_created_by'] = $this->session->userdata('logged_id');
$tyre_survey_data['trans_created_date'] = date("Y-m-d H:i:s");
if($this->db->insert('cw_tyre_survey',$tyre_survey_data)){
$prime_tyre_survey_id = $this->db->insert_id();
$tyre_info = json_decode($this->get_tyre_position_info($vehicle_no,$prime_tyre_survey_id),TRUE);
echo json_encode(array('success' => TRUE, 'message' => "Successfully Inserted",'prime_tyre_survey_id' => $prime_tyre_survey_id,'vehicle_no' => $vehicle_no,'view_content' => $tyre_info['view_content']));
}else{
echo json_encode(array('success' => FALSE, 'message' => "Insertion failed, Please Try Again"));
}
}else{
echo json_encode(array('success' => FALSE, 'message' => "Survey already in process for this vehicle"));
}
}else
if((int)$prime_tyre_survey_id > 0){
$tyre_survey_data['trans_updated_by'] = $this->session->userdata('logged_id');
$tyre_survey_data['trans_updated_date'] = date("Y-m-d H:i:s");
$this->db->where('prime_tyre_survey_id',$prime_tyre_survey_id);
if($this->db->update('cw_tyre_survey',$tyre_survey_data)){
$tyre_info = json_decode($this->get_tyre_position_info($vehicle_no,$prime_tyre_survey_id),TRUE);
echo json_encode(array('success' => TRUE, 'message' => "Successfully Updated",'prime_tyre_survey_id'=> $prime_tyre_survey_id,'vehicle_no' => $vehicle_no,'view_content' => $tyre_info['view_content']));
}else{
echo json_encode(array('success' => FALSE, 'message' => "Update failed, Please Try Again",'prime_tyre_survey_id'=> $prime_tyre_survey_id,'vehicle_no' => $vehicle_no,'view_content' => $tyre_info['view_content']));
}
}
}
//UPDATE DELETE INFORMATION IN REMOVING AND FITTING
public function check_and_delete_survey($prime_tyre_survey_list_information_id){
$this->db->from('cw_tyre_survey_list_information');
$this->db->join('cw_tyre_survey','cw_tyre_survey.prime_tyre_survey_id = cw_tyre_survey_list_information.prime_tyre_survey_id','inner');
$this->db->where('prime_tyre_survey_list_information_id',(int)$prime_tyre_survey_list_information_id);
$this->db->where('cw_tyre_survey_list_information.trans_status', 1);
$delete_info = $this->db->get()->row();
$vehicle_no = $delete_info->vehicle_no;
$tyre_position = $delete_info->tyre_position;
$this->db->from('cw_removing_fitting');
$this->db->where('vehicle_no',(int)$vehicle_no);
$this->db->where('tyre_position',(int)$tyre_position);
$this->db->where('trans_status', 1);
if((int)($this->db->get()->num_rows()) === 0){
return true;
}else{
$this->db->from('cw_removing_fitting');
$this->db->where('vehicle_no',(int)$vehicle_no);
$this->db->where('tyre_position',(int)$tyre_position);
$this->db->where('trans_status', 1);
$this->db->where('status ', 2);
if((int)($this->db->get()->num_rows()) === 0){
$update_info = array();
$update_info['trans_status'] = 0;
$update_info['trans_deleted_by'] = $this->session->userdata('logged_id');
$update_info['trans_deleted_date'] = date("Y-m-d H:i:s");
$this->db->where('vehicle_no',$vehicle_no);
$this->db->where('tyre_position',$tyre_position);
$this->db->update('cw_removing_fitting',$update_info);
return true;
}else{
return false;
}
}
}
//CHECK TYRE SURVEY EXISTS
public function check_tyre_survey($prime_tyre_survey_id){
$this->db->from('cw_tyre_survey');
$this->db->where('prime_tyre_survey_id',(int)$prime_tyre_survey_id);
$this->db->where('trans_status', 1);
if((int)($this->db->get()->num_rows()) === 1){
return TRUE;
}else{
return FALSE;
}
}
//CHECK SURVEY EXISTS IN INFORMATION DETAILS
public function check_survey_info_exist($prime_tyre_survey_list_information_id){
$this->db->from('tyre_survey_list_information');
$this->db->where('prime_tyre_survey_list_information_id',(int)$prime_tyre_survey_list_information_id);
$this->db->where('trans_status', 1);
if((int)($this->db->get()->num_rows()) === 1){
return TRUE;
}else{
return FALSE;
}
}
// GET TOTAL SURVEY COMPLETED
function get_num_rows($prime_tyre_survey_id){
$this->db->from('cw_tyre_survey_list_information');
$this->db->where('cw_tyre_survey_list_information.prime_tyre_survey_id', $prime_tyre_survey_id);
$this->db->where('cw_tyre_survey_list_information.trans_status', 1);
$tyre_survey = $this->db->get();
$num_rows = (int)$tyre_survey->num_rows();
if($num_rows > 0){
$this->db->where('prime_tyre_survey_id', $prime_tyre_survey_id);
$this->db->update('cw_tyre_survey',array('num_rows' => $num_rows));
}
}
//CHECK TYRE POSITION ALREADY EXISTS
public function check_position_already_exist($prime_tyre_survey_id,$tyre_position,$prime_tyre_survey_list_information_id = -1){
$this->db->from('cw_tyre_survey_list_information');
$this->db->where('cw_tyre_survey_list_information.prime_tyre_survey_id', $prime_tyre_survey_id);
$this->db->where('cw_tyre_survey_list_information.trans_status', 1);
$this->db->where('tyre_position',(int)$tyre_position);
if((int)$prime_tyre_survey_list_information_id > 0){
$this->db->where('prime_tyre_survey_list_information_id !=',(int)$prime_tyre_survey_list_information_id);
}
if((int)($this->db->get()->num_rows()) > 0){
return TRUE;
}else{
return FALSE;
}
}
//CHECKING VEHICLE ALREADY EXISTS
public function check_vehicle_already_exists($vehicle_no = -1){
$this->db->from('cw_tyre_survey');
if((int)$vehicle_no > 0){
$this->db->where('vehicle_no',(int)$vehicle_no);
}
$this->db->where('trans_status', 1);
if((int)($this->db->get()->num_rows()) > 0){
return TRUE;
}else{
return FALSE;
}
}
//GET SERIAL NUMBER
public function get_serial_no(){
$prime_tyre_survey_id = $this->input->post('prime_tyre_survey_id');
$tyre_position = $this->input->post('tyre_position');
$vehicle_no = $this->input->post('vehicle_no');
$this->db->select('cw_tyres_position.serial_no,cw_tyres_position.prime_vehicle_master_id');
$this->db->from('cw_tyre_survey');
$this->db->join('cw_tyres_position','cw_tyres_position.prime_vehicle_master_id = cw_tyre_survey.vehicle_no','inner');
$this->db->where('cw_tyres_position.prime_vehicle_master_id',(int)$vehicle_no);
$this->db->where('cw_tyre_survey.prime_tyre_survey_id',(int)$prime_tyre_survey_id);
$this->db->where('cw_tyres_position.position',(int)$tyre_position);
$this->db->where('cw_tyre_survey.trans_status', 1);
$this->db->where('cw_tyres_position.trans_status', 1);
$Serial_rslt = $this->db->get()->result();
$serial_no = $Serial_rslt[0]->serial_no;
echo json_encode(array("success" => TRUE,'serial_no' => $serial_no));
}
//CHECKING VEHICLE ALREADY EXISTS IN REMOVING AND FITTING
public function check_vehicle_already_exists_in_removing_fitting($prime_vehicle_id,$tyre_position){
$this->db->from('cw_removing_fitting');
$this->db->where('vehicle_no',(int)$prime_vehicle_id);
$this->db->where('tyre_position',(int)$tyre_position);
$this->db->where('trans_status', 1);
if((int)($this->db->get()->num_rows()) > 0){
return TRUE;
}else{
return FALSE;
}
}
//CHECK REMPOVING AND FITTING STATUS
public function check_status_rm_fit($prime_vehicle_id,$tyre_position){
$this->db->from('cw_removing_fitting');
$this->db->where('vehicle_no',(int)$prime_vehicle_id);
$this->db->where('tyre_position',(int)$tyre_position);
$this->db->where('trans_status', 1);
$this->db->where('status', 2);
if((int)($this->db->get()->num_rows()) === 0){
return false;
}else{
return true;
}
}
//UPDATE STATUS TO DELETE FOR UPLOAD FILES or DOCUMENTS
public function remove_file(){
$prime_id_val = $this->input->post('prime_tyre_survey_id_val');
$input_name = $this->input->post('damaged_pic');
$table_name = '';
$table_name = 'cw_tyre_survey';
if($table_name){
$created_on = date("Y-m-d h:i:s");
$set_query = $input_name .' = "" ,trans_updated_by = "'. $this->logged_id .'",trans_updated_date = "'.$created_on.'"';
$update_query = 'UPDATE '.$table_name .' SET '. $set_query .' WHERE prime_tyre_survey_id = "'. $prime_id_val .'"';
$this->db->query("CALL sp_a_run ('UPDATE','$update_query')");
echo json_encode(array('success' => TRUE, 'message' => "Successfully updated"));
}else{
echo json_encode(array('success' => FALSE, 'message' => "Unable to process your request"));
}
}
//GET TYPE PATTERN
public function get_tyre_pattern(){
$tyre_size = $this->input->post('tyre_size');
$this->db->select('prime_tyre_pattern_id,tyre_pattern');
$this->db->from('cw_tyre_pattern');
$this->db->where('cw_tyre_pattern.trans_status', 1);
$this->db->where('tyre_size',$tyre_size);
$pattern_type_result = $this->db->get()->result();
$pattern_type_ar = "<option value=''>---- Select ----</option>";
foreach($pattern_type_result as $result){
$id = $result->prime_tyre_pattern_id;
$tyre_pattern = $result->tyre_pattern;
$pattern_type_ar .= "<option value='$id'>$tyre_pattern</option>";
}
echo json_encode(array('success' => TRUE, 'pattern_type_result' => $pattern_type_ar));
}
/*SVK EDIT START - GET TYRE POSITION INFORMATION FORM */
public function get_tyre_position_info($prime_vehicle_master_id = -1,$prime_tyre_survey_id = -1){
if($this->input->post('prime_vehicle_master_id')){
$prime_vehicle_master_id = (int)$this->input->post('prime_vehicle_master_id');
}
if($this->input->post('prime_tyre_survey_id')){
$prime_tyre_survey_id = (int)$this->input->post('prime_tyre_survey_id');
}
if($prime_vehicle_master_id > 0 && $prime_tyre_survey_id > 0){
$vehicle_tyre_qry = 'SELECT position,serial_no,tyre_type,brand,tyre_size,tread_pattern_type,tyre_size,casting_type,mm from cw_tyres_position where prime_vehicle_master_id = "'.$prime_vehicle_master_id.'" and trans_status = 1 order by position';
$rlst = $this->db->query("CALL sp_a_run ('SELECT','$vehicle_tyre_qry')");
$tyre_info = $rlst->result();
$tyre_count = $rlst->num_rows();
$rlst->next_result();
if((int)$tyre_count > 0){
$this->db->from('cw_tyre_survey_list_information');
$this->db->where('prime_tyre_survey_id', $prime_tyre_survey_id);
$this->db->where('trans_status', 1);
$this->db->order_by("tyre_position", "asc");
$save_data = $this->db->get()->result();
$tr_line = '';
$k = 1;
$survey_type = array('' => '--select--','1' => 'Ntc tyre','2' => 'Att tyre');
$status_list = array('' => '--select--','1' => 'Recap','2' => 'Repair','3' => 'Claim','4' => 'Permanently Remove');
// 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;
}
// 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;
}
// LIST TYRE SIZE
$this->db->select('prime_tyre_size_id,tyre_size');
$this->db->from('cw_tyre_size');
$this->db->where('cw_tyre_size.trans_status', 1);
$tyre_size_rslt = $this->db->get()->result();
$tyre_size_list[""] = "--- Select ---";
foreach($tyre_size_rslt as $rlst){
$prime_tyre_size_id = $rlst->prime_tyre_size_id;
$tyre_size = $rlst->tyre_size;
$tyre_size_list[$prime_tyre_size_id] = $tyre_size;
}
// 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;
}
// LIST REPAIR TYPES
$this->db->select('prime_tyre_repair_type_id,repair_type');
$this->db->from('cw_tyre_repair_type');
$this->db->where('cw_tyre_repair_type.trans_status', 1);
$repair_rslt = $this->db->get()->result();
$repair_list[""] = "--- Select ---";
foreach($repair_rslt as $rlst){
$prime_tyre_repair_type_id = $rlst->prime_tyre_repair_type_id;
$repair_type = $rlst->repair_type;
$repair_list[$prime_tyre_repair_type_id] = $repair_type;
}
$h = 0;
foreach($tyre_info as $tyre_rlst){
$prime_tyre_survey_list_information_id = 0;
$survey_type_val = 0;
$serial_number_val = 0;
$brand_val = 0;
$tread_pattern_type_val = 0;
$tyre_size_val = 0;
$casting_type_val = 0;
$mm_val = 0;
$valve_caps_val = 0;
$valve_extension_val = 0;
$comments_val = 0;
$status_val = 0;
$survey_remarks_val = 0;
$torque_val = 0;
$actual_pressure_val = 0;
$rec_pressure_val = 0;
$repair_type_val = 0;
$check_tyre_position = (int)$save_data[$h]->tyre_position;
$position_id = (int)$tyre_rlst->position;
$serial = $tyre_rlst->serial_no;
$tyre_type_val = (int)$tyre_rlst->tyre_type;
$brand_val = (int)$tyre_rlst->brand;
$tread_pattern_type_val = (int)$tyre_rlst->tread_pattern_type;
$tyre_size_val = (int)$tyre_rlst->tyre_size;
$casting_type_val = (int)$tyre_rlst->casting_type;
$mm_val = $tyre_rlst->mm;
if($tyre_type_val === 1){
$tyre_type = "Position $position_id";
}else{
$tyre_type = "Spare Tyre $k";
$k++;
}
if($check_tyre_position === (int)$position_id){
$prime_tyre_survey_list_information_id = $save_data[$h]->prime_tyre_survey_list_information_id;
$survey_type_val = $save_data[$h]->survey_type;
if($save_data[$h]->mm){
$mm_val = $save_data[$h]->mm;
}
$valve_caps_val = $save_data[$h]->valve_caps;
$valve_extension_val = $save_data[$h]->valve_extension;
$comments_val = $save_data[$h]->comments;
$status_val = $save_data[$h]->status;
$survey_remarks_val = $save_data[$h]->survey_remarks;
$repair_type_val = $save_data[$h]->repair_type;
$torque_val = $save_data[$h]->torque;
$actual_pressure_val = $save_data[$h]->actual_pressure;
$rec_pressure_val = $save_data[$h]->rec_pressure;
}
$prime_tyre_survey_list_information_id = form_input(array('name'=>"prime_tyre_survey_list_information_id[]",'class' => 'form-control input-sm alpha valid','value'=>"$prime_tyre_survey_list_information_id",'type'=>'hidden'));
$tyre_type_info = form_input(array('name'=>"tyre_type[]",'class' => 'form-control input-sm alpha valid','value'=>"$tyre_type_val",'type'=>'hidden'));
$position = form_input(array('name'=>"tyre_position_hide[]",'class' => 'form-control input-sm alpha valid','value'=>"$position_id",'type'=>'hidden'));
$position = "$tyre_type $position $prime_tyre_survey_list_information_id $tyre_type_info";
$serial_no = form_input(array('name'=>"tyre_serial_no[]",'id'=>"tyre_serial_no_$position_id",'class' => 'form-control input-sm alpha valid','value'=>"$serial",'placeholder'=>"Serial No",'readonly'=>TRUE));
$serial_no = "<div class='form-group'>
<label for='tyre_serial_no_$position_id' class='control-label required'>Serial No</label>
$serial_no
</div>";
$survey_type_label = form_label("Survey Type", "survey_type_$position_id", array('class' => 'control-label required'));
$survey_type_view = form_dropdown(array('name' => 'survey_type[]','id' => "survey_type_$position_id",'class' => 'form-control input-sm select2','onchange'=>"check_survey_type('survey_type_$position_id','torque_$position_id','actual_pressure_$position_id')"), $survey_type,$survey_type_val);
$survey_type_view = "
<div class='form-group'>
$survey_type_label
$survey_type_view
</div>";
$brand_label = form_label("Brand", "brand_$position_id", array('class' => 'control-label required'));
$brand_view = form_dropdown(array('name' => 'brand[]','id' => "brand_$position_id",'class' => 'form-control input-sm select2'), $brand_list,$brand_val);
$brand_view = "<div class='form-group'>
$brand_label
$brand_view
</div>";
$tyre_size_label = form_label("Tyre Size", "tyre_size_$position_id", array('class' => 'control-label required'));
$tyre_size_view = form_dropdown(array('name' => 'tyre_size[]','id' => "tyre_size_$position_id",'class' => 'form-control input-sm select2','onchange'=>"get_tyre_pattern('tyre_size_$position_id','tread_pattern_type_$position_id')"), $tyre_size_list,$tyre_size_val);
$tyre_size_view = "<div class='form-group'>
$tyre_size_label
$tyre_size_view
</div>";
$tread_pattern_label = form_label("Tread Pattern Type", "tread_pattern_type_$position_id", array('class' => 'control-label required'));
$tread_pattern_view = form_dropdown(array('name' => 'tread_pattern_type[]','id' => "tread_pattern_type_$position_id",'class' => 'form-control input-sm select2'), $pattern_list,$tread_pattern_type_val);
$tread_pattern_view = "<div class='form-group'>
$tread_pattern_label
$tread_pattern_view
</div>";
$casting_type_label = form_label("Casting Type", "casting_type_$position_id", array('class' => 'control-label required'));
$casting_type_view = form_dropdown(array('name' => 'casting_type[]','id' => "casting_type_$position_id",'class' => 'form-control input-sm select2'), $casting_list,$casting_type_val);
$casting_type_view = "<div class='form-group'>
$casting_type_label
$casting_type_view
</div>";
$mm_label = form_label("MM", "mm_$position_id", array('class' => 'control-label required'));
$mm_view = form_input(array('name' => 'mm[]','id' => "mm_$position_id",'class' => 'form-control input-sm number', 'value' => "$mm_val"));
$mm_view = "<div class='form-group'>
$mm_label
$mm_view
</div>";
$valve_caps_label = form_label("Valve Caps", "valve_caps_$position_id", array('class' => 'control-label required'));
$valve_caps_view = form_dropdown(array('name' => 'valve_caps[]','id' => "valve_caps_$position_id",'class' => 'form-control input-sm select2','onchange'=>"check_valve('valve_caps_$position_id','valve_extension_$position_id','comments_$position_id')"),$this->lang->line('yes_no'),$valve_caps_val);
$valve_caps_view = "<div class='form-group'>
$valve_caps_label
$valve_caps_view
</div>";
$valve_extension_label = form_label("Valve Extension", "valve_extension_$position_id", array('class' => 'control-label required'));
$valve_extension_view = form_dropdown(array('name' => 'valve_extension[]','id' => "valve_extension_$position_id",'class' => 'form-control input-sm select2','onchange'=>"check_valve('valve_caps_$position_id','valve_extension_$position_id','comments_$position_id')"), $this->lang->line('yes_no'),$valve_extension_val);
$valve_extension_view = "<div class='form-group'>
$valve_extension_label
$valve_extension_view
</div>";
$status_label = form_label("Survey Status", "status_$position_id", array('class' => 'control-label required'));
$status_view = form_dropdown(array('name' => 'status[]','id' => "status_$position_id",'class' => 'form-control input-sm select2','onchange'=>"check_survey_status('status_$position_id','repair_type_$position_id')"),$status_list,$status_val);
$status_view = "<div class='form-group'>
$status_label
$status_view
</div>";
$comments_label = form_label("Comments", "comments_$position_id", array('class' => 'control-label'));
if((int)$valve_extension_val === 2 || (int)$valve_caps_vals === 2){
$comments_style = "";
}else{
$comments_style = "display:none;";
}
$comments_view = "<div class='form-group' style='$comments_style'>
$comments_label
<textarea name='comments[]' id = 'comments_$position_id' rows='1' cols='50' class = 'form-control input-sm alpha' value='$comments_val'></textarea>
</div>";
$repair_type_label = form_label("Repair type", "repair_type_$position_id", array('class' => 'control-label required'));
$repair_type_view = form_dropdown(array('name' => 'repair_type[]','id' => "repair_type_$position_id",'class' => 'form-control input-sm select2'), $repair_list,$repair_type_val);
if($repair_type_val){
$repair_style = "";
}else{
$repair_style = "display:none;";
}
$repair_type_view = "<div class='form-group' style='$repair_style'>
$repair_type_label
$repair_type_view
</div>";
$survey_remarks_label = form_label("Remarks", "survey_remarks_$position_id", array('class' => 'control-label'));
$survey_remarks_view = "<div class='form-group'>
$survey_remarks_label
<textarea name='survey_remarks[]' id = 'survey_remarks_$position_id' rows='1' cols='50' class = 'form-control input-sm alpha' value='$survey_remarks_val'></textarea>
</div>";
if((int)$survey_type_val === 1) {
$torque_style = "";
$rec_label_name = "Completed Pressure";
}else{
$torque_style = "Display:none;";
$rec_label_name = "Actual Pressure";
}
$torque_label = form_label("Torque", "torque_$position_id", array('class' => 'control-label required'));
$torque_view = form_dropdown(array('name' => 'torque[]','id' => "torque_$position_id",'class' => 'form-control input-sm select2'), $this->lang->line('yes_no'),$torque_val);
$torque_view = "<div class='form-group' style='$torque_style'>
$torque_label
$torque_view
</div>";
$rec_pressure_label = form_label("Rectified Pressure", "rec_pressure_$position_id", array('class' => 'control-label required'));
$rec_pressure_view = form_input(array('name' => 'rec_pressure[]','id' => "rec_pressure_$position_id",'class' => 'form-control input-sm number', 'value' => "$rec_pressure_val"));
$rec_pressure_view = "<div class='form-group'>
$rec_pressure_label
$rec_pressure_view
</div>";
$actual_pressure_label = form_label("$rec_label_name", "actual_pressure_$position_id", array('class' => 'control-label required'));
$actual_pressure_view = form_input(array('name' => 'actual_pressure[]','id' => "actual_pressure_$position_id",'class' => 'form-control input-sm number', 'value' => "$actual_pressure_val"));
$actual_pressure_view = "<div class='form-group'>
$actual_pressure_label
$actual_pressure_view
</div>";
$tr_line .= "
<tr>
<td colspan ='6' style='background-color: #f2f2f2; color: #274f9c; font-weight: bold; font-size: 16px;border: 1px solid #CCCCCC;'>$position</td>
</tr>
<tr>
<td>$serial_no</td>
<td>$survey_type_view</td>
<td>$brand_view</td>
<td>$tyre_size_view</td>
<td>$tread_pattern_view</td>
<td>$casting_type_view</td>
</tr>
<tr>
<td>$mm_view</td>
<td>$valve_caps_view</td>
<td>$valve_extension_view</td>
<td>$comments_view</td>
<td>$status_view</td>
<td>$repair_type_view</td>
</tr>
<tr>
<td conspan='2'>$torque_view</td>
<td>$rec_pressure_view</td>
<td>$actual_pressure_view</td>
<td conspan='2'>$survey_remarks_view</td>
</tr>";
$h++;
}
$prime_tyre_survey_view = form_input( array("name"=>'prime_tyre_survey_id', "id"=>'prime_tyre_survey_id',"value"=>$prime_tyre_survey_id,"type"=>"hidden"));
$vehicle_master_id = form_input(array('name' => 'vehicle_master_id','id'=>'vehicle_master_id','class' => 'form-control input-sm alpha valid','value'=>$prime_vehicle_master_id,'type'=>'hidden'));
if($tr_line){
$tr_line .= "<tr>
<td colspan ='7' style='text-align:center;'>
<a class='btn btn-sm btn-primary' id='add_tyre_info_btn' > Add/Update</a>
</td>
</tr>";
}
$view_content = "
<div style='background-color: #FFFFFF;padding:8px;'>
$prime_tyre_survey_view
$vehicle_master_id
<table class='table' >
<tbody>
$tr_line
</tbody>
</table>
</div>";
return json_encode(array("success" => TRUE,'view_content' => $view_content));
}else{
return json_encode(array("success" => False,'view_content' => ''));
}
}
}
public function save_tyre_survey_info(){
$prime_tyre_survey_id = (int)$this->input->post('prime_tyre_survey_id');
$prime_vehicle_id = (int)$this->input->post('vehicle_master_id');
if($prime_tyre_survey_id > 0 && $prime_vehicle_id > 0){
$tyre_survey_list_id = $this->input->post('prime_tyre_survey_list_information_id');
$position_hide = $this->input->post('position_hide');
$tyre_type = $this->input->post('tyre_type');
$survey_type = $this->input->post('survey_type');
$serial_no = $this->input->post('serial_no');
$brand = $this->input->post('brand');
$torque = $this->input->post('torque');
$actual_pressure = $this->input->post('actual_pressure');
$rec_pressure = $this->input->post('rec_pressure');
$tyre_size = $this->input->post('tyre_size');
$casting_type = $this->input->post('casting_type');
$tread_pattern_type = $this->input->post('tread_pattern_type');
$mm = $this->input->post('mm');
$valve_caps = $this->input->post('valve_caps');
$valve_extension = $this->input->post('valve_extension');
$comments = $this->input->post('comments');
$status = $this->input->post('status');
$repair_type = $this->input->post('repair_type');
$survey_remarks = $this->input->post('survey_remarks');
$k = 1;
$insert_tr_line = "";
$update_tr_line = "";
$error_tr_line = "";
$insert_count = 0;
$update_count = 0;
$error_count = 0;
foreach($position_hide as $key => $value){
$survey_info_data = array(
'survey_type' => $survey_type[$key],
'tyre_position' => $position_hide[$key],
'brand' => $brand[$key],
'torque' => $torque[$key],
'actual_pressure' => $actual_pressure[$key],
'rec_pressure' => $rec_pressure[$key],
'tyre_size' => $tyre_size[$key],
'casting_type' => $casting_type[$key],
'serial_number' => $serial_no[$key],
'tread_pattern_type' => $tread_pattern_type[$key],
'mm' => $mm[$key],
'valve_caps' => $valve_caps[$key],
'valve_extension' => $valve_extension[$key],
'comments' => $comments[$key],
'repair_type' => $repair_type[$key],
'survey_remarks' => $survey_remarks[$key],
'status' => $status[$key],
'prime_tyre_survey_id' => $prime_tyre_survey_id
);
if((int)$tyre_type[$key] === 1){
$tyre_type_info = "Position $position_hide[$key]";
}else{
$tyre_type_info = "Spare Tyre $k";
$k++;
}
if($this->check_tyre_survey($prime_tyre_survey_id,TRUE)){
if((int)$tyre_survey_list_id[$key] === 0){
if(!($this->check_position_already_exist($prime_tyre_survey_id,$position_hide[$key]))){
if($this->update_tyre_info($survey_info_data,$position_hide[$key],$prime_vehicle_id,$status[$key])){
$survey_info_data['trans_created_by'] = $this->session->userdata('logged_id');
$survey_info_data['trans_created_date'] = date("Y-m-d H:i:s");
if($this->db->insert('tyre_survey_list_information',$survey_info_data)){
$prime_tyre_survey_list_information_id = $this->db->insert_id();
$this->get_num_rows($prime_tyre_survey_id);
$insert_tr_line .= "<tr><td>$tyre_type_info</td><td>Inserted Successfully</td></tr>";
$insert_count = (int)$insert_count + 1;
}else{
$error_tr_line .= "<tr><td>$tyre_type_info</td><td >Insertion Failed</td></tr>";
$error_count = (int)$error_count + 1;
}
}else{
$error_tr_line .= "<tr><td>$tyre_type_info</td><td >Tyre position is already exists</td></tr>";
$error_count = (int)$error_count + 1;
}
}
}else{
if($this->check_survey_info_exist($tyre_survey_list_id[$key],TRUE)){
if(!($this->check_position_already_exist($prime_tyre_survey_id,$position_hide[$key],$tyre_survey_list_id[$key]))){
$survey_info_data['trans_updated_by'] = $this->session->userdata('logged_id');
$survey_info_data['trans_updated_date'] = date("Y-m-d H:i:s");
if($this->update_tyre_info($survey_info_data,$position_hide[$key],$prime_vehicle_id,$status[$key])){
$this->db->where('prime_tyre_survey_id',$prime_tyre_survey_id);
$this->db->where('prime_tyre_survey_list_information_id',$tyre_survey_list_id[$key]);
if($this->db->update('tyre_survey_list_information',$survey_info_data)){
$this->get_num_rows($prime_tyre_survey_id);
$update_tr_line .= "<tr><td>$tyre_type_info</td><td >Updated Successfully</td></tr>";
$update_count = (int)$update_count + 1;
}
}else{
$error_tr_line .= "<tr><td >Update not allowed for this tyre $tyre_type_info</td></tr>";
$error_count = (int)$error_count + 1;
}
}else{
$error_tr_line .= "<tr><td>$tyre_type_info</td><td >Tyre position is already exists</td></tr>";
$error_count = (int)$error_count + 1;
}
}
}
}else{
$error_tr_line .= "<tr><td colspan='2'>Please Contact Admin ... !<td></tr>";
$error_count = (int)$error_count + 1;
}
}
$insert_message = "$insert_tr_line";
$update_message = "$update_tr_line";
$error_message = "$error_tr_line";
echo json_encode(array('success' => TRUE, 'message' => "Processed Successfully",'insert_count'=> $insert_count,'update_count'=> $update_count,'error_count' => $error_count,"insert_message"=>$insert_message,'update_message'=> $update_message,'error_message'=> $error_message));
}
}
//CHECKING VEHICLE HAVE TYRE OR NOT
public function check_vehicle_tyre_info(){
$vehicle_no = $this->input->post('vehicle_no');
$this->db->from('cw_tyres_position');
$this->db->where('prime_vehicle_master_id',$vehicle_no);
$this->db->where('cw_tyres_position.trans_status', 1);
if((int)($this->db->get()->num_rows()) > 0){
echo json_encode(array('success' => TRUE));
}else{
echo json_encode(array('success' => False));
}
}
//UPDATE TYRE INFORMATION IN REMOVING AND FITTING
public function update_tyre_info($survey_info_data,$tyre_position,$prime_vehicle_id,$status){
$rm_fitting_info = array( 'vehicle_no' => $prime_vehicle_id,
'tyre_size' => $survey_info_data['tyre_size'],
'casting_type' => $survey_info_data['casting_type'],
'tyre_position' => $survey_info_data['tyre_position'],
'prime_tyre_survey_id' => $survey_info_data['prime_tyre_survey_id'],
'brand' => $survey_info_data['brand'],
'thread_type' => $survey_info_data['tread_pattern_type'],
'valve_caps' => $survey_info_data['valve_caps'],
'valve_extension' => $survey_info_data['valve_extension'],
'mm' => $survey_info_data['mm'],
'survey_status' => $survey_info_data['status'],
'serial_number' => $survey_info_data['serial_number'],
'status' => 1,
'date' => date('Y-m-d')
);
if(!$this->check_vehicle_already_exists_in_removing_fitting($prime_vehicle_id,$tyre_position)){
$rm_fitting_info['trans_created_by'] = $this->session->userdata('logged_id');
$rm_fitting_info['trans_created_date'] = date("Y-m-d H:i:s");
$this->db->insert('cw_removing_fitting',$rm_fitting_info);
return true;
}else{
if(!$this->check_status_rm_fit($prime_vehicle_id,$tyre_position)){
$rm_fitting_info['trans_updated_by'] = $this->session->userdata('logged_id');
$rm_fitting_info['trans_updated_date'] = date("Y-m-d H:i:s");
$this->db->where('vehicle_no',$prime_vehicle_id);
$this->db->where('tyre_position',$tyre_position);
$this->db->update('cw_removing_fitting',$rm_fitting_info);
return true;
}else{
return false;
}
}
}
}
?>