MERGE_UAT_RR_FE_FIXES

This commit is contained in:
Venba 2024-08-10 17:23:49 +00:00
commit 5049bb49ed
26 changed files with 2037 additions and 506 deletions

View File

@ -49,7 +49,7 @@ $routes->group("/user", ["filter" => "authMVC"], function ($routes) {
$routes->group("/dashboard", ["filter" => "authMVC"], function ($routes) { $routes->group("/dashboard", ["filter" => "authMVC"], function ($routes) {
$routes->match(['get','post'],'view','DashboardController::dashboard'); $routes->get("view", "DashboardController::dashboard");
$routes->get('get-notification', 'DashboardController::getDashboardNotifications'); $routes->get('get-notification', 'DashboardController::getDashboardNotifications');
$routes->get('acknowledge-notification/(:segment)', 'DashboardController::acknowledgeMessage/$1'); $routes->get('acknowledge-notification/(:segment)', 'DashboardController::acknowledgeMessage/$1');
$routes->get('get-pending-action', 'PendingActionsController::getPendingActions'); $routes->get('get-pending-action', 'PendingActionsController::getPendingActions');
@ -146,7 +146,6 @@ $routes->group("/employee", ["filter" => "authMVC"], function ($routes) {
$routes->get("truncate/(:any)", "EmployeeController::truncateFileData/$1"); $routes->get("truncate/(:any)", "EmployeeController::truncateFileData/$1");
$routes->get("test-rack-rate", "EmployeeController::testRackRate"); $routes->get("test-rack-rate", "EmployeeController::testRackRate");
$routes->post("test-rack-rate", "EmployeeController::testRackRate"); $routes->post("test-rack-rate", "EmployeeController::testRackRate");
$routes->post("test-dependent", "EmployeeController::testCheckDependentConflict");
}); });
@ -273,15 +272,12 @@ $routes->group("/util", ["filter" => "authMVC"], function ($routes) {
$routes->get("get_client_details/(:any)", "ClientController::getClientDetails/$1"); $routes->get("get_client_details/(:any)", "ClientController::getClientDetails/$1");
$routes->get("featch_dashboard_data/(:any)", "DashboardController::featch_dashboard_data/$1"); $routes->get("featch_dashboard_data/(:any)", "DashboardController::featch_dashboard_data/$1");
$routes->get("remove_rack_rate/(:any)", "ClientController::removeRackRate/$1"); $routes->get("remove_rack_rate/(:any)", "ClientController::removeRackRate/$1");
$routes->get("get_client_policy_list_for_remainder/(:any)", "EmployeeController::get_client_policy_list_for_remainder/$1"); $routes->get("rename_rack_rate_tab/(:any)", "ClientController::renameRackRateTab/$1");
$routes->get("send_manual_remainder/(:any)", "DashboardController::sendManualRemainder/$1");
$routes->get("get_insurer_by_export_templete", "MasterController::getInsurerByExportTemplete");
$routes->get("copy_insurer_templete/(:any)", "MasterController::copyInsurerTemplete/$1");
}); });
$routes->cli('cli/processjob', 'JobWorker::processJob'); $routes->cli('cli/processjob', 'JobWorker::processJob');
$routes->cli('cli/processjobs', 'JobWorker::processJobs'); $routes->cli('cli/processjobs', 'JobWorker::processJobs');
$routes->cli('cli/updatePolicyEnrollmentStatus', 'DashboardController::updatePolicyEnrollmentStatus'); $routes->cli('cli/enrollment_status', 'JobWorker::enrollment_status');
$routes->get("processjob", "JobWorker::processJob"); $routes->get("processjob", "JobWorker::processJob");

View File

@ -252,15 +252,25 @@ class ClientController extends AdminController
public function removeClientBranch($id = null) public function removeClientBranch($id = null)
{ {
$this->myLogger->logme('error','Client Branch Remove function called'); $this->myLogger->logme('error','Client Branch Remove function called');
// $id = $this->request->getPost('PrimaryKey');
// $data = $this->request->getPost(); $data = [
$data['updated_by'] = get_session_userid(); 'updated_by' => get_session_userid(),
$data['is_active'] = 0; 'is_active' => 0
$update = $this->clientBranchModel->update($id,$data); ];
if($update){
return $this->respond(['status' => true,'code' => 200], 200); $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{ }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() public function createClientRelation()
{ {
@ -647,6 +659,7 @@ class ClientController extends AdminController
} }
} }
public function createClientBranch() public function createClientBranch()
{ {
@ -658,7 +671,7 @@ class ClientController extends AdminController
$data['sez'] = 1; $data['sez'] = 1;
} }
$data['created_by'] = get_session_userid(); $data['created_by'] = get_session_userid();
$insert = $this->clientBranchModel->insert($data); $insert = $this->clientBranchModel->insert($data);
if($insert){ if($insert){
for ($i = 0; $i < count($this->request->getPost('name')); $i++) { for ($i = 0; $i < count($this->request->getPost('name')); $i++) {
@ -679,9 +692,18 @@ class ClientController extends AdminController
if($insert){ if($insert){
$branchData = $this->clientBranchModel->where('client_id', $this->request->getPost('client_id'))->findAll(); $branchData = $this->clientBranchModel->where('client_id', $this->request->getPost('client_id'))->findAll();
$branchData['role'] = get_role_id(); $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{ }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'); $id = $this->request->getPost('branch_id_primarykey');
$client_id = $this->request->getPost('client_id'); $client_id = $this->request->getPost('client_id');
$data = $this->request->getPost(); $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' => 'Cannot delete config units',
'uncommonValues' => $uncommonValues,
'data' => $branchData,
], 200);
}
}
if (!isset($data['sez'])) { if (!isset($data['sez'])) {
$data['sez'] = 0; $data['sez'] = 0;
} elseif ($data['sez']) { } elseif ($data['sez']) {
$data['sez'] = 1; $data['sez'] = 1;
} }
$data['updated_by'] = get_session_userid(); $data['updated_by'] = get_session_userid();
$insert = $this->clientBranchModel->update($id, $data); $insert = $this->clientBranchModel->update($id, $data);
$this->myLogger->logme('error','Client branch EDITED by {data}', ['data' => get_session_userid()]); $this->myLogger->logme('error','Client branch EDITED by {data}', ['data' => get_session_userid()]);
@ -721,12 +789,25 @@ class ClientController extends AdminController
if($insert){ if($insert){
$branchData = $this->clientBranchModel->where('client_id', $client_id)->findAll(); $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{ }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() public function createClientPolicy()
{ {
@ -1019,22 +1100,32 @@ class ClientController extends AdminController
$client_policy_data = $this->clientPolicyModel->where('id', $client_policy_id)->first(); $client_policy_data = $this->clientPolicyModel->where('id', $client_policy_id)->first();
$client_id = $client_policy_data['client_id']; $client_id = $client_policy_data['client_id'];
} }
$branch_units = $this->getBranchUnitsByBranchId($record['client_branch_id']); $branch_units = $this->getBranchUnitsByBranchId($record['client_branch_id']);
$branch_units = json_decode($branch_units); $branch_units = json_decode($branch_units);
$policy_grid_id = $this->request->getPost('policy_grid_id'); $policy_grid_id = $this->request->getPost('policy_grid_id');
$rack_rate_name = $this->request->getPost('rack_rate_name'); $rack_rate_name = $this->request->getPost('rack_rate_name');
$relation_data = [ $relation_data = [
'self' => $this->request->getPost('self'), 'self' => $this->request->getPost('self') ?? 'NA',
'spouse' => $this->request->getPost('spouse'), 'spouse' => $this->request->getPost('spouse') ?? 'NA',
'childrens' => $this->request->getPost('childrens'), 'childrens' => $this->request->getPost('childrens') ?? 'NA',
'parents' => $this->request->getPost('parents'), 'parents' => $this->request->getPost('parents') ?? 'NA',
'parents-in-law'=> $this->request->getPost('parents-in-law'), '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 = [ $relation_data = [
'self' => 1, 'self' => 1,
'spouse' => 'NA', 'spouse' => 'NA',
@ -1046,7 +1137,7 @@ class ClientController extends AdminController
// Convert to JSON // Convert to JSON
$jsonDataForRelation = json_encode($relation_data); $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'); $si_or_bp = $this->request->getPost('si_or_bp');
$basic_multiplier = str_replace(',', '', $this->request->getPost('basic_multiplier')); $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[]')); $premium = str_replace(',', '', $this->request->getPost('gpa_sum_premium[]'));
$sum_insure = str_replace(',', '', $this->request->getPost('gpa_sum_si[]')); $sum_insure = str_replace(',', '', $this->request->getPost('gpa_sum_si[]'));
$multiplier = $this->request->getPost('gpa_sum_multiplier'); $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++) { for ($i = 0; $i < count($premium); $i++) {
$data['si'] = $sum_insure[$i]; $data['si'] = $sum_insure[$i];
@ -1099,7 +1190,7 @@ class ClientController extends AdminController
$sum_insure = str_replace(',', '', $this->request->getPost('gpa_sum_si2[]')); $sum_insure = str_replace(',', '', $this->request->getPost('gpa_sum_si2[]'));
$multiplier = $this->request->getPost('gpa_sum_multiplier2'); $multiplier = $this->request->getPost('gpa_sum_multiplier2');
$grade = $this->request->getPost('gpa_band[]'); $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++) { for ($i = 0; $i < count($premium); $i++) {
@ -1156,20 +1247,27 @@ class ClientController extends AdminController
$data = $this->request->getPost(); $data = $this->request->getPost();
$insert = true; $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(); $data = $this->request->getPost();
$insert = true; $insert = true;
} else if ($policy_grid_id == '3') { } else if ($policy_grid_id == '3') {
$premium = $this->request->getPost('3_premium[]'); $premium = $this->request->getPost('3_premium[]');
@ -1215,6 +1313,7 @@ class ClientController extends AdminController
} else if ($policy_grid_id == '5') { } else if ($policy_grid_id == '5') {
$premium = $this->request->getPost('5_premium[]'); $premium = $this->request->getPost('5_premium[]');
$sum_insure = $this->request->getPost('5_si[]'); $sum_insure = $this->request->getPost('5_si[]');
$age_from = $this->request->getPost('5_age_from[]'); $age_from = $this->request->getPost('5_age_from[]');
@ -1226,7 +1325,7 @@ class ClientController extends AdminController
$data['si'] = str_replace(',', '', $sum_insure[$i]); $data['si'] = str_replace(',', '', $sum_insure[$i]);
$data['age_from'] = $age_from[$i]; $data['age_from'] = $age_from[$i];
$data['age_to'] = $age_to[$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]; $data['unit'] = $branch_units[0];
} else { } else {
$data['unit'] = $unit[$i]; $data['unit'] = $unit[$i];
@ -1234,8 +1333,10 @@ class ClientController extends AdminController
$dataa = $this->policyPremium2Model->insert($data); $dataa = $this->policyPremium2Model->insert($data);
} }
$data = $this->request->getPost(); $data = $this->request->getPost();
$insert = true; $insert = true;
} else if ($policy_grid_id == '6') { } else if ($policy_grid_id == '6') {
$premium = $this->request->getPost('6_premium[]'); $premium = $this->request->getPost('6_premium[]');
@ -1305,27 +1406,24 @@ class ClientController extends AdminController
$insert = true; $insert = true;
} else if ($policy_grid_id == '9') { } else if ($policy_grid_id == '9') {
$data['premium'] = str_replace(',', '', $this->request->getPost('gpa_premium')); $premium = $this->request->getPost('gpa_premium29[]');
$data['si'] = str_replace(',', '', $this->request->getPost('gpa_si')); $sum_insure = $this->request->getPost('gpa_si29[]');
$unit = $this->request->getPost('gpa_unit'); $unit = $this->request->getPost('gpa_unit29[]');
if (empty($unit)) {
$data['unit'] = $branch_units[0]; for ($i = 0; $i < count($premium); $i++) {
} else { $data['premium'] = str_replace(',', '', $premium[$i]);
$data['unit'] = $unit; $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(); $data = $this->request->getPost();
$insert = true; $insert = true;
} else if ($policy_grid_id == '10') { } else if ($policy_grid_id == '10') {
$premium = $this->request->getPost('10_premium[]'); $premium = $this->request->getPost('10_premium[]');
$sum_insure = $this->request->getPost('10_si[]'); $sum_insure = $this->request->getPost('10_si[]');
@ -1355,7 +1453,7 @@ class ClientController extends AdminController
$sum_insure = $this->request->getPost('11_si[]'); $sum_insure = $this->request->getPost('11_si[]');
$grade = $this->request->getPost('11_grade[]'); $grade = $this->request->getPost('11_grade[]');
$max_sum_insure = $this->request->getPost('11_max_si[]'); $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++) { for ($i = 0; $i < count($premium); $i++) {
$data['premium'] = str_replace(',', '', $premium[$i]); $data['premium'] = str_replace(',', '', $premium[$i]);
@ -1421,13 +1519,13 @@ class ClientController extends AdminController
} }
if ($insert) { 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 { } else {
return $this->respond(['status' => false, 'code' => 404, 'data' => $data, 'message' => 'no data found'], 200); return $this->respond(['status' => false, 'code' => 404, 'data' => $data, 'message' => 'no data found'], 200);
} }
} catch (\Exception $e) { } 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(); $results = $this->policyGridModel->like('policy_type', $search_term)->findAll();
$jsonArray = [];
if ($search_term === 'GPA' || $policy_type_id == 6 || $policy_type_id == 7) { 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') { } else if ($search_term === 'GMC') {
$premiumData = $this->policyPremium2Model->where(['client_id' => $record['client_id'], 'client_policy_id' => $client_policy_id, 'is_active' => 1])->findAll(); $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 { } else {
$premiumData = ""; $premiumData = "";
@ -1650,7 +1762,8 @@ class ClientController extends AdminController
'self' => $self, 'self' => $self,
'client_policy_id' => $client_policy_id, 'client_policy_id' => $client_policy_id,
'terms_si_amount_array' => $terms_si_amount_array, 'terms_si_amount_array' => $terms_si_amount_array,
'branch_units' => $branch_units 'branch_units' => $branch_units,
'jsonArray' => $jsonArray,
], 200); ], 200);
} else if ($search_term === 'GPA' || $policy_type_id == 6 || $policy_type_id == 7) { } else if ($search_term === 'GPA' || $policy_type_id == 6 || $policy_type_id == 7) {
@ -1665,7 +1778,8 @@ class ClientController extends AdminController
'self' => $self, 'self' => $self,
'client_policy_id' => $client_policy_id, 'client_policy_id' => $client_policy_id,
'terms_si_amount_array' => $terms_si_amount_array, 'terms_si_amount_array' => $terms_si_amount_array,
'branch_units' => $branch_units 'branch_units' => $branch_units,
'jsonArray' => $jsonArray,
], 200); ], 200);
} else { } else {
@ -1679,7 +1793,8 @@ class ClientController extends AdminController
'self' => $self, 'self' => $self,
'client_policy_id' => $client_policy_id, 'client_policy_id' => $client_policy_id,
'terms_si_amount_array' => $terms_si_amount_array, 'terms_si_amount_array' => $terms_si_amount_array,
'branch_units' => $branch_units 'branch_units' => $branch_units,
'jsonArray' => $jsonArray,
], 200); ], 200);
} }
} }
@ -2044,7 +2159,7 @@ class ClientController extends AdminController
$message = 'Enrolment Closed Successfully'; $message = 'Enrolment Closed Successfully';
} }
$data = $this->policesModel->getPolicyPremium($record['policy_id']); $data = $this->policesModel->getPolicyPremium($client_policy_id);
$pattern = '/gmc/i'; $pattern = '/gmc/i';
$subject = $data[0]->policy_type; $subject = $data[0]->policy_type;
if (preg_match($pattern, $subject)) { if (preg_match($pattern, $subject)) {
@ -2076,8 +2191,8 @@ class ClientController extends AdminController
} }
// Check if 'family_floater' key exists and has a value // Check if 'family_floater' key exists and has a value
if (isset($termsData->family_floater) && $termsData->family_floater == null) { 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); 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 // Check if 'family_floaters' key exists and has a value
@ -2666,9 +2781,8 @@ class ClientController extends AdminController
public function getClientDetails($client_id) public function getClientDetails($client_id)
{ {
$result = $this->clientModel->where('id', $client_id)->first();
$result = $this->clientModel->where('id', $client_id)->first(); return $this->respond(['status' => true, 'data' => $result], 200);
return $this->respond(['status' => true, 'data' => $result], 200);
} }
public function getBranchUnitsByBranchId($branch_id) public function getBranchUnitsByBranchId($branch_id)
@ -2828,7 +2942,6 @@ class ClientController extends AdminController
} }
public function removeRackRate($rack_rate_name = null, $client_policy_id = null) public function removeRackRate($rack_rate_name = null, $client_policy_id = null)
{ {
$this->myLogger->logme('error', 'Rack Rate Remove function called'); $this->myLogger->logme('error', 'Rack Rate Remove function called');
@ -2853,7 +2966,7 @@ class ClientController extends AdminController
if ($update) { if ($update) {
return $this->respond(['status' => true, 'code' => 200, 'message' => 'Rack Rate removed successfully', 'rr_count' => $rackRateData], 200); return $this->respond(['status' => true, 'code' => 200, 'message' => 'Rack Rate removed successfully', 'rr_count' => $rackRateData], 200);
} else { } 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{ }else{
@ -2862,4 +2975,38 @@ 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)
->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);
}
}
} }

