diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 76ec5cca..f4eb5e87 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -273,6 +273,11 @@ $routes->group("/util", ["filter" => "authMVC"], function ($routes) { $routes->get("featch_dashboard_data/(:any)", "DashboardController::featch_dashboard_data/$1"); $routes->get("remove_rack_rate/(:any)", "ClientController::removeRackRate/$1"); $routes->get("rename_rack_rate_tab/(:any)", "ClientController::renameRackRateTab/$1"); + $routes->post("create_excel_template", "MasterController::createExcelTemplate"); + $routes->get("get_insurer_by_export_templete", "MasterController::getInsurerByExportTemplete"); + $routes->get("copy_insurer_templete/(:any)", "MasterController::copyInsurerTemplete/$1"); + $routes->get("get_single_excel_template/(:any)", "MasterController::getSingleExcelTemplate/$1"); + $routes->get("dublicate_template/(:any)", "MasterController::duplicateTemplate/$1"); }); $routes->cli('cli/processjob', 'JobWorker::processJob'); diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index 70431bb7..ceb81ef8 100644 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -751,7 +751,7 @@ class ClientController extends AdminController return $this->respond([ 'status' => false, 'code' => 404, - 'message' => 'Cannot delete config units', + 'message' => "Deleted unit(s) in use. couldn't complete this operation.", 'uncommonValues' => $uncommonValues, 'data' => $branchData, ], 200); diff --git a/app/Controllers/EmpDataServiceController.php b/app/Controllers/EmpDataServiceController.php index 6e69647f..fbf60d4e 100644 --- a/app/Controllers/EmpDataServiceController.php +++ b/app/Controllers/EmpDataServiceController.php @@ -943,7 +943,7 @@ class EmpDataServiceController extends BaseController ->select('insurer_excel_export_template.jsoncolumns') ->join('insurer_excel_export_template', 'insurer_excel_export_template.insurer_id = client_policy.insurer_id and insurer_excel_export_template.policy_type_id = client_policy.policy_type_id') ->where('client_policy.id', $export_data['client_policy_id']) - ->where('insurer_excel_export_template.event_name', 'inception') + ->where('insurer_excel_export_template.event_name', 'all') ->where('insurer_excel_export_template.type_name', $export_data['actions']) ->first(); diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php index 1cc96792..bff8c812 100644 --- a/app/Controllers/EmployeeController.php +++ b/app/Controllers/EmployeeController.php @@ -254,6 +254,7 @@ class EmployeeController extends AdminController return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => 'file upload success'], 200); } + $data['page_name'] = 'View Inception'; //for TPA/insurer upload $data['events'] = ['inception' => 'Inception (Employee + Dependents)', 'missed_inception' => 'Missed Inception (Employee + Dependents)', 'addition' => 'Addition (Employee + Dependents)', 'dependent_addition' => 'Dependent Addition (Only Dependents)', 'deletion' => 'Deletion', 'correction' => 'Correction', 'si_enhancement' => 'SI Enhancement']; @@ -415,7 +416,6 @@ class EmployeeController extends AdminController $event_type = $this->request->getPost('event_type'); } - $this->myLogger->logme('error', 'Import Export -- Function called'); $empDataServiceController = new EmpDataServiceController(); @@ -534,7 +534,6 @@ class EmployeeController extends AdminController $batch_data['event_type'] = $array; $return = $empDataServiceController->generateExcelForAllEventType($batch_data); - if($return === 6){ session()->setFlashdata('error', "The Insurer does not have an Excel export template format."); @@ -549,6 +548,7 @@ class EmployeeController extends AdminController } } + } else if ($actions == 'import') { $batch_data['file'] = $this->request->getFile('import_file_data'); diff --git a/app/Controllers/MasterController.php b/app/Controllers/MasterController.php index 0fa4f33b..7e0144fd 100644 --- a/app/Controllers/MasterController.php +++ b/app/Controllers/MasterController.php @@ -160,8 +160,56 @@ class MasterController extends AdminController $editData['policy_type'] = $this->policyTypeModel->whereIn('id', [1,2,6,7])->findAll(); $editData['events'] = ['inception' => 'Inception', 'addition' => 'Addition', 'dependent_addition' => 'Dependent Addition', 'deletion' => 'Deletion', 'correction' => 'Correction', 'si_enhancement' => 'SI Enhancement', 'all' => 'All']; $editData['action'] = ['import' => 'Import', 'export' => 'Export']; - $editData['db_column_name'] = ['Employee Name' => 'emp_name', 'Employee ID' => 'emp_code']; + $editData['db_column_name'] = [ + 'Employee Name' => 'emp_name', + 'Employee ID' => 'emp_code', + 'Date of Birth' => 'emp_dob', + 'Gender' => 'emp_gender', + 'Change Event' => 'change_event', + 'Relationship' => 'emp_relationship', + 'Relationship Code' => 'emp_relationship_code', + 'Event Type' => 'event_type_data', + 'Date of Joining' => 'emp_doj', + 'Mobile' => 'emp_mobile', + 'Corporate Email' => 'emp_email_c', + 'Personal Email' => 'emp_email_p', + 'Grade' => 'emp_grade', + 'Designation' => 'emp_designation', + 'Basic Pay' => 'emp_basic_pay', + 'Age' => 'emp_age', + 'Employee Type' => 'emp_type', + 'Primary Key' => 'primaryKey', + 'TPA ID' => 'tpa_id', + 'UHID' => 'uhid', + 'Pre-existing Alignments' => 'pre_existing_alignments', + 'Basic Cover SI' => 'basic_cover_si', + 'Date of Coverage' => 'date_coverage', + 'Policy End Date' => 'policy_end_date', + 'Number of Days' => 'no_of_days', + 'Premium' => 'premium', + 'Pro Rata Premium' => 'pro_rata_premium', + 'GST' => 'gst', + 'Total' => 'total', + 'Policy ID' => 'emp_policy_id', + 'SEZ' => 'sez', + 'Endorsement ID' => 'endorsement_id', + 'Old Value' => 'old_value', + 'New Value' => 'new_value', + 'Field Name' => 'field_name', + 'Remarks' => 'remarks', + 'Actions' => 'actions', + 'Date of Exit' => 'dateofexit', + 'Reason for Exit' => 'reasonforexit', + 'Status' => 'status', + 'Old Basic Cover SI' => 'old_basic_cover_si', + 'Old SI Premium' => 'old_si_premium', + 'New Basic Cover SI' => 'new_basic_cover_si', + 'New SI Premium' => 'new_si_premium', + 'Date of Coverage' => 'date_of_coverage', + + ]; + @@ -356,6 +404,8 @@ class MasterController extends AdminController $insurer_data = $this->insurerModel ->select('insurers.name as insurer_name, insurers.id, insurers.is_multi_event') ->join('insurer_excel_export_template', 'insurer_excel_export_template.insurer_id = insurers.id') + ->where('insurer_excel_export_template.is_active', 1) + ->where('insurers.is_active', 1) ->groupBy('insurers.id') ->findAll(); @@ -364,8 +414,8 @@ class MasterController extends AdminController public function copyInsurerTemplete($existing_insurer_id, $copy_insurer_id) { - $insurer_templete_data = $this->insurerTemplateModel->where('insurer_id', $existing_insurer_id)->findAll(); - $existing_insurer_templete_data = $this->insurerTemplateModel->where('insurer_id', $copy_insurer_id)->delete(); + $insurer_templete_data = $this->insurerTemplateModel->where('insurer_id', $existing_insurer_id)->where('is_active', 1)->findAll(); + $existing_insurer_templete_data = $this->insurerTemplateModel->where('insurer_id', $copy_insurer_id)->set('is_active', 0)->update(); $data_to_insert = []; foreach ($insurer_templete_data as $value) { @@ -381,12 +431,31 @@ class MasterController extends AdminController } $insert_result = $this->insurerTemplateModel->insertBatch($data_to_insert); + if($insert_result){ return $this->respond(['status' => true, 'message' => 'Template added successfully', $insurer_templete_data]); }else{ - return $this->respond(['status' => true, 'message' => 'Failed to add template', $insurer_templete_data]); + return $this->respond(['status' => false, 'message' => 'Failed to add template', $insurer_templete_data]); } } + + public function getSingleExcelTemplate($id = null) + { + $insurer_templete_data = $this->insurerTemplateModel + ->where('id', $id) + ->where('is_active', 1) + ->first(); + + if($insurer_templete_data){ + + return $this->respond(['status' => true, 'code' => 200, 'data' => $insurer_templete_data, 'message' => 'data found'], 200); + + }else{ + + return $this->respond(['status' => false, 'code' => 404, 'message' => 'no data found'], 200); + } + + } // Insurer Ends @@ -1113,7 +1182,8 @@ class MasterController extends AdminController //start CD Master list public function CDMasterList() - { + { + $data['page_name'] = 'CD Master List'; $data['CD_Master_Data'] = $this->CDMasterModel->getCDMasterList(); $data['insurers'] = $this->insurerModel->where('is_active', 1)->findAll(); $data['clients'] = $this->clientModel->where('is_active', 1)->findAll(); @@ -1265,23 +1335,99 @@ class MasterController extends AdminController + //excel export template public function createExcelTemplate() - { + { + // return $this->respond($this->request->getPost()); + $template_id = $this->request->getPost('template_id'); + $data = [ 'insurer_id' => $this->request->getPost('insurer_id'), 'policy_type_id' => $this->request->getPost('policy_type'), 'event_name' => $this->request->getPost('event'), - 'type_name' => $this->request->getPost('import_or_export'), + 'type_name' => 'export', 'jsoncolumns' => $this->request->getPost('json_data'), + 'is_active' => 1, + 'created_by' => get_session_userid(), ]; - $insert = $this->insurerTemplateModel->insert($data); + if($template_id){ + + $update = $this->insurerTemplateModel->where('id', $template_id)->set($data)->update(); + + if($update){ + return $this->respond(['status' => true, 'message' => 'Template updated successfully', $data]); + }else{ + return $this->respond(['status' => true, 'message' => 'Failed to update template', $data]); + } - if($insert){ - return $this->respond(['status' => true, 'message' => 'Template created successfully', $data]); }else{ - return $this->respond(['status' => true, 'message' => 'Failed to create template', $data]); + + $insert = $this->insurerTemplateModel->insert($data); + + if($insert){ + return $this->respond(['status' => true, 'message' => 'Template created successfully', $data]); + }else{ + return $this->respond(['status' => true, 'message' => 'Failed to create template', $data]); + } } + + } + + public function duplicateTemplate($template_id, $event_name) + { + // Fetch the template data based on the provided ID and ensure it is active + $insurer_template_data = $this->insurerTemplateModel->where('id', $template_id) + ->where('is_active', 1) + ->first(); + + + if ($insurer_template_data) { + + // Check if the event name matches the existing template's event name + if ($insurer_template_data['event_name'] == $event_name) { + return $this->respond([ + 'status' => false, + 'message' => 'Template with the same event already exists.', + 'data' => $insurer_template_data + ]); + } + + // Prepare data for insertion as a duplicate + $data_to_insert = [ + "insurer_id" => $insurer_template_data['insurer_id'], + "policy_type_id" => $insurer_template_data['policy_type_id'], + "event_name" => $event_name, + "type_name" => $insurer_template_data['type_name'], + "jsoncolumns" => $insurer_template_data['jsoncolumns'], + "created_by" => get_session_user(), + "is_active" => 1, + ]; + + // Insert the duplicate template data + $insert_result = $this->insurerTemplateModel->insert($data_to_insert); + + if ($insert_result) { + return $this->respond([ + 'status' => true, + 'message' => 'Template duplicated successfully.', + 'data' => $insurer_template_data + ]); + } else { + return $this->respond([ + 'status' => false, + 'message' => 'Failed to duplicate template.', + 'data' => $insurer_template_data + ]); + } + } else { + // No matching active template found + return $this->respond([ + 'status' => false, + 'message' => 'No active template data found.', + 'data' => null + ]); + } } } \ No newline at end of file diff --git a/app/Models/EmployeePolicyModel.php b/app/Models/EmployeePolicyModel.php index 759835c7..f9e11a2b 100644 --- a/app/Models/EmployeePolicyModel.php +++ b/app/Models/EmployeePolicyModel.php @@ -205,10 +205,11 @@ class EmployeePolicyModel extends Model employees.emp_code AS emp_code, employees.dob AS emp_dob, employees.gender AS emp_gender, - employees.change_event AS change_event, employees.relationship AS emp_relationship, employees.relationship_code AS emp_relationship_code, '$datas' as event_type_data, + employees.change_event AS change_event, + employees.doj AS emp_doj, employees.mobile AS emp_mobile, @@ -297,10 +298,11 @@ class EmployeePolicyModel extends Model employees.dob AS emp_dob, employees.gender AS emp_gender, employees.client_id AS emp_client_id, - employees.emp_type as emp_temp_codeype, + employees.emp_type as emp_type, employee_polices.uhid, - employees.relationship_code, - employees.relationship, + employee_polices.tpa_id, + employees.relationship_code as emp_relationship_code, + employees.relationship as emp_relationship, 'C' as event_type_data, employees.doj AS emp_doj, @@ -388,7 +390,7 @@ class EmployeePolicyModel extends Model employees.designation AS emp_designation, employees.basic_pay AS emp_basic_pay, - employee_polices.uhid AS risk_id, + employee_polices.uhid AS uhid, employee_polices.pre_existing_alignments, employee_polices.policy_end_date, employee_polices.basic_cover_si as old_basic_cover_si, diff --git a/app/Models/InsurerModel.php b/app/Models/InsurerModel.php index 8d72bca7..e05b76a0 100644 --- a/app/Models/InsurerModel.php +++ b/app/Models/InsurerModel.php @@ -56,12 +56,14 @@ class InsurerModel extends Model public function getInsurerTemplateByInsurerID($insurer_id) { $insurer_data = $this->db->table('insurer_excel_export_template') - ->select('insurers.name as insurer_name, insurers.id, insurers.is_multi_event') - ->select('CASE WHEN insurers.is_multi_event = 1 THEN "multiple" ELSE insurer_excel_export_template.event_name END as event_name', false) + ->select('insurer_excel_export_template.*, insurers.name as insurer_name, insurers.is_multi_event') + ->select('CASE WHEN insurers.is_multi_event = 1 THEN "All" ELSE insurer_excel_export_template.event_name END as event_name', false) ->select('insurer_excel_export_template.type_name, insurer_excel_export_template.jsoncolumns, policy_type.policy_type') ->join('insurers', 'insurers.id = insurer_excel_export_template.insurer_id') ->join('policy_type', 'policy_type.id = insurer_excel_export_template.policy_type_id') ->where('insurers.id', $insurer_id) + ->where('insurers.is_active', 1) + ->where('insurer_excel_export_template.is_active', 1) ->get() ->getResultArray(); diff --git a/app/Views/insurer_export_templete.php b/app/Views/insurer_export_templete.php index 1c1f4ca0..40b757a7 100644 --- a/app/Views/insurer_export_templete.php +++ b/app/Views/insurer_export_templete.php @@ -1,6 +1,55 @@ + + + +
- + + +
@@ -14,10 +63,10 @@ Copy
- +
@@ -33,17 +82,27 @@ Event Type Import/Export Template + Action $value ){ ?> - - - - - + + + + + + + + @@ -54,19 +113,20 @@