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