View File

@ -331,7 +331,7 @@ class EmpDataServiceController extends BaseController
[ [
'column_index' => 0, 'column_index' => 0,
'column_name' => 'S.No', 'column_name' => 'S.No',
'header_name' => 'index' 'db_column_name' => 'index'
], ],
[ [
'column_index' => 1, 'column_index' => 1,
@ -1549,7 +1549,6 @@ class EmpDataServiceController extends BaseController
} }
} }
$batch_list_id[] = $emp_value['emp_policy_id']; $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']; $file_name_with_path = WRITEPATH . "/uploads/import_excel/" . $file['file_name'];
$excel_data = $this->readExcelFileToArray($file_name_with_path); $excel_data = $this->readExcelFileToArray($file_name_with_path);
unset($excel_data[0]); // Remove header row unset($excel_data[0]); // Remove header row
array_pop($excel_data); // Remove footer row // array_pop($excel_data);
$totals = 0; $totals = 0;
$emp_policy_ids = []; $emp_policy_ids = [];
@ -1707,7 +1706,6 @@ class EmpDataServiceController extends BaseController
$emp_count = count($excel_data); $emp_count = count($excel_data);
$db = \Config\Database::connect(); $db = \Config\Database::connect();
foreach ($excel_data as $key => $value) { foreach ($excel_data as $key => $value) {
$name = $value[1]; $name = $value[1];
@ -1716,33 +1714,37 @@ class EmpDataServiceController extends BaseController
$uhid[] = $value[16]; $uhid[] = $value[16];
$amount = $value[20]; $amount = $value[20];
$totals = $totals + $amount; if(!empty($name) && !empty($emp_code)){
$query = $db->table('employee_polices'); $totals = $totals + $amount;
$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.tpa_id IS NULL OR employee_polices.tpa_id = "")'); $query = $db->table('employee_polices');
} else if ($file['insurer_or_tpa'] == 'insurer') { $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.tpa_id IS NULL OR employee_polices.tpa_id = "")');
} } else if ($file['insurer_or_tpa'] == 'insurer') {
$query->where('employee_polices.is_active', 1);
$query->where('employee_polices.status', 'active'); $query->where('(employee_polices.uhid IS NULL OR employee_polices.uhid = "")');
$query->where('employees.is_active', 1); }
$query->where('employees.emp_status', 'active'); $query->where('employee_polices.is_active', 1);
$query->limit(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'); $this->myLogger->logme('error', 'Inception Update TPA and UHID -- set cashDepositCalculationForInception and sendMailForDownloadingECard in JOB QUEUE');
$policy_name = $this->getPolicyNameUsingClientPolicyId($client_policy_id); $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(); $job_details = new Jobs();
$r = Jobs::addJob(['job_name' => 'cashDepositCalculationForInception', 'payload' => [ $r = Jobs::addJob(['job_name' => 'cashDepositCalculationForInception', 'payload' => [
@ -1813,8 +1814,6 @@ class EmpDataServiceController extends BaseController
//Endorsement Correction //Endorsement Correction
public function importCorrectionValidation($params) public function importCorrectionValidation($params)
{ {
@ -2229,7 +2228,6 @@ class EmpDataServiceController extends BaseController
//Endorsement SIEnhancement //Endorsement SIEnhancement
public function importSIEnhancementValidation($params) public function importSIEnhancementValidation($params)
{ {
@ -2866,7 +2864,7 @@ class EmpDataServiceController extends BaseController
$excel_data = $this->readExcelFileToArray($file_name_with_path); $excel_data = $this->readExcelFileToArray($file_name_with_path);
$excel_header = $excel_data[0]; $excel_header = $excel_data[0];
unset($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']; $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]; $totals = $totals + $value[13];
$endorsement_id = $value[15]; $endorsement_id = $value[15];
if(!empty($emp_code) && !empty($emp_name)){
$fetch_data = [ $fetch_data = [
'client_policy_id' => $client_policy_id, 'client_policy_id' => $client_policy_id,
'client_branch_id' => $client_branch_id, 'client_branch_id' => $client_branch_id,
'client_id' => $client_id, 'client_id' => $client_id,
'emp_name' => $emp_name, 'emp_name' => $emp_name,
'emp_code' => $emp_code 'emp_code' => $emp_code
]; ];
$result = $this->employeePolicyModel->fetchEmpEndorsementData($fetch_data); $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');
} }
} }

View File

@ -103,6 +103,8 @@ class EmployeeController extends AdminController
$data['getData'] = $filterData; $data['getData'] = $filterData;
} }
// dd( $data['getData']);
// dd($this->request->getGet()); // dd($this->request->getGet());
$this->myLogger->logme('error', 'list called'); $this->myLogger->logme('error', 'list called');
$this->loadLayout('employee_list', $data); $this->loadLayout('employee_list', $data);
@ -463,10 +465,10 @@ class EmployeeController extends AdminController
if (!$return) { if (!$return) {
if ($insurer_or_tpa == 'tpa') { 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')); return redirect()->to(base_url('employee/upload'));
} else if ($insurer_or_tpa == 'insurer') { } 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')); return redirect()->to(base_url('employee/upload'));
} }
} else { } else {
@ -1511,8 +1513,11 @@ class EmployeeController extends AdminController
$client_id = $json->client_id; $client_id = $json->client_id;
$policy_id = $json->policy_id; $policy_id = $json->policy_id;
$branch_id = $json->branch_id; $branch_id = $json->branch_id;
$unit_id = $json->unit_id;
$action = $json->action;
$family_code = $json->emp_code;
$tabledata = $json->data; $tabledata = $json->data;
$existing_famility_details = [];
if(count($tabledata)) if(count($tabledata))
{ {
$family_details = []; $family_details = [];
@ -1523,7 +1528,7 @@ class EmployeeController extends AdminController
{ {
$temp[0] = $row['column1'];//sno $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[2] = $row['column3'];//name
$temp[3] = $row['column4'];//DOB $temp[3] = $row['column4'];//DOB
$temp[4] = strtoupper($row['column5']);//Gender $temp[4] = strtoupper($row['column5']);//Gender
@ -1540,14 +1545,29 @@ class EmployeeController extends AdminController
$temp[15] = '';//RFE $temp[15] = '';//RFE
$temp[16] = '';//DOE $temp[16] = '';//DOE
$temp[17] = '';//Unit $temp[17] = '';//Unit
$temp[18] = $row['column11'];//unit $temp[18] = $unit_id;//unit
$family_details[] = $temp; $family_details[] = $temp;
} }
} }
} }
// print_r($family_details); if($action == 'dependent_addition')
// return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => $family_details], 200); {
$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 //get policy details
$policy_details = $this->clientPolicyModel->getPolicyDetails($client_id,$policy_id); $policy_details = $this->clientPolicyModel->getPolicyDetails($client_id,$policy_id);
$policy_details = (array)$policy_details[0]; $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]);
} }
} }

