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"));
}
}
?>