diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 80babc57..f4eb5e87 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -271,6 +271,13 @@ $routes->group("/util", ["filter" => "authMVC"], function ($routes) { $routes->get("get_policy_type_for_base_policy/(:any)", "ClientController::getPolicyTypeForBasePolicy/$1"); $routes->get("get_client_details/(:any)", "ClientController::getClientDetails/$1"); $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 a5c6ebf0..5439e64e 100644 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -252,15 +252,25 @@ class ClientController extends AdminController public function removeClientBranch($id = null) { $this->myLogger->logme('error','Client Branch Remove function called'); - // $id = $this->request->getPost('PrimaryKey'); - // $data = $this->request->getPost(); - $data['updated_by'] = get_session_userid(); - $data['is_active'] = 0; - $update = $this->clientBranchModel->update($id,$data); - if($update){ - return $this->respond(['status' => true,'code' => 200], 200); + + $data = [ + 'updated_by' => get_session_userid(), + 'is_active' => 0 + ]; + + $config_count = $this->clientPolicyModel->where('client_branch_id', $id)->countAllResults(); + + if($config_count > 0){ + + $update = $this->clientBranchModel->where('id', $id)->set($data)->update(); + if($update){ + return $this->respond(['status' => true,'code' => 200, 'message' => 'Client branch removed successfully'], 200); + }else{ + return $this->respond(['status' => false,'code' => 404, 'message' => 'Failed to remove client branch'], 200); + } }else{ - return $this->respond(['status' => false,'code' => 404], 200); + + return $this->respond(['status' => false,'code' => 404, 'message' => 'The client branch configuration with policy cannot be deleted.'], 200); } } @@ -559,6 +569,8 @@ class ClientController extends AdminController } } + + public function createClientRelation() { @@ -647,6 +659,7 @@ class ClientController extends AdminController } } + public function createClientBranch() { @@ -658,7 +671,7 @@ class ClientController extends AdminController $data['sez'] = 1; } $data['created_by'] = get_session_userid(); - $insert = $this->clientBranchModel->insert($data); + $insert = $this->clientBranchModel->insert($data); if($insert){ for ($i = 0; $i < count($this->request->getPost('name')); $i++) { @@ -679,9 +692,18 @@ class ClientController extends AdminController if($insert){ $branchData = $this->clientBranchModel->where('client_id', $this->request->getPost('client_id'))->findAll(); $branchData['role'] = get_role_id(); - return $this->respond(['status' => true,'code' => 200,'data' => $branchData], 200); + return $this->respond([ + 'status' => true, + 'code' => 200, + 'data' => $branchData, + 'message' => 'Client branch created successfully', + ], 200); }else{ - return $this->respond(['status' => false,'code' => 404, 'message' => 'no data found'], 200); + return $this->respond([ + 'status' => false, + 'code' => 404, + 'message' => 'Failed to create client branch ', + ], 200); } } @@ -692,11 +714,57 @@ class ClientController extends AdminController $id = $this->request->getPost('branch_id_primarykey'); $client_id = $this->request->getPost('client_id'); $data = $this->request->getPost(); + $units = $this->request->getPost('units'); + + $emp_unit_count = 0; + $rr_unit_count = 0; + $rr_unit_count2 = 0; + $total_count = 0; + + $list_of_branch_units = $this->clientBranchModel->find($id); + $units = json_decode($list_of_branch_units['units']); + + if (!empty($units)) { + foreach ($units as $unit) { + $emp_unit_count += $this->employeeModel->where('unit', $unit)->countAllResults(); + $rr_unit_count += $this->policyPremium2Model->where('unit', $unit)->countAllResults(); + $rr_unit_count2 += $this->policyPremium1Model->where('unit', $unit)->countAllResults(); + } + + $total_count = $emp_unit_count + $rr_unit_count + $rr_unit_count2; + } + $uncommonValues = []; + + if ($total_count > 0) { + $units = (string) $this->request->getPost('units'); // Assuming 'units' is an array + + $list_of_branch_units = $this->clientBranchModel->find($id); + $branch_units = json_decode($list_of_branch_units['units'], true); + $units = json_decode($units); + + $uncommonValues = array_diff($branch_units, $units); + + if (count($uncommonValues) > 0) { + + $branchData = $this->clientBranchModel->where('client_id', $client_id)->findAll(); + + return $this->respond([ + 'status' => false, + 'code' => 404, + 'message' => "Deleted unit(s) in use. couldn't complete this operation.", + 'uncommonValues' => $uncommonValues, + 'data' => $branchData, + ], 200); + } + } + + if (!isset($data['sez'])) { $data['sez'] = 0; } elseif ($data['sez']) { $data['sez'] = 1; } + $data['updated_by'] = get_session_userid(); $insert = $this->clientBranchModel->update($id, $data); $this->myLogger->logme('error','Client branch EDITED by {data}', ['data' => get_session_userid()]); @@ -721,12 +789,25 @@ class ClientController extends AdminController if($insert){ $branchData = $this->clientBranchModel->where('client_id', $client_id)->findAll(); - return $this->respond(['status' => true,'code' => 200,'data' => $branchData], 200); + return $this->respond([ + 'status' => true, + 'code' => 200, + 'data' => $branchData, + 'emp_unit_count' => $emp_unit_count, + 'rr_unit_count' => $rr_unit_count, + 'list_of_branch_units' => $list_of_branch_units, + 'total_count' => $total_count, + 'uncommonValues' => $uncommonValues, + 'message' => 'Client branch updated successfully' + + ], 200); }else{ - return $this->respond(['status' => false,'code' => 404, 'message' => 'no data found'], 200); + return $this->respond(['status' => false,'code' => 404, 'message' => 'Failed to update client branch'], 200); } } + + public function createClientPolicy() { @@ -1019,22 +1100,32 @@ class ClientController extends AdminController $client_policy_data = $this->clientPolicyModel->where('id', $client_policy_id)->first(); $client_id = $client_policy_data['client_id']; } + $branch_units = $this->getBranchUnitsByBranchId($record['client_branch_id']); $branch_units = json_decode($branch_units); - $policy_grid_id = $this->request->getPost('policy_grid_id'); $rack_rate_name = $this->request->getPost('rack_rate_name'); $relation_data = [ - 'self' => $this->request->getPost('self'), - 'spouse' => $this->request->getPost('spouse'), - 'childrens' => $this->request->getPost('childrens'), - 'parents' => $this->request->getPost('parents'), - 'parents-in-law'=> $this->request->getPost('parents-in-law'), + 'self' => $this->request->getPost('self') ?? 'NA', + 'spouse' => $this->request->getPost('spouse') ?? 'NA', + 'childrens' => $this->request->getPost('childrens') ?? 'NA', + 'parents' => $this->request->getPost('parents') ?? 'NA', + 'parents-in-law'=> $this->request->getPost('parents-in-law') ?? 'NA', ]; - if ($policy_grid_id == 1 || $policy_grid_id == 2 || $policy_grid_id == 6 || $policy_grid_id == 7) { + $relation_data_for_form_submit_check = [ + $rack_rate_name => [ + 'self' => $this->request->getPost('self') ?? 'NA', + 'spouse' => $this->request->getPost('spouse') ?? 'NA', + 'childrens' => $this->request->getPost('childrens') ?? 'NA', + 'parents' => $this->request->getPost('parents') ?? 'NA', + 'parents-in-law'=> $this->request->getPost('parents-in-law') ?? 'NA', + ] + ]; + + if ($policy_grid_id == 1 || $policy_grid_id == 2 ) { $relation_data = [ 'self' => 1, 'spouse' => 'NA', @@ -1046,7 +1137,7 @@ class ClientController extends AdminController // Convert to JSON $jsonDataForRelation = json_encode($relation_data); - + $json_data_relation_data_for_form_submit_check = json_encode($relation_data_for_form_submit_check); $si_or_bp = $this->request->getPost('si_or_bp'); $basic_multiplier = str_replace(',', '', $this->request->getPost('basic_multiplier')); @@ -1077,7 +1168,7 @@ class ClientController extends AdminController $premium = str_replace(',', '', $this->request->getPost('gpa_sum_premium[]')); $sum_insure = str_replace(',', '', $this->request->getPost('gpa_sum_si[]')); $multiplier = $this->request->getPost('gpa_sum_multiplier'); - $unit = $this->request->getPost('gpa_unit[]'); + $unit = $this->request->getPost('gpa_unit_1[]'); for ($i = 0; $i < count($premium); $i++) { $data['si'] = $sum_insure[$i]; @@ -1099,7 +1190,7 @@ class ClientController extends AdminController $sum_insure = str_replace(',', '', $this->request->getPost('gpa_sum_si2[]')); $multiplier = $this->request->getPost('gpa_sum_multiplier2'); $grade = $this->request->getPost('gpa_band[]'); - $unit = $this->request->getPost('gpa_unit[]'); + $unit = $this->request->getPost('gpa_unit_3[]'); for ($i = 0; $i < count($premium); $i++) { @@ -1156,20 +1247,27 @@ class ClientController extends AdminController $data = $this->request->getPost(); $insert = true; - } else if ($policy_grid_id == '2') { - $data['premium'] = str_replace(',', '', $this->request->getPost('gpa_premium')); - $data['si'] = str_replace(',', '', $this->request->getPost('gpa_si')); - $unit = $this->request->getPost('gpa_unit'); - if (empty($unit)) { - $data['unit'] = $branch_units[0]; - } else { - $data['unit'] = $unit; - } - $policyPremium = $this->policyPremium1Model->insert($data); + } else if ($policy_grid_id == '2') { + + $premium = $this->request->getPost('gpa_premium29[]'); + $sum_insure = $this->request->getPost('gpa_si29[]'); + $unit = $this->request->getPost('gpa_unit29[]'); + + for ($i = 0; $i < count($premium); $i++) { + $data['premium'] = str_replace(',', '', $premium[$i]); + $data['si'] = str_replace(',', '', $sum_insure[$i]); + if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { + $data['unit'] = $branch_units[0]; + } else { + $data['unit'] = $unit[$i]; + } + $dataa = $this->policyPremium1Model->insert($data); + } $data = $this->request->getPost(); $insert = true; + } else if ($policy_grid_id == '3') { $premium = $this->request->getPost('3_premium[]'); @@ -1215,6 +1313,7 @@ class ClientController extends AdminController } else if ($policy_grid_id == '5') { + $premium = $this->request->getPost('5_premium[]'); $sum_insure = $this->request->getPost('5_si[]'); $age_from = $this->request->getPost('5_age_from[]'); @@ -1226,7 +1325,7 @@ class ClientController extends AdminController $data['si'] = str_replace(',', '', $sum_insure[$i]); $data['age_from'] = $age_from[$i]; $data['age_to'] = $age_to[$i]; - if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { + if (empty($unit) || !isset($unit[$i]) || empty($unit[$i] || $unit[$i] == 'undefined')) { $data['unit'] = $branch_units[0]; } else { $data['unit'] = $unit[$i]; @@ -1234,8 +1333,10 @@ class ClientController extends AdminController $dataa = $this->policyPremium2Model->insert($data); } + $data = $this->request->getPost(); $insert = true; + } else if ($policy_grid_id == '6') { $premium = $this->request->getPost('6_premium[]'); @@ -1305,27 +1406,24 @@ class ClientController extends AdminController $insert = true; } else if ($policy_grid_id == '9') { - $data['premium'] = str_replace(',', '', $this->request->getPost('gpa_premium')); - $data['si'] = str_replace(',', '', $this->request->getPost('gpa_si')); - $unit = $this->request->getPost('gpa_unit'); - if (empty($unit)) { - $data['unit'] = $branch_units[0]; - } else { - $data['unit'] = $unit; + $premium = $this->request->getPost('gpa_premium29[]'); + $sum_insure = $this->request->getPost('gpa_si29[]'); + $unit = $this->request->getPost('gpa_unit29[]'); + + for ($i = 0; $i < count($premium); $i++) { + $data['premium'] = str_replace(',', '', $premium[$i]); + $data['si'] = str_replace(',', '', $sum_insure[$i]); + if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { + $data['unit'] = $branch_units[0]; + } else { + $data['unit'] = $unit[$i]; + } + $dataa = $this->policyPremium2Model->insert($data); } - $policyPremium = $this->policyPremium2Model->insert($data); - // $premium = $this->request->getPost('9_premium[]'); - // $sum_insure = $this->request->getPost('9_si[]'); - // $grade = $this->request->getPost('9_grade[]'); - // for ($i = 0; $i < count($premium); $i++) { - // $data['premium'] = str_replace(',', '', $premium[$i]); - // $data['si'] = str_replace(',', '', $sum_insure[$i]); - // // $data['grade'] = $grade[$i]; - // $dataa = $this->policyPremium2Model->insert($data); - // } $data = $this->request->getPost(); $insert = true; + } else if ($policy_grid_id == '10') { $premium = $this->request->getPost('10_premium[]'); $sum_insure = $this->request->getPost('10_si[]'); @@ -1355,7 +1453,7 @@ class ClientController extends AdminController $sum_insure = $this->request->getPost('11_si[]'); $grade = $this->request->getPost('11_grade[]'); $max_sum_insure = $this->request->getPost('11_max_si[]'); - $unit = $this->request->getPost('11_max_si[]'); + $unit = $this->request->getPost('11_unit[]'); for ($i = 0; $i < count($premium); $i++) { $data['premium'] = str_replace(',', '', $premium[$i]); @@ -1421,13 +1519,13 @@ class ClientController extends AdminController } if ($insert) { - return $this->respond(['status' => true, 'code' => 200, 'data' => $data, 'rack_rate_json'=>$jsonDataForRelation,], 200); + return $this->respond(['status' => true, 'code' => 200, 'data' => $data, 'rack_rate_json'=>$json_data_relation_data_for_form_submit_check,], 200); } else { return $this->respond(['status' => false, 'code' => 404, 'data' => $data, 'message' => 'no data found'], 200); } } catch (\Exception $e) { - echo 'Error: ' . $e->getMessage(); + echo 'Error: ' . $e->getMessage(). ' at line no ' . $e->getLine(); } } @@ -1557,6 +1655,7 @@ class ClientController extends AdminController } $results = $this->policyGridModel->like('policy_type', $search_term)->findAll(); + $jsonArray = []; if ($search_term === 'GPA' || $policy_type_id == 6 || $policy_type_id == 7) { @@ -1564,6 +1663,19 @@ class ClientController extends AdminController } else if ($search_term === 'GMC') { $premiumData = $this->policyPremium2Model->where(['client_id' => $record['client_id'], 'client_policy_id' => $client_policy_id, 'is_active' => 1])->findAll(); + + $rackRateJson = $this->policyPremium2Model + ->where('client_policy_id', $client_policy_id) + ->where('is_active', 1) + ->groupBy('rack_rate_name') + ->orderBy('id') + ->findAll(); + + foreach ($rackRateJson as $value) { + $jsonArray[$value['rack_rate_name']] = json_decode($value['additional_relationship']); + } + + } else { $premiumData = ""; @@ -1650,7 +1762,8 @@ class ClientController extends AdminController 'self' => $self, 'client_policy_id' => $client_policy_id, 'terms_si_amount_array' => $terms_si_amount_array, - 'branch_units' => $branch_units + 'branch_units' => $branch_units, + 'jsonArray' => $jsonArray, ], 200); } else if ($search_term === 'GPA' || $policy_type_id == 6 || $policy_type_id == 7) { @@ -1665,7 +1778,8 @@ class ClientController extends AdminController 'self' => $self, 'client_policy_id' => $client_policy_id, 'terms_si_amount_array' => $terms_si_amount_array, - 'branch_units' => $branch_units + 'branch_units' => $branch_units, + 'jsonArray' => $jsonArray, ], 200); } else { @@ -1679,7 +1793,8 @@ class ClientController extends AdminController 'self' => $self, 'client_policy_id' => $client_policy_id, 'terms_si_amount_array' => $terms_si_amount_array, - 'branch_units' => $branch_units + 'branch_units' => $branch_units, + 'jsonArray' => $jsonArray, ], 200); } } @@ -2044,7 +2159,7 @@ class ClientController extends AdminController $message = 'Enrolment Closed Successfully'; } - $data = $this->policesModel->getPolicyPremium($record['policy_id']); + $data = $this->policesModel->getPolicyPremium($client_policy_id); $pattern = '/gmc/i'; $subject = $data[0]->policy_type; if (preg_match($pattern, $subject)) { @@ -2076,8 +2191,8 @@ class ClientController extends AdminController } // Check if 'family_floater' key exists and has a value - if (isset($termsData->family_floater) && $termsData->family_floater == null) { - return $this->respond(['status' => false, 'code' => 200, 'message' => 'The Policy terms Family Floater field is empty'], 200); + if (isset($termsData->family_floater) && $termsData->family_floater === null) { + return $this->respond(['status' => false, 'code' => 200, 'message' => 'The Policy terms Family Floater field is empty', 'termsData' => $termsData , 'family_floater' => $termsData->family_floater], 200); } // Check if 'family_floaters' key exists and has a value @@ -2666,9 +2781,8 @@ class ClientController extends AdminController public function getClientDetails($client_id) { - - $result = $this->clientModel->where('id', $client_id)->first(); - return $this->respond(['status' => true, 'data' => $result], 200); + $result = $this->clientModel->where('id', $client_id)->first(); + return $this->respond(['status' => true, 'data' => $result], 200); } public function getBranchUnitsByBranchId($branch_id) @@ -2828,7 +2942,6 @@ class ClientController extends AdminController } - public function removeRackRate($rack_rate_name = null, $client_policy_id = null) { $this->myLogger->logme('error', 'Rack Rate Remove function called'); @@ -2853,7 +2966,7 @@ class ClientController extends AdminController if ($update) { return $this->respond(['status' => true, 'code' => 200, 'message' => 'Rack Rate removed successfully', 'rr_count' => $rackRateData], 200); } else { - return $this->respond(['status' => false, 'code' => 404, 'message' => 'Failed to remove policy', 'rr_count' => $rackRateData], 200); + return $this->respond(['status' => false, 'code' => 404, 'message' => 'Failed to remove Rack Rate', 'rr_count' => $rackRateData], 200); } }else{ @@ -2862,4 +2975,40 @@ class ClientController extends AdminController } + public function renameRackRateTab($rack_rate_name = null, $new_rack_rate_name = null, $client_policy_id = null) + { + $this->myLogger->logme('error', 'Rack Rate renameRackRateTab function called'); + + $data = [ + 'updated_by' => get_session_userid(), + 'rack_rate_name' => $new_rack_rate_name + ]; + + $rackRateData = $this->policyPremium2Model + ->where('rack_rate_name', $rack_rate_name) + ->where('client_policy_id', $client_policy_id) + ->where('is_active',1) + ->countAllResults(); + + if($rackRateData > 0){ + $update = $this->policyPremium2Model + ->where('rack_rate_name', $rack_rate_name) + ->where('client_policy_id', $client_policy_id) + ->where('is_active',1) + ->set($data) + ->update(); + + $affectedRows = $this->policyPremium2Model->affectedRows(); + + if ($update) { + return $this->respond(['status' => true, 'code' => 200, 'message' => 'Rack Rate renamed successfully', 'rr_count' => $affectedRows], 200); + } else { + return $this->respond(['status' => false, 'code' => 404, 'message' => 'Failed to rename Rack Rate', 'rr_count' => $affectedRows], 200); + } + }else{ + + return $this->respond(['status' => false, 'code' => 404, 'message' => 'Rack Rate not available', 'rr_count' => $rackRateData, 'rack_rate_name' => $rack_rate_name, 'client_policy_id' => $client_policy_id, 'new_rack_rate_name' => $new_rack_rate_name, ], 200); + } + } + } \ No newline at end of file diff --git a/app/Controllers/EmpDataServiceController.php b/app/Controllers/EmpDataServiceController.php index c59195a3..fbf60d4e 100644 --- a/app/Controllers/EmpDataServiceController.php +++ b/app/Controllers/EmpDataServiceController.php @@ -331,7 +331,7 @@ class EmpDataServiceController extends BaseController [ 'column_index' => 0, 'column_name' => 'S.No', - 'header_name' => 'index' + 'db_column_name' => 'index' ], [ 'column_index' => 1, @@ -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(); @@ -1549,7 +1549,6 @@ class EmpDataServiceController extends BaseController } } - $batch_list_id[] = $emp_value['emp_policy_id']; } @@ -1696,7 +1695,7 @@ class EmpDataServiceController extends BaseController $file_name_with_path = WRITEPATH . "/uploads/import_excel/" . $file['file_name']; $excel_data = $this->readExcelFileToArray($file_name_with_path); unset($excel_data[0]); // Remove header row - array_pop($excel_data); // Remove footer row + // array_pop($excel_data); $totals = 0; $emp_policy_ids = []; @@ -1707,7 +1706,6 @@ class EmpDataServiceController extends BaseController $emp_count = count($excel_data); $db = \Config\Database::connect(); - foreach ($excel_data as $key => $value) { $name = $value[1]; @@ -1716,33 +1714,37 @@ class EmpDataServiceController extends BaseController $uhid[] = $value[16]; $amount = $value[20]; - $totals = $totals + $amount; + if(!empty($name) && !empty($emp_code)){ - $query = $db->table('employee_polices'); - $query->select('employee_polices.id'); - $query->join('employees', 'employees.id = employee_polices.employee_id'); - $query->where('employee_polices.client_policy_id', $client_policy_id); - $query->where('employees.client_id', $client_id); - $query->where('employees.client_branch_id', $client_branch_id); - $query->where('employees.name', $name); - $query->where('employees.emp_code', $emp_code); - if ($file['insurer_or_tpa'] == 'tpa') { + $totals = $totals + $amount; - $query->where('(employee_polices.tpa_id IS NULL OR employee_polices.tpa_id = "")'); - } else if ($file['insurer_or_tpa'] == 'insurer') { + $query = $db->table('employee_polices'); + $query->select('employee_polices.id'); + $query->join('employees', 'employees.id = employee_polices.employee_id'); + $query->where('employee_polices.client_policy_id', $client_policy_id); + $query->where('employees.client_id', $client_id); + $query->where('employees.client_branch_id', $client_branch_id); + $query->where('employees.name', $name); + $query->where('employees.emp_code', $emp_code); + if ($file['insurer_or_tpa'] == 'tpa') { - $query->where('(employee_polices.uhid IS NULL OR employee_polices.uhid = "")'); - } - $query->where('employee_polices.is_active', 1); - $query->where('employee_polices.status', 'active'); - $query->where('employees.is_active', 1); - $query->where('employees.emp_status', 'active'); - $query->limit(1); + $query->where('(employee_polices.tpa_id IS NULL OR employee_polices.tpa_id = "")'); + } else if ($file['insurer_or_tpa'] == 'insurer') { + + $query->where('(employee_polices.uhid IS NULL OR employee_polices.uhid = "")'); + } + $query->where('employee_polices.is_active', 1); + $query->where('employee_polices.status', 'active'); + $query->where('employees.is_active', 1); + $query->where('employees.emp_status', 'active'); + $query->limit(1); + + $result = $query->get()->getRowArray(); + if (isset($result['id']) && $result['id'] !== null) { + $emp_policy_ids[] = $result['id']; //for cash deposite + $emp_details[] = array('id' => $result['id'], 'tpa_id' => $value[15], 'uhid' => $value[16]); + } - $result = $query->get()->getRowArray(); - if (isset($result['id']) && $result['id'] !== null) { - $emp_policy_ids[] = $result['id']; //for cash deposite - $emp_details[] = array('id' => $result['id'], 'tpa_id' => $value[15], 'uhid' => $value[16]); } } @@ -1766,18 +1768,17 @@ class EmpDataServiceController extends BaseController $this->myLogger->logme('error', 'Inception Update TPA and UHID -- set cashDepositCalculationForInception and sendMailForDownloadingECard in JOB QUEUE'); $policy_name = $this->getPolicyNameUsingClientPolicyId($client_policy_id); - $depositeData = [ - 'employeeIds' => $emp_policy_ids, - 'client_id' => $client_id, - 'client_policy_id' => $client_policy_id, - 'client_branch_id' => $client_branch_id, - 'count' => $emp_count, - 'event' => $file['event_type'], - 'policy_name' => $policy_name['policy_name'], - 'user_id' => $user_id, - ]; - + // $depositeData = [ + // 'employeeIds' => $emp_policy_ids, + // 'client_id' => $client_id, + // 'client_policy_id' => $client_policy_id, + // 'client_branch_id' => $client_branch_id, + // 'count' => $emp_count, + // 'event' => $file['event_type'], + // 'policy_name' => $policy_name['policy_name'], + // 'user_id' => $user_id, + // ]; $job_details = new Jobs(); $r = Jobs::addJob(['job_name' => 'cashDepositCalculationForInception', 'payload' => [ @@ -1813,8 +1814,6 @@ class EmpDataServiceController extends BaseController - - //Endorsement Correction public function importCorrectionValidation($params) { @@ -2229,7 +2228,6 @@ class EmpDataServiceController extends BaseController - //Endorsement SIEnhancement public function importSIEnhancementValidation($params) { @@ -2866,7 +2864,7 @@ class EmpDataServiceController extends BaseController $excel_data = $this->readExcelFileToArray($file_name_with_path); $excel_header = $excel_data[0]; unset($excel_data[0]); - array_pop($excel_data); + // array_pop($excel_data); $headers = ['S.No','EMP ID','EMP NAME','DOB','GENDER','RELATIONSHIP','SUM INSURED','Date of Leaving','Policy End Date','No Of Days','Premium','Pro Rata Premium','GST','Total','Claim Status','ENDORSEMENT_ID']; @@ -3276,24 +3274,25 @@ class EmpDataServiceController extends BaseController $totals = $totals + $value[13]; $endorsement_id = $value[15]; + if(!empty($emp_code) && !empty($emp_name)){ - $fetch_data = [ - 'client_policy_id' => $client_policy_id, - 'client_branch_id' => $client_branch_id, - 'client_id' => $client_id, - 'emp_name' => $emp_name, - 'emp_code' => $emp_code - ]; - $result = $this->employeePolicyModel->fetchEmpEndorsementData($fetch_data); + $fetch_data = [ + 'client_policy_id' => $client_policy_id, + 'client_branch_id' => $client_branch_id, + 'client_id' => $client_id, + 'emp_name' => $emp_name, + 'emp_code' => $emp_code + ]; + $result = $this->employeePolicyModel->fetchEmpEndorsementData($fetch_data); - // dd($result['emp_endorsement_primarykey']); + if (isset($result['emp_endorsement_primarykey']) && $result['emp_endorsement_primarykey'] !== null) { - if (isset($result['emp_endorsement_primarykey']) && $result['emp_endorsement_primarykey'] !== null) { + $employee_policy_table_primaryKey[] = $result['emp_policy_primarykey']; //for cash deposite + $employee_policy_table_data[] = array('id' => $result['emp_policy_primarykey'], 'date_of_exit' => $result['date_of_exit'], 'reason_for_exit' => $result['reason_for_exit'], 'status' => $result['status']); + $employees_table_data[] = array('id' => $result['employees_id'], 'emp_status' => $result['status']); + $emp_endorsement_table_data[] = array('id' => $result['emp_endorsement_primarykey'], 'group_key' => $result['group_key'], 'endorsement_id' => $value[15], 'status' => 'complete'); + } - $employee_policy_table_primaryKey[] = $result['emp_policy_primarykey']; //for cash deposite - $employee_policy_table_data[] = array('id' => $result['emp_policy_primarykey'], 'date_of_exit' => $result['date_of_exit'], 'reason_for_exit' => $result['reason_for_exit'], 'status' => $result['status']); - $employees_table_data[] = array('id' => $result['employees_id'], 'emp_status' => $result['status']); - $emp_endorsement_table_data[] = array('id' => $result['emp_endorsement_primarykey'], 'group_key' => $result['group_key'], 'endorsement_id' => $value[15], 'status' => 'complete'); } } diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php index 10ad95c4..bff8c812 100644 --- a/app/Controllers/EmployeeController.php +++ b/app/Controllers/EmployeeController.php @@ -103,6 +103,8 @@ class EmployeeController extends AdminController $data['getData'] = $filterData; } + // dd( $data['getData']); + // dd($this->request->getGet()); $this->myLogger->logme('error', 'list called'); $this->loadLayout('employee_list', $data); @@ -252,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']; @@ -413,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(); @@ -463,10 +465,10 @@ class EmployeeController extends AdminController if (!$return) { if ($insurer_or_tpa == 'tpa') { - session()->setFlashdata('error', "No data was found for this action. The TPA ID has already been updated."); + session()->setFlashdata('error', "No data was found for this action."); return redirect()->to(base_url('employee/upload')); } else if ($insurer_or_tpa == 'insurer') { - session()->setFlashdata('error', "No data was found for this action. The UHID has already been updated."); + session()->setFlashdata('error', "No data was found for this action."); return redirect()->to(base_url('employee/upload')); } } else { @@ -532,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."); @@ -547,6 +548,7 @@ class EmployeeController extends AdminController } } + } else if ($actions == 'import') { $batch_data['file'] = $this->request->getFile('import_file_data'); @@ -1511,8 +1513,11 @@ class EmployeeController extends AdminController $client_id = $json->client_id; $policy_id = $json->policy_id; $branch_id = $json->branch_id; + $unit_id = $json->unit_id; + $action = $json->action; + $family_code = $json->emp_code; $tabledata = $json->data; - + $existing_famility_details = []; if(count($tabledata)) { $family_details = []; @@ -1523,7 +1528,7 @@ class EmployeeController extends AdminController { $temp[0] = $row['column1'];//sno - $temp[1] = $row['column2'];//emp code + $temp[1] = $family_code != "" ? $family_code : $row['column2'];//emp code $temp[2] = $row['column3'];//name $temp[3] = $row['column4'];//DOB $temp[4] = strtoupper($row['column5']);//Gender @@ -1540,14 +1545,29 @@ class EmployeeController extends AdminController $temp[15] = '';//RFE $temp[16] = '';//DOE $temp[17] = '';//Unit - $temp[18] = $row['column11'];//unit + $temp[18] = $unit_id;//unit $family_details[] = $temp; } } } - // print_r($family_details); - // return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => $family_details], 200); + if($action == 'dependent_addition') + { + $existing_famility_details = $this->employeeModel->getEmpFamilybyEmpCode(emp_code: $family_code,client_id: $client_id,client_policy_id: $policy_id,emp_status: ['active'],policy_status:['active'],client_branch_id: [ $branch_id ]); + // ~dd($this->employeeModel->getLastQuery()); + + if(!count($existing_famility_details)) + { + return $this->respond(['dataStatus' => false, 'code' => 404, 'data' => [],'messgae' => "No Data found for emp code $family_code"], 200); + } + //transsform familiy details from db columns to exxcel row with column indexs for checking remaining functionalitites + $existing_famility_details = transform_db_data_to_excel($existing_famility_details,[]); + // Kint::dump($existing_famility_details); + $family_details = array_merge($family_details,$existing_famility_details); + $family_details = data_group_by_family($family_details)[ $family_code ];// reason to call this again is bring self to first index of the array + // dd($family); + } + //get policy details $policy_details = $this->clientPolicyModel->getPolicyDetails($client_id,$policy_id); $policy_details = (array)$policy_details[0]; @@ -1570,7 +1590,7 @@ class EmployeeController extends AdminController } } - return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => $data], 200); + return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => ['new' => $data,'old' => $existing_famility_details], 200]); } } diff --git a/app/Controllers/EmployeeServiceController.php b/app/Controllers/EmployeeServiceController.php index f31460b2..826c7e29 100644 --- a/app/Controllers/EmployeeServiceController.php +++ b/app/Controllers/EmployeeServiceController.php @@ -18,6 +18,7 @@ use App\Models\EmpEndorsementModel; use App\Models\MessageModel; use App\Models\ClientBranchModel; use App\Models\NotificationModel; +use App\Models\InsurerModel; use App\Helpers\sendMailNotification; @@ -41,6 +42,7 @@ class EmployeeServiceController extends AdminController protected $messageModel; protected $clientBranchModel; protected $notificationModel; + protected $insurerModel; protected $general_relationships = [ 'self' => [ @@ -649,6 +651,7 @@ class EmployeeServiceController extends AdminController $this->messageModel = new MessageModel(); $this->clientBranchModel = new ClientBranchModel(); $this->notificationModel = new NotificationModel(); + $this->insurerModel = new InsurerModel(); } public function excelFileFormatValidation($params) @@ -1295,21 +1298,31 @@ class EmployeeServiceController extends AdminController // $excel_data = $sheet->rangeToArray('A1:' . $highestRowAndColumn['column'] . $highestRowAndColumn['row']); unset($excel_data[0]); - // dd($excel_data); + // kint::dump($excel_data); $endorsement_data = []; - - + $policy_terms = $this->clientPolicyModel->getPolicyDetails($file['client_id'],$file['policy_id']); + $insurer = new InsurerModel(); + $insurer = ($insurer->find($policy_terms[0]->insurer_id)); + // kint::dump($insurer); //make closure funciton which is going to use only by this method - $endorsement = function($data,$file,$row){ + $endorsement = function($data,$file,$row) use ($insurer){ $group_key = rand(100000, 999999); + $row[4] = change_date_format($row[4],'d-M-Y','Y-m-d');// date of exit from excel + // Kint::dump($row[4]); + // check if insurer configured with add one day for deletion + if($insurer['deletion_add_day'] == true) + { + $row[4] = (new \DateTime($row[4]))->modify('+1 day')->format('Y-m-d'); + } + // dd($row[4]); //for emp table $this->empEndorsementModel->save(['pk' => (int)$data['emp_id'],'emp_code' => $data['emp_code'],'table_name' => 'employees','actions' => 'd','name' => $data['name'],'field_name' => 'emp_status','old_value' => $data['emp_status'],'new_value' => 'deactivate','created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key,'file_id' => $file['id'],'status' => 'pending']); // dd( $this->empEndorsementModel->getLastQuery()); // $this->empEndorsementModel->save(['pk' => (int)$data['emp_id'],'emp_code' => $data['emp_code'],'table_name' => 'employees','actions' => 'd','name' => $data['name'],'field_name' => 'change_event','old_value' => $data['change_event'],'new_value' => 'deletion','created_by' => $file['created_by'],'remarks' => 'general deletion']); // for employee policy table - $this->empEndorsementModel->save(['pk' => (int)$data['emp_policy_id'],'emp_code' => $data['emp_code'],'table_name' => 'employee_polices','actions' => 'd','name' => $data['name'],'field_name' => 'date_of_exit','old_value' => $data['date_of_exit'],'new_value' => change_date_format($row[4],'d-M-Y','Y-m-d'),'created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key,'file_id' => $file['id'],'status' => 'pending']); + $this->empEndorsementModel->save(['pk' => (int)$data['emp_policy_id'],'emp_code' => $data['emp_code'],'table_name' => 'employee_polices','actions' => 'd','name' => $data['name'],'field_name' => 'date_of_exit','old_value' => $data['date_of_exit'],'new_value' => $row[4],'created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key,'file_id' => $file['id'],'status' => 'pending']); $this->empEndorsementModel->save(['pk' => (int)$data['emp_policy_id'],'emp_code' => $data['emp_code'],'table_name' => 'employee_polices','actions' => 'd','name' => $data['name'],'field_name' => 'reason_for_exit','old_value' => $data['reason_for_exit'],'new_value' => $row[5],'created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key,'file_id' => $file['id'],'status' => 'pending']); $this->empEndorsementModel->save(['pk' => (int)$data['emp_policy_id'],'emp_code' => $data['emp_code'],'table_name' => 'employee_polices','actions' => 'd','name' => $data['name'],'field_name' => 'status','old_value' => $data['status'],'new_value' => 'inactive','created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key,'file_id' => $file['id'],'status' => 'pending']); }; @@ -1326,6 +1339,7 @@ class EmployeeServiceController extends AdminController // dd($employee); if(is_array($employee) && count($employee)) { + // dd($employee); $existing_endorsements = $this->empEndorsementModel->where('actions','d') ->where('table_name','employees') ->where('endorsement_id is null') @@ -1334,9 +1348,10 @@ class EmployeeServiceController extends AdminController ->where('field_name','emp_status') ->findAll(); - + // dd($existing_endorsements); if(!count($existing_endorsements)) { + // dd($employee); if(strtolower($employee['relationship']) != 'self') { @@ -1654,6 +1669,10 @@ class EmployeeServiceController extends AdminController }// if end }// is array check end + else + { + $this->myLogger->logme('error','######Incoming value is not an array'); + } }// for end }//function end diff --git a/app/Controllers/MasterController.php b/app/Controllers/MasterController.php index 969f01c6..842dd047 100644 --- a/app/Controllers/MasterController.php +++ b/app/Controllers/MasterController.php @@ -152,8 +152,65 @@ class MasterController extends AdminController $editData['insurer'] = $this->insurerModel->where(['id' => $id, 'is_active' => 1])->first(); - $editData['insuer_branch'] = $this->insurerBranchModel->where(['insurer_id' => $id, 'is_active' => 1])->findAll(); + $editData['insuer_branch'] = $this->insurerBranchModel->where(['insurer_id' => $id, 'is_active' => 1])->findAll(); $editData['insurer_templete_count'] = $this->insurerTemplateModel->where(['insurer_id' => $id, 'is_active' => 1])->countAllResults(); + $editData['insurer_templete_list'] = $this->insurerModel->getInsurerTemplateByInsurerID($id); + + + $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', + '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', + + ]; + + // echo "
";
@@ -207,6 +264,10 @@ class MasterController extends AdminController
             $data['addition_add_day'] = 1;
         }
 
+        if($this->request->getPost('deletion_add_day')){
+            $data['deletion_add_day'] = 1;
+        }
+
         $data['created_by'] = get_session_userid();
         $data['insurer_logo'] = $file_name;
         
@@ -285,6 +346,12 @@ class MasterController extends AdminController
             $data['addition_add_day'] = 0;
         }
 
+        if($this->request->getPost('deletion_add_day')){
+            $data['deletion_add_day'] = 1;
+        }else{
+            $data['deletion_add_day'] = 0;
+        }
+
         $update             = $this->insurerModel->update($id,$data);
         if($update){
             echo json_encode(array("status" => true , 'data' => $data));
@@ -347,6 +414,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();
 
@@ -355,8 +424,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) {
@@ -372,12 +441,29 @@ 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
@@ -386,7 +472,6 @@ class MasterController extends AdminController
 
 
     // TPA Start
-
     public function tpaList()
     {   
         $this->myLogger->logme('error','TPA list function called');
@@ -709,10 +794,11 @@ class MasterController extends AdminController
         echo json_encode($editData);
         exit();
     }
-
     //Ends TPA Models
     
 
+
+
     
     //Start KYC 
     public function kycList()
@@ -901,8 +987,9 @@ class MasterController extends AdminController
 
 
 
-    //Start Policy  
 
+
+    //Start Policy  
     public function policyTypeList()
     {   
         $this->myLogger->logme('error','Policy Type list function called');
@@ -1098,13 +1185,15 @@ class MasterController extends AdminController
             echo json_encode(array("status" => false));
         }
     }
-   
     //end policies
 
 
+
+
     //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();
@@ -1254,4 +1343,101 @@ 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' => 'export',
+            'jsoncolumns' => $this->request->getPost('json_data'),
+            'is_active' => 1,
+            'created_by' => get_session_userid(),
+        ];
+
+        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]);
+            }
+
+        }else{
+
+            $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/Controllers/UserController.php b/app/Controllers/UserController.php
index f654dc40..53d35bf1 100644
--- a/app/Controllers/UserController.php
+++ b/app/Controllers/UserController.php
@@ -35,7 +35,7 @@ class UserController extends AdminController
 
     public function list()
     {   
-        $data['headerData'] = 'User List';
+        $data['page_name'] = 'User';
         $this->myLogger->logme('error','User list function called');
         $data['UserList'] = $this->userModel->getUserList();
         // echo '
';
@@ -47,54 +47,60 @@ class UserController extends AdminController
 
 
     public function create()
-    {    
-        $this->myLogger->logme('error','User create function called');
-         $teams = $this->request->getPost('team'); 
-         
+    {
+        $this->myLogger->logme('error', 'User create function called');
+        $teams = $this->request->getPost('team');
+
         //if this is get method return to user creation page
-        if(!$this->request->getPost()){
+        if (!$this->request->getPost()) {
             return redirect()->to(base_url('/user/list'));
-        }else{
-    
+        } else {
+
             $userData = $this->request->getPost();
             $userData['created_by'] =  get_session_userid();
             $temp_team = $userData['team'];
             unset($userData['team']);
             $insert = $this->userModel->insert($userData);
-            if($insert){
-                $db = \Config\Database::connect();
-                $tableName = 'hdz_staff'; 
 
-                if($userData['role'] == 1){
+            if ($insert) {
+
+                if ($userData['role'] == 3) {
+
+                    $db = \Config\Database::connect();
+                    $tableName = 'hdz_staff';
                     $admin = 1;
-                }else{
-                    $admin = 0;
-                }
-                foreach ($temp_team as $key => $value) {
-                    $team = $this->teamModel->where('id' , $value)->first();
-                    if($team['name'] == 'Claims'){
-                        $hdz_staff = [
-                            'emp_code' => $userData['emp_code'],
-                            'fullname' => $userData['first_name'],
-                            'username' => strtolower($userData['first_name']),
-                            'email' => $userData['email'],
-                            'admin' => $admin,
-                            'registration' => time(),
-                        ];
-        
-                        $db->table($tableName)->insert($hdz_staff);
-                    }
-                } 
 
-               $teamData['user_id'] = $insert ;
-               foreach ($teams as $value) {
-                    $teamData['team_id'] = $value;
-                    $teamData['created_by'] =  get_session_userid();
-                    $this->userTeamsModel->insert($teamData);
+                    $password = '12345678'; //Default password
+                    $hashedPassword = password_hash($password, PASSWORD_DEFAULT);
+
+                    foreach ($temp_team as $key => $value) {
+                        $team = $this->teamModel->where('id', $value)->first();
+                        if ($team['name'] == 'Claims') {
+                            $hdz_staff = [
+                                'emp_code' => $userData['emp_code'],
+                                'fullname' => $userData['first_name'],
+                                'username' => strtolower($userData['first_name']),
+                                'email' => $userData['email'],
+                                'admin' => $admin,
+                                'registration' => time(),
+                                'password' => $hashedPassword,
+                                'active' => 1,
+                            ];
+
+                            $db->table($tableName)->insert($hdz_staff);
+                        }
+                    }
+
+                    $teamData['user_id'] = $insert;
+                    foreach ($teams as $value) {
+                        $teamData['team_id'] = $value;
+                        $teamData['created_by'] =  get_session_userid();
+                        $this->userTeamsModel->insert($teamData);
+                    }
                 }
             }
         }
-        $this->myLogger->logme('error','User create Successfully created by id {data}', ['data' =>  get_session_userid()]);
+        $this->myLogger->logme('error', 'User create Successfully created by id {data}', ['data' =>  get_session_userid()]);
         return redirect()->to(base_url('/user/list'));
     }
 
@@ -110,62 +116,65 @@ class UserController extends AdminController
     }
 
     public function edit()
-    {   
-        $teams = $this->request->getPost('team'); 
+    {
+        $teams = $this->request->getPost('team');
 
-        if(!$this->request->getPost()){
+        if (!$this->request->getPost()) {
             return redirect()->to(base_url('/user/list'));
-        }else{
+        } else {
             $id = $this->request->getPost('PrimaryKey');
             $userData = $this->request->getPost();
+            unset($userData['csrf_test_name']);
+            unset($userData['PrimaryKey']);
 
             // Update data in the 'users' table based on the $id
             $userData['updated_by'] =  get_session_userid();
-            $update = $this->userModel->where('id', $id )->set($userData)->update();
+            $update = $this->userModel->where('id', $id)->set($userData)->update();
 
-            if($update){
+            if ($update) {
 
-                $db = \Config\Database::connect();
-                $tableName = 'hdz_staff'; 
+                if ($userData['role'] == 3) {
 
-                if($userData['role'] == 1){
+                    $db = \Config\Database::connect();
+                    $tableName = 'hdz_staff';
                     $admin = 1;
-                }else{
-                    $admin = 0;
-                }
 
-                foreach ($userData['team'] as $key => $value) {
-                    if($value == 2){
-                        $hdz_staff = [
-                            'emp_code' => $userData['emp_code'],
-                            'fullname' => $userData['first_name'],
-                            'username' => strtolower($userData['first_name']),
-                            'email' => $userData['email'],
-                            'admin' => $admin,
-                        ];
-        
+                    foreach ($userData['team'] as $key => $value) {
+                        if ($value == 2) {
 
-                        $db->table($tableName)->where('emp_code', $userData['emp_code'])
-                                              ->where('email', $userData['email'])
-                                              ->set($userData)
-                                              ->update();
+                            $hdz_staff = [
+                                'emp_code' => $userData['emp_code'],
+                                'fullname' => $userData['first_name'],
+                                'username' => strtolower($userData['first_name']),
+                                'email' => $userData['email'],
+                                'admin' => $admin,
+                                'registration' => time(),
+                                'active' => 1,
+                            ];
+
+
+                            $db->table($tableName)->where('emp_code', $userData['emp_code'])
+                                ->where('email', $userData['email'])
+                                ->set($hdz_staff)
+                                ->update();
+                        }
                     }
-                } 
 
+                    $this->userTeamsModel->where('user_id', $id)->delete();
 
-                $this->userTeamsModel->where('user_id', $id)->delete();
-                if($teams){
-                    $teamData['user_id'] = $id ;
-                    foreach ($teams as $value) {
-                         $teamData['team_id'] = $value;
-                         $teamData['created_by'] =  get_session_userid();
-                         $this->userTeamsModel->insert($teamData);
-                     }
+                    if ($teams) {
+                        $teamData['user_id'] = $id;
+                        foreach ($teams as $value) {
+                            $teamData['team_id'] = $value;
+                            $teamData['created_by'] =  get_session_userid();
+                            $this->userTeamsModel->insert($teamData);
+                        }
+                    }
                 }
-             }
+            }
+
             return redirect()->to(base_url('/user/list'));
         }
-        
     }
 
     public function deactive($id = null)
diff --git a/app/Helpers/excel_util_helper.php b/app/Helpers/excel_util_helper.php
index 0f3fd7d0..3f07ed82 100644
--- a/app/Helpers/excel_util_helper.php
+++ b/app/Helpers/excel_util_helper.php
@@ -241,6 +241,13 @@ if(!function_exists('check_si'))
              $return_array = array('status' => true,'error' => '');
         }
 
+        if($policy_details['policy_type_id'] == 3 && strtolower($row['5']) == 'self') // if GMC parent and current relation is self then skip this . so set all true;
+        {
+             $is_si_found = true;
+             $is_age_slab_found = true;
+             $return_array = array('status' => true,'error' => '');
+        }
+
         if($row['current_action'] != null &&  in_array(strtoupper($row['current_action']), ['I','A','DA','SI','MI']))// check rule only of action column data available
         {
             $received_si = $row['current_action'] == 'SI' ? $row[3] : $row[6];
diff --git a/app/Models/ClientModel.php b/app/Models/ClientModel.php
index b6101356..718e67a8 100644
--- a/app/Models/ClientModel.php
+++ b/app/Models/ClientModel.php
@@ -45,14 +45,14 @@ class ClientModel extends Model
                             ->where('is_active',1)
                             ->findAll(); 
 
-            // if($role_id == 2 || $role_id == 3){
+            if($role_id == 2 || $role_id == 3){
 
-            //     $clients = $this->select($columns)
-            //             ->join('client_rm', 'client_rm.client_id = clients.id')
-            //             ->where('client_rm.user_id', $user_id)
-            //             ->where('clients.is_active',1)
-            //             ->findAll();
-            // }
+                $clients = $this->select($columns)
+                    ->join('client_rm', 'client_rm.client_id = clients.id')
+                    ->where('client_rm.user_id', $user_id)
+                    ->where('clients.is_active',1)
+                    ->findAll();
+            }
        
 
 
@@ -84,6 +84,7 @@ class ClientModel extends Model
                 $clientBranchModel = new ClientBranchModel();
                 $clientBranchs = $clientBranchModel->select(['client_branch.id','client_branch.branch_name','client_branch.branch_code', 'client_branch.client_id','client_branch.units'])
                                   ->where('client_branch.client_id',$client['id'])
+                                  ->where('client_branch.is_active',1)
                                   ->findAll();
 
                 $client['branchs'] = $clientBranchs; 
diff --git a/app/Models/ClientPolicyModel.php b/app/Models/ClientPolicyModel.php
index 506b6605..e66bfc88 100644
--- a/app/Models/ClientPolicyModel.php
+++ b/app/Models/ClientPolicyModel.php
@@ -22,7 +22,6 @@ class ClientPolicyModel extends Model
         "reminder_date",
         "open_date",
         "close_date",
-        "close_date",
         "insured",
         "no_of_employees",
         "no_of_lives",
diff --git a/app/Models/EmployeePolicyModel.php b/app/Models/EmployeePolicyModel.php
index 6a668532..f9e11a2b 100644
--- a/app/Models/EmployeePolicyModel.php
+++ b/app/Models/EmployeePolicyModel.php
@@ -105,6 +105,8 @@ class EmployeePolicyModel extends Model
             'emp.basic_pay',
             'emp.band as grade',
             'policy_type.policy_type',
+            'client_branch.branch_name as client_branch_name',
+            'client_branch.branch_code as client_branch_code',
             'cp.policy_no',
         ])
         ->join('employees emp', 'employee_polices.employee_id = emp.id')
@@ -116,6 +118,7 @@ class EmployeePolicyModel extends Model
         ->join('tpa tpam', 'cp.tpa_id = tpam.id', 'left') //tpam - tpa master
         ->join('tpa_branch tpab', 'cp.tpa_branch_id = tpab.id', 'left') //tpab - tpa branch
         ->join('clients cm', 'cp.client_id = cm.id') //cm - client master
+        ->join('client_branch', 'emp.client_branch_id = client_branch.id') //cm - client master
         ->orderBy('emp.emp_code', 'ASC')
         ->orderBy('employee_polices.employee_id', 'ASC');
         
@@ -202,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,
@@ -294,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,
@@ -385,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 a731c858..e05b76a0 100644
--- a/app/Models/InsurerModel.php
+++ b/app/Models/InsurerModel.php
@@ -20,6 +20,7 @@ class InsurerModel extends Model
         "is_active",
         "addition_add_day",
         "is_multi_event",
+        "deletion_add_day",
 
     ];
 
@@ -35,6 +36,7 @@ class InsurerModel extends Model
         ->get()
             ->getResult();
     }
+
     public function getInsurerName($insurerId)
     {
         // Fetch the insurer name based on the insurer ID
@@ -50,6 +52,23 @@ class InsurerModel extends Model
 
         return null; // or handle accordingly if the insurer is not found
     }
+
+    public function getInsurerTemplateByInsurerID($insurer_id)
+    {
+        $insurer_data = $this->db->table('insurer_excel_export_template')
+            ->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();
+
+         return $insurer_data;   
+    }
 }
 
         
\ No newline at end of file
diff --git a/app/Models/PolicesModel.php b/app/Models/PolicesModel.php
index ec010b82..bd8fe9d4 100644
--- a/app/Models/PolicesModel.php
+++ b/app/Models/PolicesModel.php
@@ -23,11 +23,10 @@ class PolicesModel extends Model
 
     public function getPolicyPremium($policy_id){
 
-        return $this->db->table('policies')
+        return $this->db->table('client_policy')
         ->select('policy_type.*')
-        ->select('policies.name as policy_name')
-        ->join('policy_type', 'policy_type.id = policies.policy_type_id')
-        ->where('policies.id', $policy_id)
+        ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
+        ->where('client_policy.id', $policy_id)
         ->get()
         ->getResult();
     }
diff --git a/app/Views/UserList.php b/app/Views/UserList.php
index e53e341d..37ce4dd5 100644
--- a/app/Views/UserList.php
+++ b/app/Views/UserList.php
@@ -259,9 +259,16 @@ $(document).ready(function () {
 
             },
             error: function (xhr, status, error) {
-                console.error(xhr.responseText);
-                console.error(status, error);
-            }        
+                console.error("Error Details:");
+                console.error("Status Code:", xhr.status);
+                console.error("Status Text:", xhr.statusText);
+                console.error("Response Text:", xhr.responseText);
+                console.error("Ready State:", xhr.readyState);
+                console.error("Response Headers:", xhr.getAllResponseHeaders());
+                console.error("Error Thrown:", error);
+                console.error("Status:", status);
+            }
+      
         });
     });
      