View File

@ -1015,6 +1015,17 @@ class EmployeeRestController extends AdminController
$self['data']['basic_cover_si'] = $employee_policy->basic_cover_si; $self['data']['basic_cover_si'] = $employee_policy->basic_cover_si;
$array->mapped_family_floaters = $self; $array->mapped_family_floaters = $self;
$res = [];
array_push($res,$array);
$EDLIPolicy = $this->getAdditionalGPAPolicy($employeeData,6,$emp_code,$client_id,$client_branch_id);
if($EDLIPolicy){ array_push($res,$EDLIPolicy); }
$GTLIPolicy = $this->getAdditionalGPAPolicy($employeeData,7,$emp_code,$client_id,$client_branch_id);
if($GTLIPolicy){ array_push($res,$GTLIPolicy); }
return $this->respond(['status' => 'success','code' => 200,'data' => $res ], 200);
// Return result // Return result
if($this->request->getGet('policy') == 'GPA') if($this->request->getGet('policy') == 'GPA')
@ -1133,8 +1144,8 @@ class EmployeeRestController extends AdminController
$array->mapped_family_floaters = $data; $array->mapped_family_floaters = $data;
$array->type = "Group Medical Coverage"; $array->type = "Group Medical Coverage";
$checkGmcParentsPolicyExist = $this->clientPolicyModel->select('client_policy.id as ClientPolicyId , client_policy.client_id as ClientId, policies.id as PolicyId , client_policy.policy_type_id as policy_type_id, policies.name as Policy_Name , client_policy.is_addon as is_addon , client_policy.open_for_enrollment as OpenForEnrollment , client_policy.inception_type as inception_type , client_policy.policy_terms as Policy_Terms') $checkGmcParentsPolicyExist = $this->clientPolicyModel->select('client_policy.id as ClientPolicyId , client_policy.client_id as ClientId, client_policy.policy_type_id as policy_type_id, policy_type.long_name as Policy_Name , client_policy.is_addon as is_addon , client_policy.open_for_enrollment as OpenForEnrollment , client_policy.inception_type as inception_type , client_policy.policy_terms as Policy_Terms')
->join('policies', 'client_policy.policy_id = policies.id', 'left') ->join('policy_type', 'client_policy.policy_type_id = policy_type.id', 'left')
->where('client_policy.policy_type_id', 3 ) ->where('client_policy.policy_type_id', 3 )
->where('client_policy.is_addon', 1 ) ->where('client_policy.is_addon', 1 )
->where('client_policy.client_id', $this->request->getGet('client_id') ) ->where('client_policy.client_id', $this->request->getGet('client_id') )
@ -1328,6 +1339,70 @@ class EmployeeRestController extends AdminController
} }
public function getAdditionalGPAPolicy($empData,$policy_type,$emp_code,$client_id,$client_branch_id)
{
$checkPolicyExist = $this->clientPolicyModel->select('client_policy.id as ClientPolicyId , client_policy.client_id as ClientId, client_policy.policy_type_id as policy_type_id, client_policy.is_addon as is_addon , client_policy.open_for_enrollment as OpenForEnrollment , client_policy.inception_type as inception_type , client_policy.policy_terms as Policy_Terms , client_policy.enrolment_visibility')
->where('client_policy.policy_type_id', $policy_type )
->where('client_policy.is_addon', 1 )
->where('client_policy.client_id', $client_id )
->where('client_policy.client_branch_id', $client_branch_id )
->where('client_policy.is_active', 1 )
->get()
->getResult();
if($checkPolicyExist){
foreach ($checkPolicyExist as $key => $array) {
$decodedArray = json_decode($array->Policy_Terms);
$array->Policy_Terms = $decodedArray;
// Filter employee data where the family_floater_key is 'self'
$selfData = array_filter($empData, fn($arr) => trim(strtolower($arr['family_floater_key'])) === 'self');
$employee_policy = $this->employeePolicyModel->where('employee_id',$selfData[0]['id'])->where('client_policy_id',$array->ClientPolicyId)->where('is_active', 1 )->get()->getRow();
$policyTypeData = $this->policyTypeModel->where('id',$policy_type)->get()->getRow();
$array->type = $policyTypeData->policy_type;
$array->Policy_Name = $policyTypeData->long_name;
if($employee_policy){
if($employee_policy->tpa_id != null){
$array->eCardDownload = base_url('download-e-card/') . $employee_policy->rand_string;
}else{ $array->eCardDownload = null; }
$self['is_value_exist'] = true;
$self['data']['family_floater_key'] = 'self';
$self['data']['employee_id'] = $selfData[0]['id'];
$self['data']['relationship'] = 'Self';
$self['data']['name'] = $selfData[0]['name'];
$self['data']['dob'] = $this->convertDateFormatDMY($selfData[0]['dob']);
$self['data']['mobile'] = $selfData[0]['mobile'];
$self['data']['client_policy_id'] = $array->ClientPolicyId;
$self['data']['basic_cover_si'] = $employee_policy->basic_cover_si;
$array->mapped_family_floaters = $self;
if($array->enrolment_visibility == 1)
return $array;
else
return false;
}else{
return false;
}
}
}
}
public function getGTLIPolicy($empData,$emp_code,$client_id,$client_branch_id)
{
}
public function FloterConvertion($array){ public function FloterConvertion($array){
$result = []; $result = [];
@ -1473,8 +1548,9 @@ class EmployeeRestController extends AdminController
} }
$policyTypeData = $this->policyTypeModel->where('id',$array['policy_type_id'])->get()->getRow();
$responce['policy_name'] = $this->policesModel->where('id',$array['policy_id'])->get()->getRow()->name; $responce['policy_name'] = $policyTypeData->long_name;
$responce['type'] = $policyTypeData->policy_type;
$responce['SlabRates'] = $uniqueData; $responce['SlabRates'] = $uniqueData;
$responce['GridMaster'] = $getSlabAndGridData['grid_master']; $responce['GridMaster'] = $getSlabAndGridData['grid_master'];
$responce['client_id'] = $array['client_id']; $responce['client_id'] = $array['client_id'];
@ -1934,8 +2010,8 @@ class EmployeeRestController extends AdminController
$data['balance'] = count($data['depositData']) ? $data['depositData'][0]->balance : 0; $data['balance'] = count($data['depositData']) ? $data['depositData'][0]->balance : 0;
$data['policyDetails'] = []; $data['policyDetails'] = [];
$ClientPolicyData = $this->clientPolicyModel->select('client_policy.id as client_policy_id , client_policy.client_id as client_id, policies.id as policy_id , client_policy.policy_type_id as policy_type_id, policies.name as policy_name , client_policy.is_addon as is_addon , client_policy.open_for_enrollment as OpenForEnrollment , client_policy.inception_type as inception_type ') $ClientPolicyData = $this->clientPolicyModel->select('client_policy.id as client_policy_id , client_policy.client_id as client_id, client_policy.policy_type_id as policy_type_id, client_policy.is_addon as is_addon , client_policy.open_for_enrollment as OpenForEnrollment , client_policy.inception_type as inception_type ')
->join('policies', 'client_policy.policy_id = policies.id', 'left')
->where('client_policy.insurer_id', $value['insurerId'] ) ->where('client_policy.insurer_id', $value['insurerId'] )
->where('client_policy.client_id', $this->request->getGet('client_id') ) ->where('client_policy.client_id', $this->request->getGet('client_id') )
->where('client_policy.client_branch_id', $this->request->getGet('client_branch_id') ) ->where('client_policy.client_branch_id', $this->request->getGet('client_branch_id') )
@ -1945,8 +2021,9 @@ class EmployeeRestController extends AdminController
// dd( $ClientPolicyData); // dd( $ClientPolicyData);
foreach ($ClientPolicyData as $key => $value) foreach ($ClientPolicyData as $key => $value)
{ {
$policyTypeData = $this->policyTypeModel->where('id',$value['policy_type_id'])->get()->getRow();
$value['type'] = $this->policyTypeModel->where('id',$value['policy_type_id'])->get()->getRow()->policy_type; $value['type'] = $policyTypeData->policy_type;
$value['policy_name'] = $policyTypeData->long_name;
$employeeDetails = $this->employeePolicyModel->getEmployeePolicy( client_id:$value['client_id'],policy_id: $value['client_policy_id'],status:0,branch_id:$this->request->getGet('client_branch_id')); $employeeDetails = $this->employeePolicyModel->getEmployeePolicy( client_id:$value['client_id'],policy_id: $value['client_policy_id'],status:0,branch_id:$this->request->getGet('client_branch_id'));
$enrolledCount = 0; $enrolledCount = 0;
$draftCount = 0; $draftCount = 0;

View File

@ -18,6 +18,7 @@ use App\Models\EmpEndorsementModel;
use App\Models\MessageModel; use App\Models\MessageModel;
use App\Models\ClientBranchModel; use App\Models\ClientBranchModel;
use App\Models\NotificationModel; use App\Models\NotificationModel;
use App\Models\InsurerModel;
use App\Helpers\sendMailNotification; use App\Helpers\sendMailNotification;
@ -41,6 +42,7 @@ class EmployeeServiceController extends AdminController
protected $messageModel; protected $messageModel;
protected $clientBranchModel; protected $clientBranchModel;
protected $notificationModel; protected $notificationModel;
protected $insurerModel;
protected $general_relationships = [ protected $general_relationships = [
'self' => [ 'self' => [
@ -649,6 +651,7 @@ class EmployeeServiceController extends AdminController
$this->messageModel = new MessageModel(); $this->messageModel = new MessageModel();
$this->clientBranchModel = new ClientBranchModel(); $this->clientBranchModel = new ClientBranchModel();
$this->notificationModel = new NotificationModel(); $this->notificationModel = new NotificationModel();
$this->insurerModel = new InsurerModel();
} }
public function excelFileFormatValidation($params) public function excelFileFormatValidation($params)
@ -1295,21 +1298,31 @@ class EmployeeServiceController extends AdminController
// $excel_data = $sheet->rangeToArray('A1:' . $highestRowAndColumn['column'] . $highestRowAndColumn['row']); // $excel_data = $sheet->rangeToArray('A1:' . $highestRowAndColumn['column'] . $highestRowAndColumn['row']);
unset($excel_data[0]); unset($excel_data[0]);
// dd($excel_data); // kint::dump($excel_data);
$endorsement_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 //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); $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 //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']); $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()); // 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']); // $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 // 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' => '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']); $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); // dd($employee);
if(is_array($employee) && count($employee)) if(is_array($employee) && count($employee))
{ {
// dd($employee);
$existing_endorsements = $this->empEndorsementModel->where('actions','d') $existing_endorsements = $this->empEndorsementModel->where('actions','d')
->where('table_name','employees') ->where('table_name','employees')
->where('endorsement_id is null') ->where('endorsement_id is null')
@ -1334,9 +1348,10 @@ class EmployeeServiceController extends AdminController
->where('field_name','emp_status') ->where('field_name','emp_status')
->findAll(); ->findAll();
// dd($existing_endorsements);
if(!count($existing_endorsements)) if(!count($existing_endorsements))
{ {
// dd($employee);
if(strtolower($employee['relationship']) != 'self') if(strtolower($employee['relationship']) != 'self')
{ {
@ -1654,6 +1669,10 @@ class EmployeeServiceController extends AdminController
}// if end }// if end
}// is array check end }// is array check end
else
{
$this->myLogger->logme('error','######Incoming value is not an array');
}
}// for end }// for end
}//function end }//function end

View File

@ -152,8 +152,17 @@ class MasterController extends AdminController
$editData['insurer'] = $this->insurerModel->where(['id' => $id, 'is_active' => 1])->first(); $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_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'];
// echo "<pre>"; // echo "<pre>";
@ -377,8 +386,6 @@ class MasterController extends AdminController
}else{ }else{
return $this->respond(['status' => true, 'message' => 'Failed to add template', $insurer_templete_data]); return $this->respond(['status' => true, 'message' => 'Failed to add template', $insurer_templete_data]);
} }
} }
// Insurer Ends // Insurer Ends
@ -386,7 +393,6 @@ class MasterController extends AdminController
// TPA Start // TPA Start
public function tpaList() public function tpaList()
{ {
$this->myLogger->logme('error','TPA list function called'); $this->myLogger->logme('error','TPA list function called');
@ -709,10 +715,11 @@ class MasterController extends AdminController
echo json_encode($editData); echo json_encode($editData);
exit(); exit();
} }
//Ends TPA Models //Ends TPA Models
//Start KYC //Start KYC
public function kycList() public function kycList()
@ -901,8 +908,9 @@ class MasterController extends AdminController
//Start Policy
//Start Policy
public function policyTypeList() public function policyTypeList()
{ {
$this->myLogger->logme('error','Policy Type list function called'); $this->myLogger->logme('error','Policy Type list function called');
@ -1098,10 +1106,11 @@ class MasterController extends AdminController
echo json_encode(array("status" => false)); echo json_encode(array("status" => false));
} }
} }
//end policies //end policies
//start CD Master list //start CD Master list
public function CDMasterList() public function CDMasterList()
{ {
@ -1254,4 +1263,25 @@ class MasterController extends AdminController
} }
} }
public function createExcelTemplate()
{
$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'),
'jsoncolumns' => $this->request->getPost('json_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]);
}
}
} }

