diff --git a/application/helpers/custom_helper.php b/application/helpers/custom_helper.php index 60fd501..d62b419 100644 --- a/application/helpers/custom_helper.php +++ b/application/helpers/custom_helper.php @@ -159,3 +159,16 @@ function get_days() return $days; } } + + // show different between two dates + if(!function_exists('day_different')){ + function day_different($to){ + + if($to != ''){ + $days = (new DateTime())->diff(new DateTime($to))->days; + return $days; + }else{ + return ''; + } + } + } \ No newline at end of file diff --git a/application/modules/Asset/controllers/Asset.php b/application/modules/Asset/controllers/Asset.php index cf557d6..9f6deec 100644 --- a/application/modules/Asset/controllers/Asset.php +++ b/application/modules/Asset/controllers/Asset.php @@ -51,6 +51,7 @@ public function addAsset($id='empty') $this->layout->set('suppliorData', $this->MY_Model->select_by_business_id_and_type('third_parties',user()->business_id,2)); $this->layout->set('locationsData', $this->MY_Model->select_by_business_id('locations',user()->business_id)); $this->layout->set('categoriesData', $this->MY_Model->select_by_business_id('categories',user()->business_id)); + $this->layout->set('statusData', $this->MY_Model->select('status')); $this->layout->buffer('main_content', 'Asset/add_asset'); $this->layout->render('default_layout'); @@ -71,7 +72,7 @@ public function createAssets() $data=$this->input->post(); $data['business_id'] = user()->business_id; $data['created_by'] = user()->name; - echo $this->input->post('asset_img'); + //file upload confic $asset_image['upload_path'] = APPPATH. '../assets/uploads/'; $asset_image['allowed_types'] = 'gif|jpg|png'; @@ -101,14 +102,15 @@ public function editAsset($id) $this->layout->set('suppliorData', $this->MY_Model->select_by_business_id_and_type('third_parties',user()->business_id,2)); $this->layout->set('locationsData', $this->MY_Model->select_by_business_id('locations',user()->business_id)); $this->layout->set('categoriesData', $this->MY_Model->select_by_business_id('categories',user()->business_id)); + $this->layout->set('statusData', $this->MY_Model->select('status')); // select asset value by id $table="asset"; $assetData = $this->Asset_model->get_asset_by_md5_id($id,user()->business_id); - // select asset sub values by id $asset_value = $this->Asset_model->get_by_asset_id($id,'asset_value',user()->business_id); $asset_usage = $this->Asset_model->get_by_asset_id($id,'asset_usage',user()->business_id); - $asset_amc = $this->Asset_model->get_by_asset_id($id,'amc',user()->business_id); - $data = array('asset_value' => $asset_value ,'asset_usage' => $asset_usage , 'asset_amc' =>$asset_amc); + $asset_amc = $this->Asset_model->get_amc_with_join($id,'amc',user()->business_id); + $asset_images = $this->Asset_model->get_by_asset_id($id,'asset_images',user()->business_id); + $data = array('asset_id'=>$assetData->id,'asset_value' => $asset_value ,'asset_usage' => $asset_usage , 'asset_amc' =>$asset_amc , 'asset_images'=>$asset_images); $sub_asset_value_htmlPage = $this->load->view('asset_sub_value_list.php',$data,true); $this->layout->set('sub_asset_value_htmlPage', $sub_asset_value_htmlPage); $this->layout->set('editData', $assetData); @@ -123,6 +125,12 @@ public function editAssets() $table="asset"; $action = $this->input->post(); + $date = date_create($this->input->post('purchase_date')); + $action['purchase_date'] = date_format($date,"Y-m-d"); + + + + //print_r($action);die(); $id = $this->input->post('id'); //file upload confic $asset_image['upload_path'] = APPPATH. '../assets/uploads/'; @@ -151,33 +159,259 @@ public function editAssets() public function deleteAsset($id) { - $Data = $this->Asset_model->delete_asset_by_md5_id($id,user()->business_id); + $Data = $this->Asset_model->delete_by_md5_id($id,user()->business_id,'asset'); redirect('asset/assetList'); } - - public function getAssetDetails($id) - { - $asset_value = $this->Asset_model->get_by_asset_id($id,'asset_value',user()->business_id); - $asset_usage = $this->Asset_model->get_by_asset_id($id,'asset_usage',user()->business_id); - $asset_amc = $this->Asset_model->get_by_asset_id($id,'amc',user()->business_id); - $data = array('asset_value' => $asset_value ,'asset_usage' => $asset_usage , 'asset_amc' =>$asset_amc); - - $htmlPage = $this->load->view('asset_sub_value_list.php',$data,true); - echo json_encode($htmlPage); + + + + + + + + + + + + + + + + public function view_asset_details($id) + { + + // select asset value by id + $table="asset"; + $assetData = $this->Asset_model->get_asset_by_md5_id($id,user()->business_id); + // select asset sub values by id + $asset_value = $this->Asset_model->get_by_asset_id($id,'asset_value',user()->business_id); + $asset_usage = $this->Asset_model->get_by_asset_id($id,'asset_usage',user()->business_id); + $asset_amc = $this->Asset_model->get_amc_with_join($id,'amc',user()->business_id); + $asset_images = $this->Asset_model->get_by_asset_id($id,'asset_images',user()->business_id); + $data = array('asset_id'=>$assetData->id,'asset_value' => $asset_value ,'asset_usage' => $asset_usage , 'asset_amc' =>$asset_amc , 'asset_images'=>$asset_images); + $sub_asset_value_htmlPage = $this->load->view('asset_sub_value_list.php',$data,true); + $this->layout->set('sub_asset_value_htmlPage', $sub_asset_value_htmlPage); + $this->layout->set('editData', $assetData); + $this->layout->buffer('main_content', 'Asset/view_asset_details'); + $this->layout->render('default_layout'); + } + + // public function getAssetDetails($id) + // { + // $asset_value = $this->Asset_model->get_by_asset_id($id,'asset_value',user()->business_id); + // $asset_usage = $this->Asset_model->get_by_asset_id($id,'asset_usage',user()->business_id); + // $asset_amc = $this->Asset_model->get_by_asset_id($id,'amc',user()->business_id); + // $data = array('asset_value' => $asset_value ,'asset_usage' => $asset_usage , 'asset_amc' =>$asset_amc); + + // $htmlPage = $this->load->view('asset_sub_value_list.php',$data,true); + // echo json_encode($htmlPage); + // } -public function getAssetUsageDetails($id) + + public function getAssetValueForm($id) { - $data = array(); - $htmlPage = $this->load->view('asset_usage_form.php',$data,true); - echo json_encode($htmlPage); - } -public function getAssetValueDetails($id) - { - $data = array(); + + $split = preg_split('/_/', $id); + if(count($split) > 1) + { + $data = array('asset_id'=> $split[0], 'heading'=>'Add Asset Values' , 'submit_button_title'=>'Submit'); + }else{ + $asset_value_data = $this->MY_Model->get_by_md5_id($id,'asset_value'); + $data = array('assetValueData'=>$asset_value_data ,'heading'=>'Edit Asset Values' , 'submit_button_title'=>'Update'); + } + $htmlPage = $this->load->view('asset_value_form.php',$data,true); echo json_encode($htmlPage); } + + + public function add_or_edit_asset_value() + { + if($this->input->post('id')) + { + $value = $this->input->post(); + unset($value['asset_id_for_add']); + $editAssetValueData = $this->MY_Model->edit_option($value, $this->input->post('id'), 'asset_value'); + //$this->view_asset_details(md5($this->input->post('asset_id'))); + redirect('asset/view_asset_details/'.md5($this->input->post('asset_id'))); + }else{ + $data['asset_id'] = $this->input->post('asset_id_for_add'); + $data['business_id'] = user()->business_id; + $data['type'] = $this->input->post('type'); + $data['name'] = $this->input->post('name'); + $data['value'] = $this->input->post('value'); + $data['percentage'] = $this->input->post('percentage'); + $data['description'] = $this->input->post('description'); + $data['created_by'] = user()->id; + $createAssetValueData = $this->MY_Model->insert($data, 'asset_value'); + //$this->view_asset_details(md5($this->input->post('asset_id_for_add'))); + redirect('asset/view_asset_details/'.md5($this->input->post('asset_id_for_add'))); + } + } + + + + + public function getAssetUsageForm($id) + { + $split = preg_split('/_/', $id); + + if(count($split) > 1) + { + $data = array('asset_id'=> $split[0], 'heading'=>'Add Asset Usage' , 'submit_button_title'=>'Submit'); + }else{ + $asset_usage_data = $this->MY_Model->get_by_md5_id($id,'asset_usage'); + $data = array('assetUsageData'=>$asset_usage_data ,'heading'=>'Edit Asset Usage' , 'submit_button_title'=>'Update'); + } + + $htmlPage = $this->load->view('asset_usage_form.php',$data,true); + echo json_encode($htmlPage); + } + + public function add_or_edit_asset_usage() + { + if($this->input->post('id')) + { + $value = $this->input->post(); + unset($value['asset_id_for_add']); + $editAssetUsageData = $this->MY_Model->edit_option($value, $this->input->post('id'), 'asset_usage'); + // $this->view_asset_details(md5($this->input->post('asset_id'))); + redirect('asset/view_asset_details/'.md5($this->input->post('asset_id'))); + }else{ + $data['asset_id'] = $this->input->post('asset_id_for_add'); + $data['business_id'] = user()->business_id; + $data['date_from'] = $this->input->post('date_from'); + $data['date_to'] = $this->input->post('date_to'); + $data['quater'] = $this->input->post('quater'); + $data['shift'] = $this->input->post('shift'); + $data['created_by'] = user()->id; + $createAssetUsageData = $this->MY_Model->insert($data, 'asset_usage'); + //$this->view_asset_details(md5($this->input->post('asset_id_for_add'))); + redirect('asset/view_asset_details/'.md5($this->input->post('asset_id_for_add'))); + } + } + + + + + + public function getAssetAMCForm($id) + { + $split = preg_split('/_/', $id); + $insuranceData = $this->MY_Model->select_by_business_id_and_type('third_parties',user()->business_id,4); + $serviceProviderData = $this->MY_Model->select_by_business_id_and_type('third_parties',user()->business_id,3); + if(count($split) > 1) + { + $data = array('asset_id'=> $split[0], 'insuranceData'=>$insuranceData,'serviceProviderData'=>$serviceProviderData, 'heading'=>'Add AMC' , 'submit_button_title'=>'Submit'); + }else{ + $asset_amc_data = $this->Asset_model->get_amc_by_id_with_join($id); + $data = array('insuranceData'=>$insuranceData,'serviceProviderData'=>$serviceProviderData,'assetAMCData'=>$asset_amc_data ,'heading'=>'Edit AMC' , 'submit_button_title'=>'Update'); + } + + $htmlPage = $this->load->view('asset_amc_form.php',$data,true); + echo json_encode($htmlPage); + } + + public function add_or_edit_asset_amc() + { + if($this->input->post('id')) + { + $value = $this->input->post(); + unset($value['asset_id_for_add']); + $editAMCData = $this->MY_Model->edit_option($value, $this->input->post('id'), 'amc'); + //$this->view_asset_details(md5($this->input->post('asset_id'))); + redirect('asset/view_asset_details/'.md5($this->input->post('asset_id'))); + }else{ + $data['asset_id'] = $this->input->post('asset_id_for_add'); + $data['business_id'] = user()->business_id; + $data['service_provider'] = $this->input->post('service_provider'); + $data['cost'] = $this->input->post('cost'); + $data['insurance'] = $this->input->post('insurance'); + $data['description'] = $this->input->post('description'); + $data['valid_from'] = $this->input->post('valid_from'); + $data['valid_to'] = $this->input->post('valid_to'); + $data['created_by'] = user()->id; + $createAMCData = $this->MY_Model->insert($data, 'amc'); + //$this->view_asset_details(md5($this->input->post('asset_id_for_add'))); + redirect('asset/view_asset_details/'.md5($this->input->post('asset_id_for_add'))); + } + } + + + + public function getAssetImageForm($id) + { + + $data = array('asset_id'=> $id, 'heading'=>'Add Image' , 'submit_button_title'=>'Submit'); + $htmlPage = $this->load->view('asset_image_form.php',$data,true); + echo json_encode($htmlPage); + } + + public function add_asset_image() + { + + $data['business_id'] = user()->business_id; + $data['created_by'] = user()->id; + $data['asset_id'] = $this->input->post('asset_id'); + + //file upload confic + $asset_image['upload_path'] = APPPATH. '../assets/uploads/'; + $asset_image['allowed_types'] = 'gif|jpg|png'; + $asset_image['max_size'] = 80000; + //upload + $this->load->library('upload', $asset_image); + $this->upload->initialize($asset_image); + if ( ! $this->upload->do_upload('image')) + { + $error = array('error' => $this->upload->display_errors()); + } else{ + $upload_asset_image = $this->upload->data(); + $data['image'] = $upload_asset_image['file_name']; + } + //print_r($data);die(); + $table="asset_images"; + $create_assets = $this->MY_Model->insert($data,$table); + redirect('asset/view_asset_details/'.md5($this->input->post('asset_id'))); + + } + + public function deleteAssetValue($id) + { + $split = preg_split('/_/', $id); + $key = $split[0]; + $asset_id = $split[1]; + $Data = $this->Asset_model->delete_by_md5_id($key,user()->business_id,'asset_value'); + redirect('asset/view_asset_details/'.md5($asset_id)); + } + public function deleteAssetUsage($id) + { + $split = preg_split('/_/', $id); + $key = $split[0]; + $asset_id = $split[1]; + $Data = $this->Asset_model->delete_by_md5_id($key,user()->business_id,'asset_usage'); + redirect('asset/view_asset_details/'.md5($asset_id)); + } + public function deleteAssetAMC($id) + { + $split = preg_split('/_/', $id); + $key = $split[0]; + $asset_id = $split[1]; + $Data = $this->Asset_model->delete_by_md5_id($key,user()->business_id,'amc'); + redirect('asset/view_asset_details/'.md5($asset_id)); + } + public function deleteAssetImage($id) + { + $split = preg_split('/_/', $id); + $key = $split[0]; + $asset_id = $split[1]; + $Data = $this->Asset_model->delete_by_md5_id($key,user()->business_id,'asset_images'); + redirect('asset/view_asset_details/'.md5($asset_id)); + } + + + + } diff --git a/application/modules/Asset/models/Asset_model.php b/application/modules/Asset/models/Asset_model.php index 9694f9f..9ec5d71 100644 --- a/application/modules/Asset/models/Asset_model.php +++ b/application/modules/Asset/models/Asset_model.php @@ -3,12 +3,13 @@ class Asset_model extends MY_Model { public function get_assets($business_id) { - $this->db->select('A.* , categories.name as category_name , third_parties.name as manufacturer_name ,tp.name as supplier_name , locations.location as location_name'); + $this->db->select('A.* , categories.name as category_name , third_parties.name as manufacturer_name ,tp.name as supplier_name , locations.location as location_name , status.display_name as status_display_name'); $this->db->from('asset A'); $this->db->join('categories', 'categories.id = A.category', 'left'); $this->db->join('third_parties', 'third_parties.id = A.manufacturer', 'left'); $this->db->join('third_parties as tp', 'tp.id = A.supplier', 'left'); $this->db->join('locations', 'locations.id = A.location', 'left'); + $this->db->join('status', 'status.id = A.status', 'left'); $this->db->where('A.business_id', $business_id); $this->db->order_by('A.id','ASC'); $this->db->where('A.is_active', 1); @@ -19,12 +20,13 @@ public function get_assets($business_id) public function get_asset_by_md5_id($id,$business_id) { - $this->db->select('A.* , categories.name as category_name , third_parties.name as manufacturer_name ,tp.name as supplier_name , locations.location as location_name'); + $this->db->select('A.* , categories.name as category_name , third_parties.name as manufacturer_name ,tp.name as supplier_name , locations.location as location_name, status.display_name as status_display_name '); $this->db->from('asset A'); $this->db->join('categories', 'categories.id = A.category', 'left'); $this->db->join('third_parties', 'third_parties.id = A.manufacturer', 'left'); $this->db->join('third_parties as tp', 'tp.id = A.supplier', 'left'); $this->db->join('locations', 'locations.id = A.location', 'left'); + $this->db->join('status', 'status.id = A.status', 'left'); $this->db->where('A.business_id', $business_id); $this->db->where('md5(A.id)', $id); $query = $this->db->get(); @@ -32,14 +34,7 @@ public function get_asset_by_md5_id($id,$business_id) return $query; } - public function delete_asset_by_md5_id($id,$business_id) - { - $this->db->where('md5(id)', $id); - $this->db->where('business_id', $business_id); - $this->db->set('is_active',0); - $this->db->update('asset'); - return; - } + public function get_by_asset_id($id,$table,$business_id) { @@ -47,10 +42,43 @@ public function get_by_asset_id($id,$table,$business_id) $this->db->from($table); $this->db->where('business_id', $business_id); $this->db->where('md5(asset_id)', $id); + $this->db->where('is_active', 1); $query = $this->db->get(); $query = $query->result(); return $query; + } +public function get_amc_with_join($id,$table,$business_id) + { + $this->db->select('A.* , third_parties.name as service_provider_name , tp.name as insurance_name'); + $this->db->from('amc A'); + $this->db->join('third_parties', 'third_parties.id = A.service_provider', 'left'); + $this->db->join('third_parties as tp', 'tp.id = A.insurance', 'left'); + $this->db->where('A.business_id', $business_id); + $this->db->where('md5(A.asset_id)', $id); + $this->db->where('is_active', 1); + $query = $this->db->get(); + $query = $query->result(); + return $query; + } +public function get_amc_by_id_with_join($id) +{ + $this->db->select('A.* , third_parties.name as service_provider_name , tp.name as insurance_name'); + $this->db->from('amc A'); + $this->db->join('third_parties', 'third_parties.id = A.service_provider', 'left'); + $this->db->join('third_parties as tp', 'tp.id = A.insurance', 'left'); + $this->db->where('md5(A.id)', $id); + $this->db->where('is_active', 1); + $query = $this->db->get(); + $query = $query->row(); + return $query; +} +public function delete_by_md5_id($id,$business_id,$table) + { + $this->db->where('md5(id)', $id); + $this->db->where('business_id', $business_id); + $this->db->set('is_active',0); + $this->db->update($table); + return; } - } \ No newline at end of file diff --git a/application/modules/Asset/views/add_asset.php b/application/modules/Asset/views/add_asset.php index 8ee679b..2046744 100644 --- a/application/modules/Asset/views/add_asset.php +++ b/application/modules/Asset/views/add_asset.php @@ -33,13 +33,15 @@