diff --git a/app/Views/cd_master_list.php b/app/Views/cd_master_list.php
index 04a52784..cf0f19e8 100644
--- a/app/Views/cd_master_list.php
+++ b/app/Views/cd_master_list.php
@@ -241,6 +241,10 @@ table.dataTable thead th {
         $('#opening_bal').val('');
         $('#CDMasterForm')[0].reset();
         $('#CDMasterForm').parsley().reset();
+        $('#client_id').prop("disabled", false);
+        $('#insurer_id').prop("disabled", false);
+        $('#cd_ac_no').prop("disabled", false);
+
     })
  
 
@@ -261,9 +265,12 @@ table.dataTable thead th {
                 $('#CDMasterForm').attr('action', '');
                 $('#CD_Master_ID').val(res.data.id); 
                 $('#client_id').val(res.data.client_id).change();
+                $('#client_id').prop("disabled", true);
                 $('#insurer_id').val(res.data.insurer_id).change();
+                $('#insurer_id').prop("disabled", true);
                 $('#opening_date').val(res.data.opening_date);
                 $('#cd_ac_no').val(res.data.cd_ac_no);
+                $('#cd_ac_no').prop("disabled", true);
                 $('#opening_bal').val(res.data.opening_bal);
                 $('#btnSubmit').html('Update');
 
@@ -279,6 +286,10 @@ table.dataTable thead th {
     $('#cd_ac_no').change(function(){
 
         var cd_ac_no = $(this).val();
+        console.log(cd_ac_no +'-'+cd_ac_no.length);
+        cd_ac_no = cd_ac_no.trim();
+        console.log(cd_ac_no +'-'+cd_ac_no.length);
+
 
         $.ajax({
             url: ''+cd_ac_no,
diff --git a/app/Views/client_branch.php b/app/Views/client_branch.php
index b5ee306d..2867a42c 100644
--- a/app/Views/client_branch.php
+++ b/app/Views/client_branch.php
@@ -371,6 +371,8 @@ $("#branch_form").submit(function(event) {
             contentType: false,
             success: function(res) {
 
+                console.log('client branch submit response', res)
+
                 if (res) {
                     setTimeout(function() {
 
@@ -380,11 +382,17 @@ $("#branch_form").submit(function(event) {
                         $('#branch_table').show();
                         $('.btnBack').hide();
                         $('#btnBranchAdd').show();
-                        var message = (branch_PrimaryKey === '') ?
-                            'Client Branch Created successfully' :
-                            'Client Branch Updated successfully';
-                        toastr.success(message, 'Success');
-                    }, 1000);
+
+                        if(res.status == false){
+                            toastr.error(res.message, 'Error');
+                        }else{
+                            toastr.success(res.message, 'Success');
+                        }
+                        // var message = (branch_PrimaryKey === '') ?
+                        //     'Client Branch Created successfully' :
+                        //     'Client Branch Updated successfully';
+                        // toastr.success(message, 'Success');
+                    }, 800);
                 }
 
                 $('#branch_list tr').remove();
@@ -395,7 +403,7 @@ $("#branch_form").submit(function(event) {
                 console.log(role)
                 $.each(res.data, function(index, item) {
 
-                    console.log('client_branch_data', item)
+                    // console.log('client_branch_data', item)
 
                     if(role != 3 && role != 4){
 
@@ -433,8 +441,8 @@ $("#branch_form").submit(function(event) {
                 setTimeout(function() {
                     $('.loader').fadeOut();
                     $('.loader-mask').delay(350).fadeOut('slow');
-                    toastr.warning('Something Wrong!', 'warning');
-                }, 1000);
+                    console.log('Something Wrong!', 'warning');
+                }, 300);
             }
         });
     }
@@ -696,10 +704,10 @@ function removeClientBranch(element) {
                     // console.log(res.status == true);
                     if (res) {
                         if (res.status == true) {
-                            toastr.success('Client branch removed successfully', 'success');
+                            toastr.success(res.message, 'success');
                             location.reload();
                         } else {
-                            toastr.warning('Failed to remove client branch', 'warning');
+                            toastr.warning(res.message, 'warning');
                         }
                     }
                 },
diff --git a/app/Views/client_policy.php b/app/Views/client_policy.php
index 90bc3763..347ce14a 100644
--- a/app/Views/client_policy.php
+++ b/app/Views/client_policy.php
@@ -145,15 +145,15 @@
                             
                             
- +
- +
- +
-
- - - - - - - - - - - - - - - - - - +
SNOName/codePolicy nameInsurer
name
TPA IDRisk IDPolicy
status
(₹)Sum Insured(₹)Premium - (₹)Pro Rata
Premium
(₹)GST -
+ + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + $employee) { ?> + + - - - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - -
SNO
Client/BranchBranchName/codePolicy nameInsurer nameTPA IDRisk IDPolicy status(₹)Sum Insured(₹)Premium(₹)Pro Rata
Premium
(₹)GST
( - ) - - ' . $employee['status'] . ''; - } elseif ($employee['status'] == 'active') { - echo '' . $employee['status'] . ''; - } elseif ($employee['status'] == 'inactive') { - echo '' . $employee['status'] . ''; - }elseif ($employee['status'] == 'expired') { - echo '' . $employee['status'] . ''; - }elseif ($employee['status'] == 'enrolled') { - echo '' . $employee['status'] . ''; - }else{ - echo $employee['status']; - } - ?> -
Total
-
+ + + + + + + + - + + + + + ' . $employee['status'] . ''; + break; + case 'active': + echo '' . $employee['status'] . ''; + break; + case 'inactive': + echo '' . $employee['status'] . ''; + break; + case 'expired': + echo '' . $employee['status'] . ''; + break; + case 'enrolled': + echo '' . $employee['status'] . ''; + break; + default: + echo $employee['status']; + break; + } + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Total + + + + + - - - - - - - - - - \ No newline at end of file diff --git a/app/Views/employee_upload.php b/app/Views/employee_upload.php index cc94977d..535418cc 100644 --- a/app/Views/employee_upload.php +++ b/app/Views/employee_upload.php @@ -1004,7 +1004,12 @@ function checkPolicyTermsAndRackRatesHasDefiend(event) }else{ $("#event_type").removeAttr("multiple"); $("#event_type").attr("name", "event_type"); - $("#event_type").select2('destroy'); + + if ($('event_type').data('select2')) { + $('event_type').select2('destroy'); + } + + // $("#event_type").select2('destroy'); } diff --git a/app/Views/file_list.php b/app/Views/file_list.php index 3fcc2609..c2872c70 100644 --- a/app/Views/file_list.php +++ b/app/Views/file_list.php @@ -100,7 +100,7 @@ View - Truncate + Truncate @@ -246,7 +246,7 @@ $('body').on('click', '.upload_button', function() { }) -$('body').on('click', '.truncate', function(event) { +$('body').on('click', '.truncate2', function(event) { event.preventDefault(); // console.log(event); var fileId = JSON.parse(this.getAttribute('data-id')); diff --git a/app/Views/insurer_basic_info.php b/app/Views/insurer_basic_info.php index 1ab97fc8..80cf1599 100644 --- a/app/Views/insurer_basic_info.php +++ b/app/Views/insurer_basic_info.php @@ -84,12 +84,20 @@ input:checked + .slider:before { -
+
- + +
+ +
+ +
@@ -199,6 +207,8 @@ input:checked + .slider:before { setTimeout(function(){ window.location.href = '' + res.data.id }, 100) + }else{ + window.location.reload(); } }, diff --git a/app/Views/insurer_export_templete.php b/app/Views/insurer_export_templete.php index 3b4c049b..40b757a7 100644 --- a/app/Views/insurer_export_templete.php +++ b/app/Views/insurer_export_templete.php @@ -1,6 +1,55 @@ + + + +
- + + +
@@ -9,21 +58,258 @@
-
+ + +
+ + Add New +
+ +
+ +
+ +
+ + + + + + + + + + + + + + + $value ){ ?> + + + + + + + + + + + +
S.NOPolicy TypeEvent TypeImport/ExportTemplateAction
+ +
-
+ + + + + \ No newline at end of file diff --git a/app/Views/layout/footer.php b/app/Views/layout/footer.php index 0f5877ea..5e85921b 100644 --- a/app/Views/layout/footer.php +++ b/app/Views/layout/footer.php @@ -813,7 +813,8 @@ diff --git a/app/Views/policy_gpa_terms.php b/app/Views/policy_gpa_terms.php index 5227b436..469d99dc 100644 --- a/app/Views/policy_gpa_terms.php +++ b/app/Views/policy_gpa_terms.php @@ -509,7 +509,6 @@ $('#gpa_client_policy_id').val(client_policy_id); - var gpa_policy_type_id = $(this).attr('id'); // console.log('gpa_policy_type_id', gpa_policy_type_id) @@ -589,8 +588,9 @@ }); let jsonObject = JSON.parse(res.data); - $("#numberToWordSumInsured").text(convertCommaNumberToWords(jsonObject.sumInsured2)); - $("#numberToWordTotalSumInsured").text(convertCommaNumberToWords(jsonObject.totalSumInsured)); + $("#numberToWordSumInsured").text(convertCommaNumberToWords(jsonObject.sumInsured2) ?? '' ); + $("#numberToWordTotalSumInsured").text(convertCommaNumberToWords(jsonObject.totalSumInsured) ?? ''); + if (jsonObject.compassionateVisitExpenses == '1') { var element = $('input[name="compassionateVisitExpenses"]').parent().parent().next()[0]; $(element).css("display", ""); @@ -615,6 +615,10 @@ Object.keys(jsonObject).forEach(function(key) { + console.log('jsonObject key', key) + console.log('jsonObject value', jsonObject[key]) + console.log('jsonObject value type',typeof jsonObject[key]) + let elements = document.getElementsByName(key); if (elements && elements.length > 0) { let element = elements[0]; @@ -625,15 +629,14 @@ element.checked = jsonObject[key] === '1'; } else if (element.type === 'radio') { element.checked = element.value === jsonObject[key]; - } } else { - if(jsonObject[key] == undefined){ + if(jsonObject[key] == undefined || jsonObject[key] == ''){ element.value = " "; }else{ - element.value = jsonObject[key]; + element.value = jsonObject[key] ?? ''; } } } @@ -788,9 +791,11 @@ }); - function appendGPASIAddMore(data = null){ + function appendGPASIAddMore(data = null) + { - console.log('function called') + console.log('appendGPASIAddMore function called') + console.log('appendGPASIAddMore function data', data) var html = `
diff --git a/app/Views/policy_grid.php b/app/Views/policy_grid.php index 85405d83..809992cc 100644 --- a/app/Views/policy_grid.php +++ b/app/Views/policy_grid.php @@ -22,11 +22,41 @@ bottom: 6px; } +.highlight-duplicate { + border: 2px solid red; /* or any other style you prefer */ +} + /* .unitDiv{ display: none; } */ + +