View File

@ -118,6 +118,9 @@ class UserController extends AdminController
}else{ }else{
$id = $this->request->getPost('PrimaryKey'); $id = $this->request->getPost('PrimaryKey');
$userData = $this->request->getPost(); $userData = $this->request->getPost();
unset($userData['csrf_test_name']);
unset($userData['PrimaryKey']);
// unset($userData['first_name']);
// Update data in the 'users' table based on the $id // Update data in the 'users' table based on the $id
$userData['updated_by'] = get_session_userid(); $userData['updated_by'] = get_session_userid();
@ -147,7 +150,7 @@ class UserController extends AdminController
$db->table($tableName)->where('emp_code', $userData['emp_code']) $db->table($tableName)->where('emp_code', $userData['emp_code'])
->where('email', $userData['email']) ->where('email', $userData['email'])
->set($userData) ->set($hdz_staff)
->update(); ->update();
} }
} }

View File

@ -241,6 +241,13 @@ if(!function_exists('check_si'))
$return_array = array('status' => true,'error' => ''); $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 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]; $received_si = $row['current_action'] == 'SI' ? $row[3] : $row[6];

View File

@ -45,14 +45,14 @@ class ClientModel extends Model
->where('is_active',1) ->where('is_active',1)
->findAll(); ->findAll();
// if($role_id == 2 || $role_id == 3){ if($role_id == 2 || $role_id == 3){
// $clients = $this->select($columns) $clients = $this->select($columns)
// ->join('client_rm', 'client_rm.client_id = clients.id') ->join('client_rm', 'client_rm.client_id = clients.id')
// ->where('client_rm.user_id', $user_id) ->where('client_rm.user_id', $user_id)
// ->where('clients.is_active',1) ->where('clients.is_active',1)
// ->findAll(); ->findAll();
// } }
@ -84,6 +84,7 @@ class ClientModel extends Model
$clientBranchModel = new ClientBranchModel(); $clientBranchModel = new ClientBranchModel();
$clientBranchs = $clientBranchModel->select(['client_branch.id','client_branch.branch_name','client_branch.branch_code', 'client_branch.client_id','client_branch.units']) $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.client_id',$client['id'])
->where('client_branch.is_active',1)
->findAll(); ->findAll();
$client['branchs'] = $clientBranchs; $client['branchs'] = $clientBranchs;

View File

@ -149,9 +149,9 @@ class EmployeeModel extends Model
{ {
return $this->db->table('employee_polices') return $this->db->table('employee_polices')
->select(' policies.name as Policy_Name , client_policy.policy_terms as Policy_Terms, client_policy.client_id as ClientId, client_policy.policy_id as PolicyId,client_policy.id as ClientPolicyId, client_policy.open_for_enrollment as OpenForEnrollment , employee_polices.tpa_id as tpa_id , employee_polices.rand_string as rand_string') // Select all columns from both tables ->select(' policy_type.long_name as Policy_Name , client_policy.policy_terms as Policy_Terms, client_policy.client_id as ClientId, client_policy.policy_id as PolicyId,client_policy.id as ClientPolicyId, client_policy.open_for_enrollment as OpenForEnrollment , employee_polices.tpa_id as tpa_id , employee_polices.rand_string as rand_string') // Select all columns from both tables
->join('client_policy', 'client_policy.id = employee_polices.client_policy_id') ->join('client_policy', 'client_policy.id = employee_polices.client_policy_id')
->join('policies', 'policies.id = client_policy.policy_id') ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
->where('client_policy.policy_status', 1) ->where('client_policy.policy_status', 1)
->where('employee_polices.employee_id', $id) ->where('employee_polices.employee_id', $id)
->get() ->get()

View File

@ -105,6 +105,8 @@ class EmployeePolicyModel extends Model
'emp.basic_pay', 'emp.basic_pay',
'emp.band as grade', 'emp.band as grade',
'policy_type.policy_type', 'policy_type.policy_type',
'client_branch.branch_name as client_branch_name',
'client_branch.branch_code as client_branch_code',
'cp.policy_no', 'cp.policy_no',
]) ])
->join('employees emp', 'employee_polices.employee_id = emp.id') ->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 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('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('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('emp.emp_code', 'ASC')
->orderBy('employee_polices.employee_id', 'ASC'); ->orderBy('employee_polices.employee_id', 'ASC');

View File

@ -20,6 +20,7 @@ class InsurerModel extends Model
"is_active", "is_active",
"addition_add_day", "addition_add_day",
"is_multi_event", "is_multi_event",
"deletion_add_day",
]; ];
@ -35,6 +36,7 @@ class InsurerModel extends Model
->get() ->get()
->getResult(); ->getResult();
} }
public function getInsurerName($insurerId) public function getInsurerName($insurerId)
{ {
// Fetch the insurer name based on the insurer ID // Fetch the insurer name based on the insurer ID
@ -50,6 +52,21 @@ class InsurerModel extends Model
return null; // or handle accordingly if the insurer is not found 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('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.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)
->get()
->getResultArray();
return $insurer_data;
}
} }

View File

@ -23,11 +23,10 @@ class PolicesModel extends Model
public function getPolicyPremium($policy_id){ public function getPolicyPremium($policy_id){
return $this->db->table('policies') return $this->db->table('client_policy')
->select('policy_type.*') ->select('policy_type.*')
->select('policies.name as policy_name') ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
->join('policy_type', 'policy_type.id = policies.policy_type_id') ->where('client_policy.id', $policy_id)
->where('policies.id', $policy_id)
->get() ->get()
->getResult(); ->getResult();
} }

View File

@ -259,9 +259,16 @@ $(document).ready(function () {
}, },
error: function (xhr, status, error) { error: function (xhr, status, error) {
console.error(xhr.responseText); console.error("Error Details:");
console.error(status, error); 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);
}
}); });
}); });

View File

