diff --git a/app/Config/Routes.php b/app/Config/Routes.php
index 80babc57..f4eb5e87 100644
--- a/app/Config/Routes.php
+++ b/app/Config/Routes.php
@@ -271,6 +271,13 @@ $routes->group("/util", ["filter" => "authMVC"], function ($routes) {
$routes->get("get_policy_type_for_base_policy/(:any)", "ClientController::getPolicyTypeForBasePolicy/$1");
$routes->get("get_client_details/(:any)", "ClientController::getClientDetails/$1");
$routes->get("featch_dashboard_data/(:any)", "DashboardController::featch_dashboard_data/$1");
+ $routes->get("remove_rack_rate/(:any)", "ClientController::removeRackRate/$1");
+ $routes->get("rename_rack_rate_tab/(:any)", "ClientController::renameRackRateTab/$1");
+ $routes->post("create_excel_template", "MasterController::createExcelTemplate");
+ $routes->get("get_insurer_by_export_templete", "MasterController::getInsurerByExportTemplete");
+ $routes->get("copy_insurer_templete/(:any)", "MasterController::copyInsurerTemplete/$1");
+ $routes->get("get_single_excel_template/(:any)", "MasterController::getSingleExcelTemplate/$1");
+ $routes->get("dublicate_template/(:any)", "MasterController::duplicateTemplate/$1");
});
$routes->cli('cli/processjob', 'JobWorker::processJob');
diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php
index b2a638f7..ceb81ef8 100644
--- a/app/Controllers/ClientController.php
+++ b/app/Controllers/ClientController.php
@@ -252,15 +252,25 @@ class ClientController extends AdminController
public function removeClientBranch($id = null)
{
$this->myLogger->logme('error','Client Branch Remove function called');
- // $id = $this->request->getPost('PrimaryKey');
- // $data = $this->request->getPost();
- $data['updated_by'] = get_session_userid();
- $data['is_active'] = 0;
- $update = $this->clientBranchModel->update($id,$data);
- if($update){
- return $this->respond(['status' => true,'code' => 200], 200);
+
+ $data = [
+ 'updated_by' => get_session_userid(),
+ 'is_active' => 0
+ ];
+
+ $config_count = $this->clientPolicyModel->where('client_branch_id', $id)->countAllResults();
+
+ if($config_count > 0){
+
+ $update = $this->clientBranchModel->where('id', $id)->set($data)->update();
+ if($update){
+ return $this->respond(['status' => true,'code' => 200, 'message' => 'Client branch removed successfully'], 200);
+ }else{
+ return $this->respond(['status' => false,'code' => 404, 'message' => 'Failed to remove client branch'], 200);
+ }
}else{
- return $this->respond(['status' => false,'code' => 404], 200);
+
+ return $this->respond(['status' => false,'code' => 404, 'message' => 'The client branch configuration with policy cannot be deleted.'], 200);
}
}
@@ -559,6 +569,8 @@ class ClientController extends AdminController
}
}
+
+
public function createClientRelation()
{
@@ -647,6 +659,7 @@ class ClientController extends AdminController
}
}
+
public function createClientBranch()
{
@@ -658,7 +671,7 @@ class ClientController extends AdminController
$data['sez'] = 1;
}
$data['created_by'] = get_session_userid();
- $insert = $this->clientBranchModel->insert($data);
+ $insert = $this->clientBranchModel->insert($data);
if($insert){
for ($i = 0; $i < count($this->request->getPost('name')); $i++) {
@@ -679,9 +692,18 @@ class ClientController extends AdminController
if($insert){
$branchData = $this->clientBranchModel->where('client_id', $this->request->getPost('client_id'))->findAll();
$branchData['role'] = get_role_id();
- return $this->respond(['status' => true,'code' => 200,'data' => $branchData], 200);
+ return $this->respond([
+ 'status' => true,
+ 'code' => 200,
+ 'data' => $branchData,
+ 'message' => 'Client branch created successfully',
+ ], 200);
}else{
- return $this->respond(['status' => false,'code' => 404, 'message' => 'no data found'], 200);
+ return $this->respond([
+ 'status' => false,
+ 'code' => 404,
+ 'message' => 'Failed to create client branch ',
+ ], 200);
}
}
@@ -692,11 +714,57 @@ class ClientController extends AdminController
$id = $this->request->getPost('branch_id_primarykey');
$client_id = $this->request->getPost('client_id');
$data = $this->request->getPost();
+ $units = $this->request->getPost('units');
+
+ $emp_unit_count = 0;
+ $rr_unit_count = 0;
+ $rr_unit_count2 = 0;
+ $total_count = 0;
+
+ $list_of_branch_units = $this->clientBranchModel->find($id);
+ $units = json_decode($list_of_branch_units['units']);
+
+ if (!empty($units)) {
+ foreach ($units as $unit) {
+ $emp_unit_count += $this->employeeModel->where('unit', $unit)->countAllResults();
+ $rr_unit_count += $this->policyPremium2Model->where('unit', $unit)->countAllResults();
+ $rr_unit_count2 += $this->policyPremium1Model->where('unit', $unit)->countAllResults();
+ }
+
+ $total_count = $emp_unit_count + $rr_unit_count + $rr_unit_count2;
+ }
+ $uncommonValues = [];
+
+ if ($total_count > 0) {
+ $units = (string) $this->request->getPost('units'); // Assuming 'units' is an array
+
+ $list_of_branch_units = $this->clientBranchModel->find($id);
+ $branch_units = json_decode($list_of_branch_units['units'], true);
+ $units = json_decode($units);
+
+ $uncommonValues = array_diff($branch_units, $units);
+
+ if (count($uncommonValues) > 0) {
+
+ $branchData = $this->clientBranchModel->where('client_id', $client_id)->findAll();
+
+ return $this->respond([
+ 'status' => false,
+ 'code' => 404,
+ 'message' => "Deleted unit(s) in use. couldn't complete this operation.",
+ 'uncommonValues' => $uncommonValues,
+ 'data' => $branchData,
+ ], 200);
+ }
+ }
+
+
if (!isset($data['sez'])) {
$data['sez'] = 0;
} elseif ($data['sez']) {
$data['sez'] = 1;
}
+
$data['updated_by'] = get_session_userid();
$insert = $this->clientBranchModel->update($id, $data);
$this->myLogger->logme('error','Client branch EDITED by {data}', ['data' => get_session_userid()]);
@@ -721,12 +789,25 @@ class ClientController extends AdminController
if($insert){
$branchData = $this->clientBranchModel->where('client_id', $client_id)->findAll();
- return $this->respond(['status' => true,'code' => 200,'data' => $branchData], 200);
+ return $this->respond([
+ 'status' => true,
+ 'code' => 200,
+ 'data' => $branchData,
+ 'emp_unit_count' => $emp_unit_count,
+ 'rr_unit_count' => $rr_unit_count,
+ 'list_of_branch_units' => $list_of_branch_units,
+ 'total_count' => $total_count,
+ 'uncommonValues' => $uncommonValues,
+ 'message' => 'Client branch updated successfully'
+
+ ], 200);
}else{
- return $this->respond(['status' => false,'code' => 404, 'message' => 'no data found'], 200);
+ return $this->respond(['status' => false,'code' => 404, 'message' => 'Failed to update client branch'], 200);
}
}
+
+
public function createClientPolicy()
{
@@ -1019,19 +1100,29 @@ class ClientController extends AdminController
$client_policy_data = $this->clientPolicyModel->where('id', $client_policy_id)->first();
$client_id = $client_policy_data['client_id'];
}
+
$branch_units = $this->getBranchUnitsByBranchId($record['client_branch_id']);
$branch_units = json_decode($branch_units);
-
$policy_grid_id = $this->request->getPost('policy_grid_id');
$rack_rate_name = $this->request->getPost('rack_rate_name');
$relation_data = [
- 'self' => $this->request->getPost('self'),
- 'spouse' => $this->request->getPost('spouse'),
- 'childrens' => $this->request->getPost('childrens'),
- 'parents' => $this->request->getPost('parents'),
- 'parents-in-law'=> $this->request->getPost('parents-in-law'),
+ 'self' => $this->request->getPost('self') ?? 'NA',
+ 'spouse' => $this->request->getPost('spouse') ?? 'NA',
+ 'childrens' => $this->request->getPost('childrens') ?? 'NA',
+ 'parents' => $this->request->getPost('parents') ?? 'NA',
+ 'parents-in-law'=> $this->request->getPost('parents-in-law') ?? 'NA',
+ ];
+
+ $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 ) {
@@ -1046,7 +1137,7 @@ class ClientController extends AdminController
// Convert to JSON
$jsonDataForRelation = json_encode($relation_data);
-
+ $json_data_relation_data_for_form_submit_check = json_encode($relation_data_for_form_submit_check);
$si_or_bp = $this->request->getPost('si_or_bp');
$basic_multiplier = str_replace(',', '', $this->request->getPost('basic_multiplier'));
@@ -1077,7 +1168,7 @@ class ClientController extends AdminController
$premium = str_replace(',', '', $this->request->getPost('gpa_sum_premium[]'));
$sum_insure = str_replace(',', '', $this->request->getPost('gpa_sum_si[]'));
$multiplier = $this->request->getPost('gpa_sum_multiplier');
- $unit = $this->request->getPost('gpa_unit[]');
+ $unit = $this->request->getPost('gpa_unit_1[]');
for ($i = 0; $i < count($premium); $i++) {
$data['si'] = $sum_insure[$i];
@@ -1099,7 +1190,7 @@ class ClientController extends AdminController
$sum_insure = str_replace(',', '', $this->request->getPost('gpa_sum_si2[]'));
$multiplier = $this->request->getPost('gpa_sum_multiplier2');
$grade = $this->request->getPost('gpa_band[]');
- $unit = $this->request->getPost('gpa_unit[]');
+ $unit = $this->request->getPost('gpa_unit_3[]');
for ($i = 0; $i < count($premium); $i++) {
@@ -1156,20 +1247,27 @@ class ClientController extends AdminController
$data = $this->request->getPost();
$insert = true;
- } else if ($policy_grid_id == '2') {
- $data['premium'] = str_replace(',', '', $this->request->getPost('gpa_premium'));
- $data['si'] = str_replace(',', '', $this->request->getPost('gpa_si'));
- $unit = $this->request->getPost('gpa_unit');
- if (empty($unit)) {
- $data['unit'] = $branch_units[0];
- } else {
- $data['unit'] = $unit;
- }
- $policyPremium = $this->policyPremium1Model->insert($data);
+ } else if ($policy_grid_id == '2') {
+
+ $premium = $this->request->getPost('gpa_premium29[]');
+ $sum_insure = $this->request->getPost('gpa_si29[]');
+ $unit = $this->request->getPost('gpa_unit29[]');
+
+ for ($i = 0; $i < count($premium); $i++) {
+ $data['premium'] = str_replace(',', '', $premium[$i]);
+ $data['si'] = str_replace(',', '', $sum_insure[$i]);
+ if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) {
+ $data['unit'] = $branch_units[0];
+ } else {
+ $data['unit'] = $unit[$i];
+ }
+ $dataa = $this->policyPremium1Model->insert($data);
+ }
$data = $this->request->getPost();
$insert = true;
+
} else if ($policy_grid_id == '3') {
$premium = $this->request->getPost('3_premium[]');
@@ -1215,17 +1313,19 @@ class ClientController extends AdminController
} else if ($policy_grid_id == '5') {
+
$premium = $this->request->getPost('5_premium[]');
$sum_insure = $this->request->getPost('5_si[]');
$age_from = $this->request->getPost('5_age_from[]');
$age_to = $this->request->getPost('5_age_to[]');
$unit = $this->request->getPost('5_unit[]');
+
for ($i = 0; $i < count($premium); $i++) {
$data['premium'] = str_replace(',', '', $premium[$i]);
$data['si'] = str_replace(',', '', $sum_insure[$i]);
$data['age_from'] = $age_from[$i];
$data['age_to'] = $age_to[$i];
- if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) {
+ if (empty($unit) || !isset($unit[$i]) || empty($unit[$i] || $unit[$i] == 'undefined')) {
$data['unit'] = $branch_units[0];
} else {
$data['unit'] = $unit[$i];
@@ -1233,8 +1333,10 @@ class ClientController extends AdminController
$dataa = $this->policyPremium2Model->insert($data);
}
+
$data = $this->request->getPost();
$insert = true;
+
} else if ($policy_grid_id == '6') {
$premium = $this->request->getPost('6_premium[]');
@@ -1304,27 +1406,24 @@ class ClientController extends AdminController
$insert = true;
} else if ($policy_grid_id == '9') {
- $data['premium'] = str_replace(',', '', $this->request->getPost('gpa_premium'));
- $data['si'] = str_replace(',', '', $this->request->getPost('gpa_si'));
- $unit = $this->request->getPost('gpa_unit');
- if (empty($unit)) {
- $data['unit'] = $branch_units[0];
- } else {
- $data['unit'] = $unit;
+ $premium = $this->request->getPost('gpa_premium29[]');
+ $sum_insure = $this->request->getPost('gpa_si29[]');
+ $unit = $this->request->getPost('gpa_unit29[]');
+
+ for ($i = 0; $i < count($premium); $i++) {
+ $data['premium'] = str_replace(',', '', $premium[$i]);
+ $data['si'] = str_replace(',', '', $sum_insure[$i]);
+ if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) {
+ $data['unit'] = $branch_units[0];
+ } else {
+ $data['unit'] = $unit[$i];
+ }
+ $dataa = $this->policyPremium2Model->insert($data);
}
- $policyPremium = $this->policyPremium2Model->insert($data);
- // $premium = $this->request->getPost('9_premium[]');
- // $sum_insure = $this->request->getPost('9_si[]');
- // $grade = $this->request->getPost('9_grade[]');
- // for ($i = 0; $i < count($premium); $i++) {
- // $data['premium'] = str_replace(',', '', $premium[$i]);
- // $data['si'] = str_replace(',', '', $sum_insure[$i]);
- // // $data['grade'] = $grade[$i];
- // $dataa = $this->policyPremium2Model->insert($data);
- // }
$data = $this->request->getPost();
$insert = true;
+
} else if ($policy_grid_id == '10') {
$premium = $this->request->getPost('10_premium[]');
$sum_insure = $this->request->getPost('10_si[]');
@@ -1354,7 +1453,7 @@ class ClientController extends AdminController
$sum_insure = $this->request->getPost('11_si[]');
$grade = $this->request->getPost('11_grade[]');
$max_sum_insure = $this->request->getPost('11_max_si[]');
- $unit = $this->request->getPost('11_max_si[]');
+ $unit = $this->request->getPost('11_unit[]');
for ($i = 0; $i < count($premium); $i++) {
$data['premium'] = str_replace(',', '', $premium[$i]);
@@ -1420,7 +1519,7 @@ class ClientController extends AdminController
}
if ($insert) {
- return $this->respond(['status' => true, 'code' => 200, 'data' => $data, 'rack_rate_json'=>$jsonDataForRelation,], 200);
+ return $this->respond(['status' => true, 'code' => 200, 'data' => $data, 'rack_rate_json'=>$json_data_relation_data_for_form_submit_check,], 200);
} else {
return $this->respond(['status' => false, 'code' => 404, 'data' => $data, 'message' => 'no data found'], 200);
}
@@ -1556,6 +1655,7 @@ class ClientController extends AdminController
}
$results = $this->policyGridModel->like('policy_type', $search_term)->findAll();
+ $jsonArray = [];
if ($search_term === 'GPA' || $policy_type_id == 6 || $policy_type_id == 7) {
@@ -1563,6 +1663,19 @@ class ClientController extends AdminController
} else if ($search_term === 'GMC') {
$premiumData = $this->policyPremium2Model->where(['client_id' => $record['client_id'], 'client_policy_id' => $client_policy_id, 'is_active' => 1])->findAll();
+
+ $rackRateJson = $this->policyPremium2Model
+ ->where('client_policy_id', $client_policy_id)
+ ->where('is_active', 1)
+ ->groupBy('rack_rate_name')
+ ->orderBy('id')
+ ->findAll();
+
+ foreach ($rackRateJson as $value) {
+ $jsonArray[$value['rack_rate_name']] = json_decode($value['additional_relationship']);
+ }
+
+
} else {
$premiumData = "";
@@ -1649,7 +1762,8 @@ class ClientController extends AdminController
'self' => $self,
'client_policy_id' => $client_policy_id,
'terms_si_amount_array' => $terms_si_amount_array,
- 'branch_units' => $branch_units
+ 'branch_units' => $branch_units,
+ 'jsonArray' => $jsonArray,
], 200);
} else if ($search_term === 'GPA' || $policy_type_id == 6 || $policy_type_id == 7) {
@@ -1664,7 +1778,8 @@ class ClientController extends AdminController
'self' => $self,
'client_policy_id' => $client_policy_id,
'terms_si_amount_array' => $terms_si_amount_array,
- 'branch_units' => $branch_units
+ 'branch_units' => $branch_units,
+ 'jsonArray' => $jsonArray,
], 200);
} else {
@@ -1678,7 +1793,8 @@ class ClientController extends AdminController
'self' => $self,
'client_policy_id' => $client_policy_id,
'terms_si_amount_array' => $terms_si_amount_array,
- 'branch_units' => $branch_units
+ 'branch_units' => $branch_units,
+ 'jsonArray' => $jsonArray,
], 200);
}
}
@@ -2043,7 +2159,7 @@ class ClientController extends AdminController
$message = 'Enrolment Closed Successfully';
}
- $data = $this->policesModel->getPolicyPremium($record['policy_id']);
+ $data = $this->policesModel->getPolicyPremium($client_policy_id);
$pattern = '/gmc/i';
$subject = $data[0]->policy_type;
if (preg_match($pattern, $subject)) {
@@ -2075,8 +2191,8 @@ class ClientController extends AdminController
}
// Check if 'family_floater' key exists and has a value
- if (isset($termsData->family_floater) && $termsData->family_floater == null) {
- return $this->respond(['status' => false, 'code' => 200, 'message' => 'The Policy terms Family Floater field is empty'], 200);
+ if (isset($termsData->family_floater) && $termsData->family_floater === null) {
+ return $this->respond(['status' => false, 'code' => 200, 'message' => 'The Policy terms Family Floater field is empty', 'termsData' => $termsData , 'family_floater' => $termsData->family_floater], 200);
}
// Check if 'family_floaters' key exists and has a value
@@ -2665,9 +2781,8 @@ class ClientController extends AdminController
public function getClientDetails($client_id)
{
-
- $result = $this->clientModel->where('id', $client_id)->first();
- return $this->respond(['status' => true, 'data' => $result], 200);
+ $result = $this->clientModel->where('id', $client_id)->first();
+ return $this->respond(['status' => true, 'data' => $result], 200);
}
public function getBranchUnitsByBranchId($branch_id)
@@ -2827,7 +2942,6 @@ class ClientController extends AdminController
}
-
public function removeRackRate($rack_rate_name = null, $client_policy_id = null)
{
$this->myLogger->logme('error', 'Rack Rate Remove function called');
@@ -2852,7 +2966,7 @@ class ClientController extends AdminController
if ($update) {
return $this->respond(['status' => true, 'code' => 200, 'message' => 'Rack Rate removed successfully', 'rr_count' => $rackRateData], 200);
} else {
- return $this->respond(['status' => false, 'code' => 404, 'message' => 'Failed to remove policy', 'rr_count' => $rackRateData], 200);
+ return $this->respond(['status' => false, 'code' => 404, 'message' => 'Failed to remove Rack Rate', 'rr_count' => $rackRateData], 200);
}
}else{
@@ -2861,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);
+ }
+ }
+
}
\ No newline at end of file
diff --git a/app/Controllers/EmpDataServiceController.php b/app/Controllers/EmpDataServiceController.php
index 6e69647f..fbf60d4e 100644
--- a/app/Controllers/EmpDataServiceController.php
+++ b/app/Controllers/EmpDataServiceController.php
@@ -943,7 +943,7 @@ class EmpDataServiceController extends BaseController
->select('insurer_excel_export_template.jsoncolumns')
->join('insurer_excel_export_template', 'insurer_excel_export_template.insurer_id = client_policy.insurer_id and insurer_excel_export_template.policy_type_id = client_policy.policy_type_id')
->where('client_policy.id', $export_data['client_policy_id'])
- ->where('insurer_excel_export_template.event_name', 'inception')
+ ->where('insurer_excel_export_template.event_name', 'all')
->where('insurer_excel_export_template.type_name', $export_data['actions'])
->first();
diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php
index b0eb77de..bff8c812 100644
--- a/app/Controllers/EmployeeController.php
+++ b/app/Controllers/EmployeeController.php
@@ -103,6 +103,8 @@ class EmployeeController extends AdminController
$data['getData'] = $filterData;
}
+ // dd( $data['getData']);
+
// dd($this->request->getGet());
$this->myLogger->logme('error', 'list called');
$this->loadLayout('employee_list', $data);
@@ -252,6 +254,7 @@ class EmployeeController extends AdminController
return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => 'file upload success'], 200);
}
+ $data['page_name'] = 'View Inception';
//for TPA/insurer upload
$data['events'] = ['inception' => 'Inception (Employee + Dependents)', 'missed_inception' => 'Missed Inception (Employee + Dependents)', 'addition' => 'Addition (Employee + Dependents)', 'dependent_addition' => 'Dependent Addition (Only Dependents)', 'deletion' => 'Deletion', 'correction' => 'Correction', 'si_enhancement' => 'SI Enhancement'];
@@ -413,7 +416,6 @@ class EmployeeController extends AdminController
$event_type = $this->request->getPost('event_type');
}
-
$this->myLogger->logme('error', 'Import Export -- Function called');
$empDataServiceController = new EmpDataServiceController();
@@ -532,7 +534,6 @@ class EmployeeController extends AdminController
$batch_data['event_type'] = $array;
$return = $empDataServiceController->generateExcelForAllEventType($batch_data);
-
if($return === 6){
session()->setFlashdata('error', "The Insurer does not have an Excel export template format.");
@@ -547,6 +548,7 @@ class EmployeeController extends AdminController
}
}
+
} else if ($actions == 'import') {
$batch_data['file'] = $this->request->getFile('import_file_data');
diff --git a/app/Controllers/MasterController.php b/app/Controllers/MasterController.php
index 0fa4f33b..7e0144fd 100644
--- a/app/Controllers/MasterController.php
+++ b/app/Controllers/MasterController.php
@@ -160,8 +160,56 @@ class MasterController extends AdminController
$editData['policy_type'] = $this->policyTypeModel->whereIn('id', [1,2,6,7])->findAll();
$editData['events'] = ['inception' => 'Inception', 'addition' => 'Addition', 'dependent_addition' => 'Dependent Addition', 'deletion' => 'Deletion', 'correction' => 'Correction', 'si_enhancement' => 'SI Enhancement', 'all' => 'All'];
$editData['action'] = ['import' => 'Import', 'export' => 'Export'];
- $editData['db_column_name'] = ['Employee Name' => 'emp_name', 'Employee ID' => 'emp_code'];
+ $editData['db_column_name'] = [
+ 'Employee Name' => 'emp_name',
+ 'Employee ID' => 'emp_code',
+ 'Date of Birth' => 'emp_dob',
+ 'Gender' => 'emp_gender',
+ 'Change Event' => 'change_event',
+ 'Relationship' => 'emp_relationship',
+ 'Relationship Code' => 'emp_relationship_code',
+ 'Event Type' => 'event_type_data',
+ 'Date of Joining' => 'emp_doj',
+ 'Mobile' => 'emp_mobile',
+ 'Corporate Email' => 'emp_email_c',
+ 'Personal Email' => 'emp_email_p',
+ 'Grade' => 'emp_grade',
+ 'Designation' => 'emp_designation',
+ 'Basic Pay' => 'emp_basic_pay',
+ 'Age' => 'emp_age',
+ 'Employee Type' => 'emp_type',
+ 'Primary Key' => 'primaryKey',
+ 'TPA ID' => 'tpa_id',
+ 'UHID' => 'uhid',
+ 'Pre-existing Alignments' => 'pre_existing_alignments',
+ 'Basic Cover SI' => 'basic_cover_si',
+ 'Date of Coverage' => 'date_coverage',
+ 'Policy End Date' => 'policy_end_date',
+ 'Number of Days' => 'no_of_days',
+ 'Premium' => 'premium',
+ 'Pro Rata Premium' => 'pro_rata_premium',
+ 'GST' => 'gst',
+ 'Total' => 'total',
+ 'Policy ID' => 'emp_policy_id',
+ 'SEZ' => 'sez',
+ 'Endorsement ID' => 'endorsement_id',
+ 'Old Value' => 'old_value',
+ 'New Value' => 'new_value',
+ 'Field Name' => 'field_name',
+ 'Remarks' => 'remarks',
+ 'Actions' => 'actions',
+ 'Date of Exit' => 'dateofexit',
+ 'Reason for Exit' => 'reasonforexit',
+ 'Status' => 'status',
+ 'Old Basic Cover SI' => 'old_basic_cover_si',
+ 'Old SI Premium' => 'old_si_premium',
+ 'New Basic Cover SI' => 'new_basic_cover_si',
+ 'New SI Premium' => 'new_si_premium',
+ 'Date of Coverage' => 'date_of_coverage',
+
+ ];
+
@@ -356,6 +404,8 @@ class MasterController extends AdminController
$insurer_data = $this->insurerModel
->select('insurers.name as insurer_name, insurers.id, insurers.is_multi_event')
->join('insurer_excel_export_template', 'insurer_excel_export_template.insurer_id = insurers.id')
+ ->where('insurer_excel_export_template.is_active', 1)
+ ->where('insurers.is_active', 1)
->groupBy('insurers.id')
->findAll();
@@ -364,8 +414,8 @@ class MasterController extends AdminController
public function copyInsurerTemplete($existing_insurer_id, $copy_insurer_id)
{
- $insurer_templete_data = $this->insurerTemplateModel->where('insurer_id', $existing_insurer_id)->findAll();
- $existing_insurer_templete_data = $this->insurerTemplateModel->where('insurer_id', $copy_insurer_id)->delete();
+ $insurer_templete_data = $this->insurerTemplateModel->where('insurer_id', $existing_insurer_id)->where('is_active', 1)->findAll();
+ $existing_insurer_templete_data = $this->insurerTemplateModel->where('insurer_id', $copy_insurer_id)->set('is_active', 0)->update();
$data_to_insert = [];
foreach ($insurer_templete_data as $value) {
@@ -381,12 +431,31 @@ class MasterController extends AdminController
}
$insert_result = $this->insurerTemplateModel->insertBatch($data_to_insert);
+
if($insert_result){
return $this->respond(['status' => true, 'message' => 'Template added successfully', $insurer_templete_data]);
}else{
- return $this->respond(['status' => true, 'message' => 'Failed to add template', $insurer_templete_data]);
+ return $this->respond(['status' => false, 'message' => 'Failed to add template', $insurer_templete_data]);
}
}
+
+ public function getSingleExcelTemplate($id = null)
+ {
+ $insurer_templete_data = $this->insurerTemplateModel
+ ->where('id', $id)
+ ->where('is_active', 1)
+ ->first();
+
+ if($insurer_templete_data){
+
+ return $this->respond(['status' => true, 'code' => 200, 'data' => $insurer_templete_data, 'message' => 'data found'], 200);
+
+ }else{
+
+ return $this->respond(['status' => false, 'code' => 404, 'message' => 'no data found'], 200);
+ }
+
+ }
// Insurer Ends
@@ -1113,7 +1182,8 @@ class MasterController extends AdminController
//start CD Master list
public function CDMasterList()
- {
+ {
+ $data['page_name'] = 'CD Master List';
$data['CD_Master_Data'] = $this->CDMasterModel->getCDMasterList();
$data['insurers'] = $this->insurerModel->where('is_active', 1)->findAll();
$data['clients'] = $this->clientModel->where('is_active', 1)->findAll();
@@ -1265,23 +1335,99 @@ class MasterController extends AdminController
+ //excel export template
public function createExcelTemplate()
- {
+ {
+ // return $this->respond($this->request->getPost());
+ $template_id = $this->request->getPost('template_id');
+
$data = [
'insurer_id' => $this->request->getPost('insurer_id'),
'policy_type_id' => $this->request->getPost('policy_type'),
'event_name' => $this->request->getPost('event'),
- 'type_name' => $this->request->getPost('import_or_export'),
+ 'type_name' => 'export',
'jsoncolumns' => $this->request->getPost('json_data'),
+ 'is_active' => 1,
+ 'created_by' => get_session_userid(),
];
- $insert = $this->insurerTemplateModel->insert($data);
+ if($template_id){
+
+ $update = $this->insurerTemplateModel->where('id', $template_id)->set($data)->update();
+
+ if($update){
+ return $this->respond(['status' => true, 'message' => 'Template updated successfully', $data]);
+ }else{
+ return $this->respond(['status' => true, 'message' => 'Failed to update template', $data]);
+ }
- if($insert){
- return $this->respond(['status' => true, 'message' => 'Template created successfully', $data]);
}else{
- return $this->respond(['status' => true, 'message' => 'Failed to create template', $data]);
+
+ $insert = $this->insurerTemplateModel->insert($data);
+
+ if($insert){
+ return $this->respond(['status' => true, 'message' => 'Template created successfully', $data]);
+ }else{
+ return $this->respond(['status' => true, 'message' => 'Failed to create template', $data]);
+ }
}
+
+ }
+
+ public function duplicateTemplate($template_id, $event_name)
+ {
+ // Fetch the template data based on the provided ID and ensure it is active
+ $insurer_template_data = $this->insurerTemplateModel->where('id', $template_id)
+ ->where('is_active', 1)
+ ->first();
+
+
+ if ($insurer_template_data) {
+
+ // Check if the event name matches the existing template's event name
+ if ($insurer_template_data['event_name'] == $event_name) {
+ return $this->respond([
+ 'status' => false,
+ 'message' => 'Template with the same event already exists.',
+ 'data' => $insurer_template_data
+ ]);
+ }
+
+ // Prepare data for insertion as a duplicate
+ $data_to_insert = [
+ "insurer_id" => $insurer_template_data['insurer_id'],
+ "policy_type_id" => $insurer_template_data['policy_type_id'],
+ "event_name" => $event_name,
+ "type_name" => $insurer_template_data['type_name'],
+ "jsoncolumns" => $insurer_template_data['jsoncolumns'],
+ "created_by" => get_session_user(),
+ "is_active" => 1,
+ ];
+
+ // Insert the duplicate template data
+ $insert_result = $this->insurerTemplateModel->insert($data_to_insert);
+
+ if ($insert_result) {
+ return $this->respond([
+ 'status' => true,
+ 'message' => 'Template duplicated successfully.',
+ 'data' => $insurer_template_data
+ ]);
+ } else {
+ return $this->respond([
+ 'status' => false,
+ 'message' => 'Failed to duplicate template.',
+ 'data' => $insurer_template_data
+ ]);
+ }
+ } else {
+ // No matching active template found
+ return $this->respond([
+ 'status' => false,
+ 'message' => 'No active template data found.',
+ 'data' => null
+ ]);
+ }
}
}
\ No newline at end of file
diff --git a/app/Controllers/UserController.php b/app/Controllers/UserController.php
index f654dc40..d3bd04aa 100644
--- a/app/Controllers/UserController.php
+++ b/app/Controllers/UserController.php
@@ -118,6 +118,9 @@ class UserController extends AdminController
}else{
$id = $this->request->getPost('PrimaryKey');
$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
$userData['updated_by'] = get_session_userid();
@@ -147,7 +150,7 @@ class UserController extends AdminController
$db->table($tableName)->where('emp_code', $userData['emp_code'])
->where('email', $userData['email'])
- ->set($userData)
+ ->set($hdz_staff)
->update();
}
}
diff --git a/app/Models/EmployeePolicyModel.php b/app/Models/EmployeePolicyModel.php
index 6a668532..f9e11a2b 100644
--- a/app/Models/EmployeePolicyModel.php
+++ b/app/Models/EmployeePolicyModel.php
@@ -105,6 +105,8 @@ class EmployeePolicyModel extends Model
'emp.basic_pay',
'emp.band as grade',
'policy_type.policy_type',
+ 'client_branch.branch_name as client_branch_name',
+ 'client_branch.branch_code as client_branch_code',
'cp.policy_no',
])
->join('employees emp', 'employee_polices.employee_id = emp.id')
@@ -116,6 +118,7 @@ class EmployeePolicyModel extends Model
->join('tpa tpam', 'cp.tpa_id = tpam.id', 'left') //tpam - tpa master
->join('tpa_branch tpab', 'cp.tpa_branch_id = tpab.id', 'left') //tpab - tpa branch
->join('clients cm', 'cp.client_id = cm.id') //cm - client master
+ ->join('client_branch', 'emp.client_branch_id = client_branch.id') //cm - client master
->orderBy('emp.emp_code', 'ASC')
->orderBy('employee_polices.employee_id', 'ASC');
@@ -202,10 +205,11 @@ class EmployeePolicyModel extends Model
employees.emp_code AS emp_code,
employees.dob AS emp_dob,
employees.gender AS emp_gender,
- employees.change_event AS change_event,
employees.relationship AS emp_relationship,
employees.relationship_code AS emp_relationship_code,
'$datas' as event_type_data,
+ employees.change_event AS change_event,
+
employees.doj AS emp_doj,
employees.mobile AS emp_mobile,
@@ -294,10 +298,11 @@ class EmployeePolicyModel extends Model
employees.dob AS emp_dob,
employees.gender AS emp_gender,
employees.client_id AS emp_client_id,
- employees.emp_type as emp_temp_codeype,
+ employees.emp_type as emp_type,
employee_polices.uhid,
- employees.relationship_code,
- employees.relationship,
+ employee_polices.tpa_id,
+ employees.relationship_code as emp_relationship_code,
+ employees.relationship as emp_relationship,
'C' as event_type_data,
employees.doj AS emp_doj,
@@ -385,7 +390,7 @@ class EmployeePolicyModel extends Model
employees.designation AS emp_designation,
employees.basic_pay AS emp_basic_pay,
- employee_polices.uhid AS risk_id,
+ employee_polices.uhid AS uhid,
employee_polices.pre_existing_alignments,
employee_polices.policy_end_date,
employee_polices.basic_cover_si as old_basic_cover_si,
diff --git a/app/Models/InsurerModel.php b/app/Models/InsurerModel.php
index 8d72bca7..e05b76a0 100644
--- a/app/Models/InsurerModel.php
+++ b/app/Models/InsurerModel.php
@@ -56,12 +56,14 @@ class InsurerModel extends Model
public function getInsurerTemplateByInsurerID($insurer_id)
{
$insurer_data = $this->db->table('insurer_excel_export_template')
- ->select('insurers.name as insurer_name, insurers.id, insurers.is_multi_event')
- ->select('CASE WHEN insurers.is_multi_event = 1 THEN "multiple" ELSE insurer_excel_export_template.event_name END as event_name', false)
+ ->select('insurer_excel_export_template.*, insurers.name as insurer_name, insurers.is_multi_event')
+ ->select('CASE WHEN insurers.is_multi_event = 1 THEN "All" ELSE insurer_excel_export_template.event_name END as event_name', false)
->select('insurer_excel_export_template.type_name, insurer_excel_export_template.jsoncolumns, policy_type.policy_type')
->join('insurers', 'insurers.id = insurer_excel_export_template.insurer_id')
->join('policy_type', 'policy_type.id = insurer_excel_export_template.policy_type_id')
->where('insurers.id', $insurer_id)
+ ->where('insurers.is_active', 1)
+ ->where('insurer_excel_export_template.is_active', 1)
->get()
->getResultArray();
diff --git a/app/Models/PolicesModel.php b/app/Models/PolicesModel.php
index ec010b82..bd8fe9d4 100644
--- a/app/Models/PolicesModel.php
+++ b/app/Models/PolicesModel.php
@@ -23,11 +23,10 @@ class PolicesModel extends Model
public function getPolicyPremium($policy_id){
- return $this->db->table('policies')
+ return $this->db->table('client_policy')
->select('policy_type.*')
- ->select('policies.name as policy_name')
- ->join('policy_type', 'policy_type.id = policies.policy_type_id')
- ->where('policies.id', $policy_id)
+ ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
+ ->where('client_policy.id', $policy_id)
->get()
->getResult();
}
diff --git a/app/Views/UserList.php b/app/Views/UserList.php
index e53e341d..37ce4dd5 100644
--- a/app/Views/UserList.php
+++ b/app/Views/UserList.php
@@ -259,9 +259,16 @@ $(document).ready(function () {
},
error: function (xhr, status, error) {
- console.error(xhr.responseText);
- console.error(status, error);
- }
+ console.error("Error Details:");
+ console.error("Status Code:", xhr.status);
+ console.error("Status Text:", xhr.statusText);
+ console.error("Response Text:", xhr.responseText);
+ console.error("Ready State:", xhr.readyState);
+ console.error("Response Headers:", xhr.getAllResponseHeaders());
+ console.error("Error Thrown:", error);
+ console.error("Status:", status);
+ }
+
});
});
diff --git a/app/Views/client_branch.php b/app/Views/client_branch.php
index b5ee306d..2867a42c 100644
--- a/app/Views/client_branch.php
+++ b/app/Views/client_branch.php
@@ -371,6 +371,8 @@ $("#branch_form").submit(function(event) {
contentType: false,
success: function(res) {
+ console.log('client branch submit response', res)
+
if (res) {
setTimeout(function() {
@@ -380,11 +382,17 @@ $("#branch_form").submit(function(event) {
$('#branch_table').show();
$('.btnBack').hide();
$('#btnBranchAdd').show();
- var message = (branch_PrimaryKey === '') ?
- 'Client Branch Created successfully' :
- 'Client Branch Updated successfully';
- toastr.success(message, 'Success');
- }, 1000);
+
+ if(res.status == false){
+ toastr.error(res.message, 'Error');
+ }else{
+ toastr.success(res.message, 'Success');
+ }
+ // var message = (branch_PrimaryKey === '') ?
+ // 'Client Branch Created successfully' :
+ // 'Client Branch Updated successfully';
+ // toastr.success(message, 'Success');
+ }, 800);
}
$('#branch_list tr').remove();
@@ -395,7 +403,7 @@ $("#branch_form").submit(function(event) {
console.log(role)
$.each(res.data, function(index, item) {
- console.log('client_branch_data', item)
+ // console.log('client_branch_data', item)
if(role != 3 && role != 4){
@@ -433,8 +441,8 @@ $("#branch_form").submit(function(event) {
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
- toastr.warning('Something Wrong!', 'warning');
- }, 1000);
+ console.log('Something Wrong!', 'warning');
+ }, 300);
}
});
}
@@ -696,10 +704,10 @@ function removeClientBranch(element) {
// console.log(res.status == true);
if (res) {
if (res.status == true) {
- toastr.success('Client branch removed successfully', 'success');
+ toastr.success(res.message, 'success');
location.reload();
} else {
- toastr.warning('Failed to remove client branch', 'warning');
+ toastr.warning(res.message, 'warning');
}
}
},
diff --git a/app/Views/client_policy.php b/app/Views/client_policy.php
index 5e544eec..f57c5dea 100644
--- a/app/Views/client_policy.php
+++ b/app/Views/client_policy.php
@@ -675,72 +675,17 @@
$(document).ready(function() {
/********* set the Policy_Type_id for Form Submit *******/
- $('#policy').change(function() {
+ $('#policy_type').change(function() {
- var 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();
+ var policy_type_id = $(this).val();
- console.log('client_id', client_id)
- 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 = '' + dataId + '/' + branch_id + '/' + client_id;
-
-
- if (dataId == 1) {
+ if (policy_type_id == 1 || policy_type_id == 6 || policy_type_id == 7) {
$('#tpa').prop('required', false);
$('#tpa_danger').hide()
} else {
$('#tpa').prop('required', true);
$('#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));
$('#reminder_date').val(rearrangeDateFormat(res.data.reminder_date));
$('#gst_no').val(gst);
+ $('#policy_status').val(checkDateStatus(res.data.policy_end_date));
$('#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(){
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
@@ -971,6 +926,8 @@
},
success: function(res) {
+ console.log('OpenEnrollment response', res);
+
if (res) {
if (res.open_for_enrollment) {
var json_decode = JSON.parse(res.open_for_enrollment);
@@ -1171,13 +1128,23 @@
function convertCommaNumberToWords(input) {
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;
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);
+ } else {
+ // Handle the case where input is undefined or null
+ number = NaN; // or handle as needed
}
+
const [integerPart, decimalPart] = number.toFixed(2).split('.');
const integerWord = convertNumberToWords(parseInt(integerPart, 10));
let result = `${integerWord}`;
@@ -1224,7 +1191,12 @@
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);
@@ -1232,6 +1204,7 @@
if (input.id == 'gpa_si') {
gpaSumInsureMultiplier();
}
+
convertCommaNumberToWords(input);
if (input.id == 'gpa_sum_si') {
diff --git a/app/Views/employee_data_list.php b/app/Views/employee_data_list.php
index f5d04b65..322a5eea 100644
--- a/app/Views/employee_data_list.php
+++ b/app/Views/employee_data_list.php
@@ -50,7 +50,20 @@
SNO
-
+
+
+
+ Client/Branch
+
+
+
+
+
+ Branch
+
+
+
+ Employee code
Name/code
Policy name
Insurer
@@ -75,6 +88,19 @@
name
+
+
+
+ -
+
+
+
+
+
+
+
+
+
( - )
-
diff --git a/app/Views/insurer_export_templete.php b/app/Views/insurer_export_templete.php
index 1c1f4ca0..40b757a7 100644
--- a/app/Views/insurer_export_templete.php
+++ b/app/Views/insurer_export_templete.php
@@ -1,6 +1,55 @@
+
+
+
+
Event Type
Import/Export
Template
+ Action