@ -241,6 +241,10 @@ table.dataTable thead th {
$('#opening_bal').val(''); $('#opening_bal').val('');
$('#CDMasterForm')[0].reset(); $('#CDMasterForm')[0].reset();
$('#CDMasterForm').parsley().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', '<?php echo base_url('master/cash_deposite/edit');?>'); $('#CDMasterForm').attr('action', '<?php echo base_url('master/cash_deposite/edit');?>');
$('#CD_Master_ID').val(res.data.id); $('#CD_Master_ID').val(res.data.id);
$('#client_id').val(res.data.client_id).change(); $('#client_id').val(res.data.client_id).change();
$('#client_id').prop("disabled", true);
$('#insurer_id').val(res.data.insurer_id).change(); $('#insurer_id').val(res.data.insurer_id).change();
$('#insurer_id').prop("disabled", true);
$('#opening_date').val(res.data.opening_date); $('#opening_date').val(res.data.opening_date);
$('#cd_ac_no').val(res.data.cd_ac_no); $('#cd_ac_no').val(res.data.cd_ac_no);
$('#cd_ac_no').prop("disabled", true);
$('#opening_bal').val(res.data.opening_bal); $('#opening_bal').val(res.data.opening_bal);
$('#btnSubmit').html('Update'); $('#btnSubmit').html('Update');
@ -279,6 +286,10 @@ table.dataTable thead th {
$('#cd_ac_no').change(function(){ $('#cd_ac_no').change(function(){
var cd_ac_no = $(this).val(); 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({ $.ajax({
url: '<?php echo base_url('util/check_cd_ac_no/');?>'+cd_ac_no, url: '<?php echo base_url('util/check_cd_ac_no/');?>'+cd_ac_no,

View File

@ -371,6 +371,8 @@ $("#branch_form").submit(function(event) {
contentType: false, contentType: false,
success: function(res) { success: function(res) {
console.log('client branch submit response', res)
if (res) { if (res) {
setTimeout(function() { setTimeout(function() {
@ -380,11 +382,17 @@ $("#branch_form").submit(function(event) {
$('#branch_table').show(); $('#branch_table').show();
$('.btnBack').hide(); $('.btnBack').hide();
$('#btnBranchAdd').show(); $('#btnBranchAdd').show();
var message = (branch_PrimaryKey === '') ?
'Client Branch Created successfully' : if(res.status == false){
'Client Branch Updated successfully'; toastr.error(res.message, 'Error');
toastr.success(message, 'Success'); }else{
}, 1000); 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(); $('#branch_list tr').remove();
@ -395,7 +403,7 @@ $("#branch_form").submit(function(event) {
console.log(role) console.log(role)
$.each(res.data, function(index, item) { $.each(res.data, function(index, item) {
console.log('client_branch_data', item) // console.log('client_branch_data', item)
if(role != 3 && role != 4){ if(role != 3 && role != 4){
@ -433,8 +441,8 @@ $("#branch_form").submit(function(event) {
setTimeout(function() { setTimeout(function() {
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning'); console.log('Something Wrong!', 'warning');
}, 1000); }, 300);
} }
}); });
} }
@ -696,10 +704,10 @@ function removeClientBranch(element) {
// console.log(res.status == true); // console.log(res.status == true);
if (res) { if (res) {
if (res.status == true) { if (res.status == true) {
toastr.success('Client branch removed successfully', 'success'); toastr.success(res.message, 'success');
location.reload(); location.reload();
} else { } else {
toastr.warning('Failed to remove client branch', 'warning'); toastr.warning(res.message, 'warning');
} }
} }
}, },

View File

@ -341,7 +341,7 @@
<td>${policy_name_data}</td> <td>${policy_name_data}</td>
<td>${item.branch_name ? item.branch_name : ' - '}</td> <td>${item.branch_name ? item.branch_name : ' - '}</td>
<td>${tpaValue}</td> <td>${tpaValue}</td>
<td>${(item.open_date)} / ${(item.close_date)}</td> <td>${(item.policy_start_date)} / ${(item.policy_end_date)}</td>
<td style="text-align: center;">${(enrollmentStatus)}</td> <td style="text-align: center;">${(enrollmentStatus)}</td>
<td>${checkDateStatus(item.policy_end_date, 1)}</td> <td>${checkDateStatus(item.policy_end_date, 1)}</td>
<td> <td>
@ -675,72 +675,17 @@
$(document).ready(function() { $(document).ready(function() {
/********* set the Policy_Type_id for Form Submit *******/ /********* set the Policy_Type_id for Form Submit *******/
$('#policy').change(function() { $('#policy_type').change(function() {
var id = $(this).val(); var policy_type_id = $(this).val();
var dataId = $(this).children('option:selected').attr('data-id');
var branch_id = $('#client_branch').val();
var client_id = $('#client_id_policy').val();
console.log('client_id', client_id) if (policy_type_id == 1 || policy_type_id == 6 || policy_type_id == 7) {
console.log('branch_id', branch_id)
console.log('policy_type_id', dataId)
console.log('client_policy_id', $('#policy_PrimaryKey').val())
$('#policy_type_id').val(dataId);
var url = '<?php echo base_url('util/check_policy_type/') ?>' + dataId + '/' + branch_id + '/' + client_id;
if (dataId == 1) {
$('#tpa').prop('required', false); $('#tpa').prop('required', false);
$('#tpa_danger').hide() $('#tpa_danger').hide()
} else { } else {
$('#tpa').prop('required', true); $('#tpa').prop('required', true);
$('#tpa_danger').show() $('#tpa_danger').show()
} }
var base_policy_dataId = $('#base_policy').children('option:selected').attr('data-id');
if ($('#policy_type').val() == 1) {
// //console.log('step 1')
if (dataId == 3) {
// //console.log('step 2')
var displayStatus = $('#base_policy_id').css('display');
$('#base_policy_id').show();
$('#base_danger').hide();
// $('#base_policy').prop('required', true);
if (displayStatus === 'none') {
// //console.log('step 2.1')
$('#base_policy').val('').change();
}
// $('#base_policy').find('option[data-id="3"]').hide();
} else {
// //console.log('step 3')
var displayStatus = $('#base_policy_id').css('display');
$('#base_policy_id').hide();
$('#base_danger').show();
// $('#base_policy').prop('required', false);
if (displayStatus === 'none') {
// //console.log('step 3.1')
$('#base_policy').val('').change();
}
}
}
}); });
}); });
@ -804,6 +749,7 @@
$('#close_date').val(rearrangeDateFormat(res.data.close_date)); $('#close_date').val(rearrangeDateFormat(res.data.close_date));
$('#reminder_date').val(rearrangeDateFormat(res.data.reminder_date)); $('#reminder_date').val(rearrangeDateFormat(res.data.reminder_date));
$('#gst_no').val(gst); $('#gst_no').val(gst);
$('#policy_status').val(checkDateStatus(res.data.policy_end_date));
$('#policy_status_field').show(); $('#policy_status_field').show();
@ -920,6 +866,15 @@
} }
if (res.data.policy_type_id == '1' || res.data.policy_type_id == '6' || res.data.policy_type_id == '7') {
$('#tpa').prop('required', false);
$('#tpa_danger').hide()
} else {
$('#tpa').prop('required', true);
$('#tpa_danger').show()
}
setTimeout(function(){ setTimeout(function(){
appendCDACNO(res.cd_data, res.data.cd_ac_no) // append and select the current CD Account Number appendCDACNO(res.cd_data, res.data.cd_ac_no) // append and select the current CD Account Number
appendBasePolicyList(res.client_policy_list, res.data.base_policy, res.data.client_branch_id); // append and select the Base palicy appendBasePolicyList(res.client_policy_list, res.data.base_policy, res.data.client_branch_id); // append and select the Base palicy
@ -971,6 +926,8 @@
}, },
success: function(res) { success: function(res) {
console.log('OpenEnrollment response', res);
if (res) { if (res) {
if (res.open_for_enrollment) { if (res.open_for_enrollment) {
var json_decode = JSON.parse(res.open_for_enrollment); var json_decode = JSON.parse(res.open_for_enrollment);
@ -1171,13 +1128,23 @@
function convertCommaNumberToWords(input) { function convertCommaNumberToWords(input) {
let number; let number;
if (input instanceof HTMLElement) {
console.log( 'input type step 1', typeof input);
if (input instanceof HTMLElement && input.value) {
// Ensure input.value is defined and not null
const inputValue = input.value; const inputValue = input.value;
number = parseFloat(inputValue.replace(/,/g, ''), 10); number = parseFloat(inputValue.replace(/,/g, ''), 10);
} else { } else if (input) {
console.log( 'input type step 2', typeof input);
// Handle the case where input is a string
number = parseFloat(input.replace(/,/g, ''), 10); number = parseFloat(input.replace(/,/g, ''), 10);
} else {
// Handle the case where input is undefined or null
number = NaN; // or handle as needed
} }
const [integerPart, decimalPart] = number.toFixed(2).split('.'); const [integerPart, decimalPart] = number.toFixed(2).split('.');
const integerWord = convertNumberToWords(parseInt(integerPart, 10)); const integerWord = convertNumberToWords(parseInt(integerPart, 10));
let result = `${integerWord}`; let result = `${integerWord}`;
@ -1224,7 +1191,12 @@
maximumFractionDigits: 2 maximumFractionDigits: 2
}); });
//console.log('formetted value', value); console.log('formatNumber function formetted value', value);
console.log('formatNumber function formetted value type',typeof value);
if(value == 'NaN' || value == 'null' || value == 'undefined'){
value = '';
}
input.value = (value); input.value = (value);
@ -1232,6 +1204,7 @@
if (input.id == 'gpa_si') { if (input.id == 'gpa_si') {
gpaSumInsureMultiplier(); gpaSumInsureMultiplier();
} }
convertCommaNumberToWords(input); convertCommaNumberToWords(input);
if (input.id == 'gpa_sum_si') { if (input.id == 'gpa_sum_si') {

View File

@ -50,7 +50,20 @@
<thead class="bg-light"> <thead class="bg-light">
<tr> <tr>
<th class="font-weight-medium">SNO</th> <th class="font-weight-medium">SNO</th>
<!-- <th class="font-weight-medium">Employee code</th> -->
<?php if(isset($getData)) { ?>
<?php if($getData['client_id'] == '0' && $getData['policy_id'] == '0' && $getData['branch_id'] == '0' && ($getData['emp_code'] != "" || $getData['emp_name'] != "" || $getData['status'] != "")) { ?>
<th class="font-weight-medium">Client/Branch</th>
<?php } ?>
<?php } ?>
<?php if(isset($getData)) { ?>
<?php if($getData['client_id'] != '0' && $getData['branch_id'] == '0') { ?>
<th class="font-weight-medium">Branch</th>
<?php } ?>
<?php } ?>
<th class="font-weight-medium">Employee code</th>
<th class="font-weight-medium">Name/code</th> <th class="font-weight-medium">Name/code</th>
<th class="font-weight-medium">Policy name</th> <th class="font-weight-medium">Policy name</th>
<th class="font-weight-medium">Insurer <br> name</th> <th class="font-weight-medium">Insurer <br> name</th>
@ -75,6 +88,19 @@
<tr> <tr>
<td><b><?php echo ($key + 1)?></b></td> <td><b><?php echo ($key + 1)?></b></td>
<?php if(isset($getData)) { ?>
<?php if($getData['client_id'] == '0' && $getData['policy_id'] == '0' && $getData['branch_id'] == '0' && ($getData['emp_code'] != "" || $getData['emp_name'] != "" || $getData['status'] != "")) { ?>
<td><?php echo $employee['client_short_name']?> - <?php echo $employee['client_branch_name']?> </td>
<?php } ?>
<?php } ?>
<?php if(isset($getData)) { ?>
<?php if($getData['client_id'] != '0' && $getData['branch_id'] == '0') { ?>
<td><?php echo $employee['client_branch_name']?></td>
<?php } ?>
<?php } ?>
<td><?php echo $employee['name']?>( <?php echo $employee['emp_code']?> - <?php echo $employee['relationship']?> )</td> <td><?php echo $employee['name']?>( <?php echo $employee['emp_code']?> - <?php echo $employee['relationship']?> )</td>
<!-- <td><?php echo isset($employee['policy_name']) ? $employee['policy_name'] : '' ?> - <?php echo isset($employee['policy_no']) ? $employee['policy_no'] : '' ?> - <?php echo isset($employee['policy_type']) ? $employee['policy_type'] : '' ?></td> --> <!-- <td><?php echo isset($employee['policy_name']) ? $employee['policy_name'] : '' ?> - <?php echo isset($employee['policy_no']) ? $employee['policy_no'] : '' ?> - <?php echo isset($employee['policy_type']) ? $employee['policy_type'] : '' ?></td> -->
<td><?php echo isset($employee['policy_type']) ? $employee['policy_type'] : '' ?> - <?php echo isset($employee['policy_no']) ? $employee['policy_no'] : '' ?></td> <td><?php echo isset($employee['policy_type']) ? $employee['policy_type'] : '' ?> - <?php echo isset($employee['policy_no']) ? $employee['policy_no'] : '' ?></td>

View File

@ -1004,7 +1004,12 @@ function checkPolicyTermsAndRackRatesHasDefiend(event)
}else{ }else{
$("#event_type").removeAttr("multiple"); $("#event_type").removeAttr("multiple");
$("#event_type").attr("name", "event_type"); $("#event_type").attr("name", "event_type");
$("#event_type").select2('destroy');
if ($('event_type').data('select2')) {
$('event_type').select2('destroy');
}
// $("#event_type").select2('destroy');
} }

View File

@ -100,7 +100,7 @@
<a data-id="<?php echo $file['id'] ?>" data-toggle="modal" data-target="#full-width-modal-emp-list" class="dropdown-item view_emp_list" href="#"><i class="mdi mdi-eye mr-2 text-muted font-18 vertical-middle"></i>View</a> <a data-id="<?php echo $file['id'] ?>" data-toggle="modal" data-target="#full-width-modal-emp-list" class="dropdown-item view_emp_list" href="#"><i class="mdi mdi-eye mr-2 text-muted font-18 vertical-middle"></i>View</a>
<?php if ($file['status'] == 'success') { ?> <?php if ($file['status'] == 'success') { ?>
<a data-id="<?php echo $file['id'] ?>" class="dropdown-item truncate" href="#"><i class="mdi mdi-delete mr-2 text-muted font-18 vertical-middle"></i>Truncate</a> <a data-id="<?php echo $file['id'] ?>" class="dropdown-item truncate2" href="#"><i class="mdi mdi-delete mr-2 text-muted font-18 vertical-middle"></i>Truncate</a>
<?php } ?> <?php } ?>
</div> </div>
@ -246,7 +246,7 @@ $('body').on('click', '.upload_button', function() {
}) })
$('body').on('click', '.truncate', function(event) { $('body').on('click', '.truncate2', function(event) {
event.preventDefault(); event.preventDefault();
// console.log(event); // console.log(event);
var fileId = JSON.parse(this.getAttribute('data-id')); var fileId = JSON.parse(this.getAttribute('data-id'));

View File

@ -9,14 +9,130 @@
</select> </select>
</div> </div>
<div class="form-group col-md-3" style="position: relative;top: 28px;"> <div class="form-group col-md-6" style="position: relative;top: 28px;">
<label for="email"><span class="text-danger"></span></label> <label for="email"><span class="text-danger"></span></label>
<a href="#" class="btn btn-primary waves-effect waves-light" onclick="checkInsurerTemplete(this)">Copy</a> <a href="#" class="btn btn-primary waves-effect waves-light" onclick="checkInsurerTemplete(this)">Copy</a>
</div> </div>
<!-- <div class="form-group col-md-2" style="position: relative;top: 28px;left: 80px;">
<label for="email"><span class="text-danger"></span></label>
<a href="#" class="btn btn-primary waves-effect waves-light" onclick="addNewJsonExportTemplate(this)">Add New</a>
</div> -->
</div>
<hr>
<div class="table-responsive" id="branch_table" >
<table class="table table-borderless table-nowrap mb-0">
<thead class="thead-light">
<tr>
<th>S.NO</th>
<th>Policy Type</th>
<th>Event Type</th>
<th>Import/Export</th>
<th>Template</th>
</tr>
</thead>
<tbody>
<?php if(isset($insurer_templete_list)){ ?>
<?php foreach($insurer_templete_list as $key => $value ){ ?>
<tr>
<th><?= $key+1; ?></th>
<th><?= $value['policy_type']; ?></th>
<th><?= $value['event_name']; ?></th>
<th><?= $value['type_name']; ?></th>
<th><?= $value['jsoncolumns']; ?></th>
</tr>
<?php } ?>
<?php } ?>
</tbody>
</table>
</div> </div>
</div> </div>
<!-- Center modal content -->
<div class="modal fade" id="template_modal" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel"
aria-hidden="true" aria-modal="true" data-backdrop="static" style="padding-right: 15px">
<div class="modal-dialog modal-full-width">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myCenterModalLabel">New Template</h4>
<button type="button" id="close_btn" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<form class="parsley-examples" method="post" id="templateForm" enctype="multipart/form-data">
<input type="hidden" name="insurer_id" value="<?= $insurer['id'] ?>">
<div class="form-group">
<div class="form-row">
<div class="form-group col-md-4">
<label for="policy_type">Policy Type<span class="text-danger">*</span></label>
<select name="policy_type" class="form-control" id="policy_type" required>
<option value="">Select</option>
<?php if (!empty($policy_type)){ ?>
<?php foreach ($policy_type as $key => $value) { ?>
<option value="<?= $value['id'] ?>"><?= $value['policy_type']?></option>
<?php } ?>
<?php } ?>
</select>
</div>
<div class="form-group col-md-4">
<label for="event_name">Event<span class="text-danger">*</span></label>
<select name="event" class="form-control" id="event" required>
<option value="">Select</option>
<?php if (!empty($events)){ ?>
<?php foreach ($events as $key => $event) { ?>
<option value="<?= $key ?>"><?= $event?></option>
<?php } ?>
<?php } ?>
</select>
</div>
<div class="form-group col-md-4">
<label for="action">Action<span class="text-danger">*</span></label>
<select name="import_or_export" class="form-control" id="import_or_export" required>
<option value="">Select</option>
<?php if (!empty($action)){ ?>
<?php foreach ($action as $key => $value) { ?>
<option value="<?= $key ?>"><?= $value?></option>
<?php } ?>
<?php } ?>
</select>
</div>
</div>
<div id="dynamic-form-container">
<div class="form-row dynamic-form-row">
<div class="form-group col-md-5">
<label for="header_name">Header Name<span class="text-danger">*</span></label>
<input class="form-control" type="text" name="header_name[]">
</div>
<div class="form-group col-md-5">
<label for="policy_id">DataBase Column Name<span class="text-danger">*</span></label>
<select class="form-control" name="policy_id[]" required>
<option selected>Select Client Policy</option>
<?php if (!empty($db_column_name)){ ?>
<?php foreach ($db_column_name as $key => $value) { ?>
<option value="<?= $value ?>"><?= $key ?></option>
<?php } ?>
<?php } ?>
</select>
</div>
<div class="form-group col-md-2" style="position: relative;top: 28px;">
<a class="btn btn-primary waves-effect waves-light mr-1" onclick="addHTMLInput(this)">+</a>
</div>
</div>
</div>
</div>
<div class="form-group text-right m-b-0" id="hide_smbt_btn">
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1">Submit</button>
</div>
</form>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<script> <script>
@ -25,6 +141,44 @@
featchInsurerList() featchInsurerList()
}) })
$('#templateForm').submit(function(){
event.preventDefault();
$.ajax({
url: $(this).attr("action"),
type: 'POST',
data: formData,
processData: false,
contentType: false,
headers: {
"X-Requested-With": "XMLHttpRequest"
},
beforeSend: function() {
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
},
success: function(response) {
console.log('Expoer template list:', response);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
},
error: function(xhr, status, error) {
// Request failed, handle error
console.error("Request failed:", status, error);
console.error('Response:', xhr.responseText);
},
complete: function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}
});
});
function featchInsurerList() function featchInsurerList()
{ {
@ -139,6 +293,7 @@
toastr.success(res.message, 'SUCCESS'); toastr.success(res.message, 'SUCCESS');
} }
window.location.reload(true);
}, },
error: function(xhr, status, error) { error: function(xhr, status, error) {
console.error(xhr.responseText); console.error(xhr.responseText);
@ -149,4 +304,45 @@
}); });
} }
function addNewJsonExportTemplate(input)
{
var myModal = new bootstrap.Modal(document.getElementById('template_modal'));
myModal.show();
}
function addHTMLInput(element)
{
const container = document.getElementById('dynamic-form-container');
const newRow = document.createElement('div');
newRow.className = 'form-row dynamic-form-row';
newRow.innerHTML = `
<div class="form-group col-md-5">
<label for="header_name">Header Name<span class="text-danger">*</span></label>
<input class="form-control" type="text" name="header_name[]">
</div>
<div class="form-group col-md-5">
<label for="policy_id">DataBase Column Name<span class="text-danger">*</span></label>
<select class="form-control" name="db_column_name[]" required>
<option selected>Select Client Policy</option>
<?php if (!empty($db_column_name)){ ?>
<?php foreach ($db_column_name as $key => $value) { ?>
<option value="<?= $value ?>"><?= $key ?></option>
<?php } ?>
<?php } ?>
</select>
</div>
<div class="form-group col-md-2" style="position: relative;top: 28px;">
<a class="btn btn-primary waves-effect waves-light mr-1" onclick="addHTMLInput(this)">+</a>
<a class="btn btn-danger waves-effect waves-light" onclick="removeHTMLInput(this)">x</a>
</div>
`;
container.appendChild(newRow);
}
function removeHTMLInput(element)
{
const row = element.closest('.dynamic-form-row');
row.remove();
}
</script> </script>

View File

@ -509,7 +509,6 @@
$('#gpa_client_policy_id').val(client_policy_id); $('#gpa_client_policy_id').val(client_policy_id);
var gpa_policy_type_id = $(this).attr('id'); var gpa_policy_type_id = $(this).attr('id');
// console.log('gpa_policy_type_id', gpa_policy_type_id) // console.log('gpa_policy_type_id', gpa_policy_type_id)
@ -589,8 +588,9 @@
}); });
let jsonObject = JSON.parse(res.data); let jsonObject = JSON.parse(res.data);
$("#numberToWordSumInsured").text(convertCommaNumberToWords(jsonObject.sumInsured2)); $("#numberToWordSumInsured").text(convertCommaNumberToWords(jsonObject.sumInsured2) ?? '' );
$("#numberToWordTotalSumInsured").text(convertCommaNumberToWords(jsonObject.totalSumInsured)); $("#numberToWordTotalSumInsured").text(convertCommaNumberToWords(jsonObject.totalSumInsured) ?? '');
if (jsonObject.compassionateVisitExpenses == '1') { if (jsonObject.compassionateVisitExpenses == '1') {
var element = $('input[name="compassionateVisitExpenses"]').parent().parent().next()[0]; var element = $('input[name="compassionateVisitExpenses"]').parent().parent().next()[0];
$(element).css("display", ""); $(element).css("display", "");
@ -615,6 +615,10 @@
Object.keys(jsonObject).forEach(function(key) { 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); let elements = document.getElementsByName(key);
if (elements && elements.length > 0) { if (elements && elements.length > 0) {
let element = elements[0]; let element = elements[0];
@ -625,15 +629,14 @@
element.checked = jsonObject[key] === '1'; element.checked = jsonObject[key] === '1';
} else if (element.type === 'radio') { } else if (element.type === 'radio') {
element.checked = element.value === jsonObject[key]; element.checked = element.value === jsonObject[key];
} }
} else { } else {
if(jsonObject[key] == undefined){ if(jsonObject[key] == undefined || jsonObject[key] == ''){
element.value = " "; element.value = " ";
}else{ }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 = ` var html = `
<div class="row" style="margin-bottom: 10px;"> <div class="row" style="margin-bottom: 10px;">

File diff suppressed because it is too large Load Diff

View File

@ -36,91 +36,91 @@ const excel_headers = {
1: { 1: {
1: { 1: {
"unit": "Units", "unit": "Unit",
"sum_insured": "Sum Insured", "sum_insured": "Sum Insured",
}, },
2: { 2: {
"unit": "Units", "unit": "Unit",
"basic_pay": "Basic Pay", "basic_pay": "Basic Pay",
}, },
3: { 3: {
"unit": "Units", "unit": "Unit",
"band_or_grade": "Band or Grade", "band_or_grade": "Band or Grade",
"sum_insured": "Sum Insured", "sum_insured": "Sum Insured",
} }
}, },
2: { 2: {
"unit": "Units", "unit": "Unit",
"sum_insured": "Sum Insured", "sum_insured": "Sum Insured",
"premium": "Premium" "premium": "Premium"
}, },
3: { 3: {
"unit": "Units", "unit": "Unit",
"sum_insured": "Sum Insured", "sum_insured": "Sum Insured",
"premium": "Premium" "premium": "Premium"
}, },
4: { 4: {
"unit": "Units", "unit": "Unit",
"sum_insured": "Sum Insured", "sum_insured": "Sum Insured",
"from_age": "From Age", "from_age": "From Age",
"to_age": "To Age", "to_age": "To Age",
"premium": "Premium" "premium": "Premium"
}, },
5: { 5: {
"unit": "Units", "unit": "Unit",
"sum_insured": "Sum Insured", "sum_insured": "Sum Insured",
"from_age": "From Age", "from_age": "From Age",
"to_age": "To Age", "to_age": "To Age",
"premium": "Premium" "premium": "Premium"
}, },
6: { 6: {
"unit": "Units", "unit": "Unit",
"sum_insured": "Sum Insured", "sum_insured": "Sum Insured",
"from_age": "From Age", "from_age": "From Age",
"to_age": "To Age", "to_age": "To Age",
"premium": "Premium" "premium": "Premium"
}, },
7: { 7: {
"unit": "Units", "unit": "Unit",
"sum_insured": "Sum Insured", "sum_insured": "Sum Insured",
"from_age": "From Age", "from_age": "From Age",
"to_age": "To Age", "to_age": "To Age",
"premium": "Premium" "premium": "Premium"
}, },
8: { 8: {
"unit": "Units", "unit": "Unit",
"sum_insured": "Sum Insured", "sum_insured": "Sum Insured",
"grade": "Grade", "grade": "Grade",
"premium": "Premium" "premium": "Premium"
}, },
9: { 9: {
"unit": "Units", "unit": "Unit",
"sum_insured": "Sum Insured", "sum_insured": "Sum Insured",
"premium": "Premium" "premium": "Premium"
}, },
10: { 10: {
"unit": "Units", "unit": "Unit",
"sum_insured": "Sum Insured", "sum_insured": "Sum Insured",
"from_age": "From Age", "from_age": "From Age",
"to_age": "To Age", "to_age": "To Age",
"premium": "Premium" "premium": "Premium"
}, },
11: { 11: {
"unit": "Units", "unit": "Unit",
"sum_insured": "Sum Insured", "sum_insured": "Sum Insured",
"grade": "Grade", "grade": "Grade",
"premium": "Premium", "premium": "Premium",
"max_si": "Max Si" "max_si": "Max Si"
}, },
12: { 12: {
"unit": "Units", "unit": "Unit",
"sum_insured": "Sum Insured", "sum_insured": "Sum Insured",
"relationship": "Relationship", "relationship": "Relationship",
"premium": "Premium" "premium": "Premium"
}, },
13: { 13: {
"unit": "Units", "unit": "Unit",
"sum_insured": "Sum Insured", "sum_insured": "Sum Insured",
"relationship": "Relationship", "relationship": "Relationship",
"from_age": "From Age", "from_age": "From Age",
@ -140,6 +140,10 @@ function copyHeaders(unique_id) {
var client_units = localStorage.getItem('client_units'); var client_units = localStorage.getItem('client_units');
client_units = JSON.parse(client_units); client_units = JSON.parse(client_units);
console.log('copyHeaders function client_units', client_units);
console.log('copyHeaders function client_units.length', client_units.length)
let formatType = $('#grid').val(); let formatType = $('#grid').val();
var secondKey = $('#si_or_bp').val(); var secondKey = $('#si_or_bp').val();
var obj = $('#grid'); var obj = $('#grid');
@ -183,14 +187,21 @@ function copyHeaders(unique_id) {
} }
var headerString = Object.values(excel_headers[formatType]).join("\t"); // Using specified format type for copying headers var headerString = Object.values(excel_headers[formatType]).join("\t"); // Using specified format type for copying headers
console.log('copyHeaders function default headerString', headerString)
if (formatType == 1) { if (formatType == 1) {
if(client_units.length = 1){
console.log('copyHeaders function formatType 1', formatType)
if(client_units.length == 1){
console.log('copyHeaders function client_units.length', client_units.length)
delete excel_headers[formatType][secondKey].unit; delete excel_headers[formatType][secondKey].unit;
} }
var headerString = Object.values(excel_headers[formatType][secondKey]).join("\t"); // Using specified format type for copying headers var headerString = Object.values(excel_headers[formatType][secondKey]).join("\t"); // Using specified format type for copying headers
} }
console.log('headerString', headerString); console.log('copyHeaders function converted headerString', headerString);
//console.log('headerString', headerString); //console.log('headerString', headerString);
@ -209,7 +220,7 @@ function generateTable(unique_id) {
var data = $('#copied_excel_data').val(); var data = $('#copied_excel_data').val();
let formatType = $('#grid').val(); let formatType = $('#grid').val();
var obj = $('#grid'); var obj = $('#grid');
var secondKey = $('#si_or_bp').val(); var secondKey = $('#si_or_bp').val() ?? '';
if (unique_id != 'na') { if (unique_id != 'na') {
data = $('#copied_excel_data_'+unique_id).val(); data = $('#copied_excel_data_'+unique_id).val();
@ -217,10 +228,12 @@ function generateTable(unique_id) {
obj = $('#grid_'+unique_id); obj = $('#grid_'+unique_id);
} }
// console.log('generateTable obj', obj); console.log('generateTable obj', obj);
// console.log('generateTable formatType', formatType); console.log('generateTable formatType', formatType);
// console.log('generateTable data', data); console.log('generateTable data');
// console.log('generateTable secondKey', secondKey); console.log(data)
console.log('generateTable secondKey', secondKey);
console.log('generateTable client_units', client_units);
if (!formatType || formatType == "") { if (!formatType || formatType == "") {
$('.excel_table_class').empty(); $('.excel_table_class').empty();
@ -251,7 +264,6 @@ function generateTable(unique_id) {
var header = rows[0].split("\t"); var header = rows[0].split("\t");
console
// Determine the columns to keep (non-empty columns) // Determine the columns to keep (non-empty columns)
var columnsToKeep = []; var columnsToKeep = [];
@ -276,22 +288,40 @@ function generateTable(unique_id) {
if (formatType == 1) { if (formatType == 1) {
console.log('si_or_bp secondKey', secondKey)
//console.log('si_or_bp secondKey', secondKey)
expectedHeader = Object.keys(excel_headers[formatType][secondKey]); expectedHeader = Object.keys(excel_headers[formatType][secondKey]);
} }
// console.log('expectedHeader', expectedHeader); // remove unit key from the array, if the client unit is one
// console.log('HEADERS' , JSON.stringify(header)) if (client_units.length === 1) {
// console.log('Excepted HEADERS' , JSON.stringify(expectedHeader)) expectedHeader = expectedHeader.filter(key => key !== 'unit');
}
if (secondKey != 2) { console.log('expectedHeader', expectedHeader);
console.log('HEADERS' , JSON.stringify(header));
console.log('Excepted HEADERS' , JSON.stringify(expectedHeader));
console.log('secondKey' , secondKey);
if (secondKey != 2 && secondKey != undefined) {
console.log('expectedHeader' + secondKey + '-' + formatType);
console.log(expectedHeader);
console.log(excel_headers[formatType]);
if (JSON.stringify(header) !== JSON.stringify(expectedHeader)) { if (JSON.stringify(header) !== JSON.stringify(expectedHeader)) {
const expectedHeaders = JSON.stringify(Object.values(excel_headers[formatType][secondKey]));
var expectedHeaders;
if (formatType == 1 ) {
expectedHeaders = JSON.stringify(Object.values(excel_headers[formatType][secondKey]));
} else {
expectedHeaders = JSON.stringify(Object.values(excel_headers[formatType]));
}
const receivedHeaders = JSON.stringify(columnsToKeep.map(i => rows[0].split("\t")[i])); const receivedHeaders = JSON.stringify(columnsToKeep.map(i => rows[0].split("\t")[i]));
console.log('receivedHeaders', receivedHeaders);
Swal.fire({ Swal.fire({
title: "Header Mismatch", title: "Header Mismatch",
html: ` html: `
@ -457,7 +487,7 @@ function generateTable(unique_id) {
} }
if(secondKey != 2){ if(secondKey != 2 && secondKey != undefined){
console.log(secondKey) console.log(secondKey)
if ($('.duplicate').length > 0) { if ($('.duplicate').length > 0) {
//console.log('test'); //console.log('test');
@ -473,12 +503,15 @@ function generateTable(unique_id) {
$('.excel_table_class').empty(); $('.excel_table_class').empty();
$('.excel_textarea').val(''); $('.excel_textarea').val('');
} }
submitData(unique_id); submitData(unique_id, client_units);
$('.excel_textarea').val(''); $('.excel_textarea').val('');
} }
function submitData(unique_id) function submitData(unique_id, client_units)
{ {
console.log('submitData function unique id', unique_id);
console.log('submitData function client_units', client_units);
console.log('submitData function client_units first index', client_units[0]);
let formatType = $('#grid').val(); let formatType = $('#grid').val();
var table = $('#excel_table table'); var table = $('#excel_table table');
@ -492,7 +525,6 @@ function submitData(unique_id)
var gpa_sum_multiplier = $('#gpa_sum_multiplier').val(); var gpa_sum_multiplier = $('#gpa_sum_multiplier').val();
if (unique_id != 'na') { if (unique_id != 'na') {
formatType = $('#grid_'+unique_id).val(); formatType = $('#grid_'+unique_id).val();
table = $('#excel_table_'+unique_id+' table'); table = $('#excel_table_'+unique_id+' table');
@ -550,12 +582,24 @@ function submitData(unique_id)
delete obj.band_or_grade; delete obj.band_or_grade;
} }
if (client_units.length == 1) {
if (!('unit' in obj)) {
obj.unit = client_units[0];
}
}
if (formatType == 1) { if (formatType == 1) {
if (si_or_bp == 1) { if (si_or_bp == 1) {
obj.si_or_bp = si_or_bp; obj.si_or_bp = si_or_bp;
obj.multiplier = gpa_sum_multiplier ? gpa_sum_multiplier : 0; obj.multiplier = gpa_sum_multiplier ? gpa_sum_multiplier : 0;
if( obj.multiplier == 0){
obj.premium = 0;
}else{
obj.premium = obj.si * obj.multiplier / 1000
}
} else if (si_or_bp == 2) { } else if (si_or_bp == 2) {
@ -569,6 +613,11 @@ function submitData(unique_id)
obj.si_or_bp = si_or_bp; obj.si_or_bp = si_or_bp;
obj.multiplier = gpa_sum_multiplier2 ? gpa_sum_multiplier2 : 0; obj.multiplier = gpa_sum_multiplier2 ? gpa_sum_multiplier2 : 0;
if( obj.multiplier == 0){
obj.premium = 0;
}else{
obj.premium = obj.si * obj.multiplier / 1000
}
} }
} }
}); });
@ -578,7 +627,7 @@ function submitData(unique_id)
if (unique_id != 'na') { if (unique_id != 'na') {
$('#grid_content_input_'+unique_id).empty() $('#grid_content_input_for_additional_'+unique_id).empty()
if ($('#copyfromexcel_'+unique_id).text() == "Manual entry") { if ($('#copyfromexcel_'+unique_id).text() == "Manual entry") {
$('#copyfromexcel_'+unique_id).text("Copy from excel") $('#copyfromexcel_'+unique_id).text("Copy from excel")
@ -586,7 +635,7 @@ function submitData(unique_id)
$('#copyfromexcel_'+unique_id).text("Copy from excel"); $('#copyfromexcel_'+unique_id).text("Copy from excel");
} }
$('#grid_content_input_'+unique_id).toggle(); $('#grid_content_input_for_additional_'+unique_id).toggle();
$('#grid_content_from_excel_'+unique_id).toggle(); $('#grid_content_from_excel_'+unique_id).toggle();
} else { } else {
@ -608,14 +657,14 @@ function submitData(unique_id)
unique_id = null; unique_id = null;
} }
if (formatType == 1 || formatType == 2 || formatType == 4 || formatType == 6) { if (formatType == 1 || formatType == 2 || formatType == 4 || formatType == 6 || formatType == 9) {
var FirstIndex = jsonData[0] var FirstIndex = jsonData[0]
addGridHTML(false, FirstIndex, formatType, si_or_bp, unique_id) addGridHTML(false, FirstIndex, formatType, si_or_bp, unique_id);
jsonData.shift(); jsonData.shift();
} }
$.each(jsonData, function(index, item) { $.each(jsonData, function(index, item) {
appendGridtHtml(formatType, unique_id, item) appendGridtHtml(formatType, unique_id, item);
}); });
$('input[name="11_max_si[]"]').each(function() { $('input[name="11_max_si[]"]').each(function() {
@ -652,6 +701,42 @@ function submitData(unique_id)
$(this).trigger('change').keyup(); $(this).trigger('change').keyup();
}); });
$(`input[name="gpa_sum_si2[]"]`).each(function() {
// //console.log($(this));
$(this).trigger('keyup');
$(this).trigger('change').keyup();
});
$(`input[name="gpa_sum_si[]"]`).each(function() {
// //console.log($(this));
$(this).trigger('keyup');
$(this).trigger('change').keyup();
});
$(`input[name="gpa_premium"]`).each(function() {
// //console.log($(this));
$(this).trigger('keyup');
$(this).trigger('change').keyup();
});
$(`input[name="gpa_si"]`).each(function() {
// //console.log($(this));
$(this).trigger('keyup');
$(this).trigger('change').keyup();
});
$(`input[name="gpa_premium29[]"]`).each(function() {
// //console.log($(this));
$(this).trigger('keyup');
$(this).trigger('change').keyup();
});
$(`input[name="gpa_si29[]"]`).each(function() {
// //console.log($(this));
$(this).trigger('keyup');
$(this).trigger('change').keyup();
});
} }

View File

@ -78,10 +78,21 @@
</div> </div>
<div class="row"> <div class="row">
<!-- <div class="col-6" style="text-align: right;"> <div class="form-group col-md-3">
<a href="<?= base_url("employee/endorsement-list"); ?>" class="btn btn-primary waves-effect waves-light" id="get-emp-list" onclick="fetchEmpolyeeList(event);">Submit</a> <label>Action</label> <br />
</div> --> <select name="action" class="form-control" id="action">
<div class="col-12" style="text-align: right;"> <!-- <option value="0">Select</option> -->
<option value="inception" selected="selected">Inception/Addition</option>
<option value="dependent_addition">Dependent Addition</option>
</select>
</div>
<div class="form-group col-md-2">
<label>Employee Code</label> <br />
<input type="text" class="form-control" id="emp_code" name="emp_code" value="">
</div>
<div class="col-6" style="text-align: right;">
<a href="<?= base_url("#"); ?>" class="btn btn-primary waves-effect waves-light" id="get-emp-list" onclick="checkDependentConflict(event);" >Check Dependent conflict</a> <a href="<?= base_url("#"); ?>" class="btn btn-primary waves-effect waves-light" id="get-emp-list" onclick="checkDependentConflict(event);" >Check Dependent conflict</a>
<a href="<?= base_url("#"); ?>" class="btn btn-primary waves-effect waves-light" id="get-emp-list" onclick="calculatePremium(event);" >calc premium</a> <a href="<?= base_url("#"); ?>" class="btn btn-primary waves-effect waves-light" id="get-emp-list" onclick="calculatePremium(event);" >calc premium</a>
<a href="#" class="btn btn-primary waves-effect waves-light" id="get-emp-list" onclick="addRowToTable();">+</a> <a href="#" class="btn btn-primary waves-effect waves-light" id="get-emp-list" onclick="addRowToTable();">+</a>
@ -147,6 +158,34 @@
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<table class="table table-hover m-0 table-centered dt-responsive w-100" cellspacing="0" id="oldrestable" style="display: none;">
<thead class="bg-light">
<tr>
<th class="small-width">SNO</th>
<th class="small-width">Emp code</th>
<th class="large-width">Name</th>
<th class="medium-width">DOB</th>
<th class="medium-width">Relation</th>
<th class="large-width">Rack rate name</th>
<th class="small-width">Grid ID</th>
<th class="small-width">Is Self</th>
<th class="small-width">Premium type</th>
<th class="large-width">SI</th>
<th class="medium-width">premium</th>
<th class="small-width">Policy days</th>
<th class="small-width">no of days</th>
<th class="medium-width">Rata premium</th>
<th class="medium-width">GST</th>
</tr>
</thead>
<tbody id='oldrestablebody'>
</tbody>
</table>
<table class="table table-hover m-0 table-centered dt-responsive w-100" cellspacing="0" id="restable"> <table class="table table-hover m-0 table-centered dt-responsive w-100" cellspacing="0" id="restable">
<thead class="bg-light"> <thead class="bg-light">
<tr> <tr>
@ -540,16 +579,31 @@
var policy_id = $('#policies').val(); var policy_id = $('#policies').val();
var branch_id = $('#branch_id').val(); var branch_id = $('#branch_id').val();
var unit_id = $('#unit_id').val(); var unit_id = $('#unit_id').val();
var action = $('#action').val();
var emp_code = $('#emp_code').val();
console.log(client_id + '-' + policy_id); console.log(client_id + '-' + policy_id);
if (client_id == '0' || policy_id == '0') { if (client_id == '0' || policy_id == '0') {
alert('Please select all values in dropdowns.'); alert('Please select all values in dropdowns.');
return; return;
} }
if (action == 'dependent_addition') {
if(emp_code.trim() == "")
{
alert('Enter emp code');
return;
}
}
// return;
var queryParams = { var queryParams = {
client_id: client_id, client_id: client_id,
policy_id: policy_id, policy_id: policy_id,
branch_id: branch_id, branch_id: branch_id,
unit_id: unit_id,
action: action,
emp_code: emp_code,
data: tabledata, data: tabledata,
}; };
@ -577,8 +631,10 @@
displayData(response.data); displayData(response.data);
} else if (response.code === 404 && response.dataStatus === false) { } else if (response.code === 404 && response.dataStatus === false) {
console.error('no data found', response); console.error('no data found', response);
alert(response.messgae);
} else { } else {
console.error('Something went wrong!'); console.error('Something went wrong!');
alert('Something went wrong!');
} }
}, },
error: function(xhr, status, error) { error: function(xhr, status, error) {
@ -659,8 +715,19 @@
function displayData(data) function displayData(data)
{ {
const tableBody = document.getElementById("restablebody"); displayTable(data.new,"restablebody");
$("#restablebody").empty(); if(data.old.length())
{
$('#oldrestablebody').prop('display','block');
displayTable(data.new,"oldrestablebody");
}
}
function displayTable(data,tableID)
{
var old_data = data.old;
const tableBody = document.getElementById(tableID);
$(("#".tableID)).empty();
const existingRowCount = tableBody.rows.length; const existingRowCount = tableBody.rows.length;
for(i = 0; i < data.length; i++) for(i = 0; i < data.length; i++)
{ {