GWM:CHANGES:IN:AddOnPolicyApi
This commit is contained in:
parent
7837cf16dc
commit
395faecd87
@ -245,6 +245,7 @@ $routes->group("employeeRest", ["filter" => "authJWT"], function($routes){
|
|||||||
$routes->get("getEmployeeAndDependenceByClientId", "EmployeeRestController::getEmployeeAndDependenceByClientId");
|
$routes->get("getEmployeeAndDependenceByClientId", "EmployeeRestController::getEmployeeAndDependenceByClientId");
|
||||||
$routes->get("getClientPolicy", "EmployeeRestController::getClientPolicy");
|
$routes->get("getClientPolicy", "EmployeeRestController::getClientPolicy");
|
||||||
$routes->get("getClientDetails", "EmployeeRestController::getClientDetails");
|
$routes->get("getClientDetails", "EmployeeRestController::getClientDetails");
|
||||||
|
$routes->get("getAddOnPolicy", "EmployeeRestController::getAddOnPolicy");
|
||||||
});
|
});
|
||||||
|
|
||||||
$routes->post("sendEmail", "EmployeeRestController::send_email");
|
$routes->post("sendEmail", "EmployeeRestController::send_email");
|
||||||
|
|||||||
@ -998,133 +998,13 @@ public function FloterNotesConvertion($array){
|
|||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// public function getClientDetails()
|
|
||||||
// {
|
|
||||||
// // try {
|
|
||||||
|
|
||||||
// $client = $this->clientModel->where('id',$this->request->getGet('client_id'))->first();
|
|
||||||
// // Retrieve employee and dependents data by passing the employee code
|
|
||||||
// $employeeData = $this->employeeModel->where('emp_code','EMP001-K1')->where('is_addon_value',0)->findAll();
|
|
||||||
// $addOnEmployeeData = $this->employeeModel->where('emp_code','EMP001-K1')->where('is_addon_value',1)->findAll();
|
|
||||||
// if($client) {
|
|
||||||
// $client['client_logo'] = base_url().'public/uploads/logo/'.$client['client_logo'];
|
|
||||||
// $clientPolicy = $this->clientPolicyModel->where('client_id',$this->request->getGet('client_id'))->findAll();
|
|
||||||
// $PolicyData = [];
|
|
||||||
// foreach ($clientPolicy as $key => $array) {
|
|
||||||
// // Reset employee array
|
|
||||||
// $empData = $employeeData;
|
|
||||||
|
|
||||||
// $decodedArray = json_decode($array['policy_terms']);
|
|
||||||
// $policy_terms = $decodedArray;
|
|
||||||
// $getSlabAndGridData = $this->policesModel->getPolicySlabRatesForEmpOnboard($array['id'],$array['client_id']);
|
|
||||||
// // print_r($getSlabAndGridData);die;
|
|
||||||
// $data['SlabRates'] = $getSlabAndGridData['slab_rates'];
|
|
||||||
// $data['GridMaster'] = $getSlabAndGridData['grid_master'];
|
|
||||||
// $data['client_id'] = $array['client_id'];
|
|
||||||
// $data['client_policy_id'] = $array['id'];
|
|
||||||
// $data['is_addon'] = $array['is_addon'];
|
|
||||||
// $data['open_for_enrollment'] = $array['open_for_enrollment'];
|
|
||||||
// $data['policy_terms'] = $decodedArray;
|
|
||||||
|
|
||||||
// // Map family floaters that already exist in the employee table
|
|
||||||
// $familyFloates = $policy_terms->family_floaters;
|
|
||||||
// // Generate Notes string based on familyFloates terms
|
|
||||||
// $array['notes'] = $this->FloterNotesConvertion($familyFloates);
|
|
||||||
// // Convert familyFloaters terms data to plain array
|
|
||||||
// $floters = $this->FloterConvertion($familyFloates);
|
|
||||||
// print_r($familyFloates);
|
|
||||||
// print_r($floters);
|
|
||||||
|
|
||||||
// $data1 = [];
|
|
||||||
// foreach ($floters as $familyFloatesValue) {
|
|
||||||
// $dependent = preg_replace('/\d/', '', $familyFloatesValue);
|
|
||||||
// if(count($addOnEmployeeData)){
|
|
||||||
// foreach ($addOnEmployeeData as $key => $value) {
|
|
||||||
// if ($value['family_floater_key'] === $dependent) {
|
|
||||||
// $temp['is_value_exist'] = true;
|
|
||||||
// $temp['data']['family_floater_key'] = $familyFloatesValue;
|
|
||||||
// $temp['data']['employee_id'] = $value['id'];
|
|
||||||
// $temp['data']['relationship'] = $value['relationship'];
|
|
||||||
// $temp['data']['name'] = $value['name'];
|
|
||||||
// $temp['data']['dob'] = $this->convertDateFormatDMY($value['dob']);
|
|
||||||
// $temp['data']['client_policy_id'] = $array['id'];
|
|
||||||
// $temp['data']['form_type'] = $dependent;
|
|
||||||
// array_push($data1,$temp);
|
|
||||||
// unset($addOnEmployeeData[$key]);
|
|
||||||
// $floters = array_diff($floters, [$familyFloatesValue]);
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
// //Remove Unwanted floter key from floters array based on either-parents-pil term value
|
|
||||||
// if($familyFloates->{'either-parents-pil'} == 1 && count($floters))
|
|
||||||
// {
|
|
||||||
// if(count($addOnEmployeeData) == 0)
|
|
||||||
// {
|
|
||||||
// $GMCEmpData = $this->employeeModel->where('emp_code','EMP001-K1')
|
|
||||||
// ->where('is_addon_value',0)
|
|
||||||
// ->where('family_floater_key','parent')
|
|
||||||
// ->findAll();
|
|
||||||
// if(count($GMCEmpData)){
|
|
||||||
// $floters = array_diff($floters, [$familyFloatesValue]);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// $count_parent = 0;
|
|
||||||
// $count_parent_in_law = 0;
|
|
||||||
// foreach ($floters as $value) {
|
|
||||||
// if (preg_replace('/\d/', '', $value) == 'parent') { $count_parent++; }
|
|
||||||
// if (preg_replace('/\d/', '', $value) == 'parent_in_law') {$count_parent_in_law++;}
|
|
||||||
// }
|
|
||||||
// if($count_parent != 2) {
|
|
||||||
// $floters = array_filter($floters, fn($value) => strpos($value, 'parent_in_law') === false);
|
|
||||||
// }
|
|
||||||
// if($count_parent_in_law != 2) {
|
|
||||||
// $floters = array_filter($floters, fn($value) => strpos($value, 'parent') === false || strpos($value, 'parent_in_law') !== false);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
// print_r($floters);
|
|
||||||
// // Add family floter buttons placement data for FE validation
|
|
||||||
// if(count($floters)){
|
|
||||||
// foreach ($floters as $familyFloatesValue) {
|
|
||||||
|
|
||||||
// $temp2['is_value_exist'] = false;
|
|
||||||
// $temp2['data']['family_floater_key'] = $familyFloatesValue;
|
|
||||||
// $temp2['data']['client_policy_id'] = $array['id'];
|
|
||||||
// $temp2['data']['button_name'] = 'Add '.ucfirst(str_replace('_', ' ', preg_replace('/\d/', '', $familyFloatesValue)));
|
|
||||||
// $temp2['data']['form_type'] = preg_replace('/\d/', '', $familyFloatesValue);
|
|
||||||
|
|
||||||
// array_push($data1,$temp2);
|
|
||||||
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// $data['mapped_family_floaters'] = $data1;
|
|
||||||
|
|
||||||
// array_push($PolicyData, $data);
|
|
||||||
// return $this->respond(['status' => 'success','code' => 200,'data' => ['client'=>$client,'client_policy'=>$PolicyData]], 200);
|
|
||||||
// }
|
|
||||||
// return $this->respond(['status' => 'success','code' => 200,'data' => ['client'=>$client,'client_policy'=>$PolicyData]], 200);
|
|
||||||
|
|
||||||
// }else{
|
|
||||||
// return $this->respond(['status' => 'failed','code' => 404,'data' => []], 404);
|
|
||||||
// }
|
|
||||||
// // } catch (\Exception $e) {
|
|
||||||
// // return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500);
|
|
||||||
// // }
|
|
||||||
// }
|
|
||||||
|
|
||||||
public function getClientDetails()
|
public function getClientDetails()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
|
||||||
$client = $this->clientModel->where('id',$this->request->getGet('client_id'))->first();
|
$client = $this->clientModel->where('id',$this->request->getGet('client_id'))->first();
|
||||||
if($client) {
|
if($client) {
|
||||||
|
$client['client_logo'] = base_url().'public/uploads/logo/'.$client['client_logo'];
|
||||||
$clientPolicy = $this->clientPolicyModel->where('client_id',$this->request->getGet('client_id'))->findAll();
|
$clientPolicy = $this->clientPolicyModel->where('client_id',$this->request->getGet('client_id'))->findAll();
|
||||||
return $this->respond(['status' => 'success','code' => 200,'data' => ['client'=>$client,'client_policy'=>$clientPolicy]], 200);
|
return $this->respond(['status' => 'success','code' => 200,'data' => ['client'=>$client,'client_policy'=>$clientPolicy]], 200);
|
||||||
|
|
||||||
@ -1136,4 +1016,173 @@ public function getClientDetails()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getAddOnPolicy()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
|
||||||
|
$addOnEmployeeData = $this->employeeModel->where('emp_code',$this->request->getGet('emp_code'))->where('is_addon_value',1)->findAll();
|
||||||
|
$GMCEmployeeData = $this->employeeModel->where('emp_code',$this->request->getGet('emp_code'))->where('is_addon_value',0)->findAll();
|
||||||
|
|
||||||
|
$clientPolicy = $this->clientPolicyModel->where('client_id',$this->request->getGet('client_id'))->findAll();
|
||||||
|
if(count($clientPolicy))
|
||||||
|
{
|
||||||
|
$PolicyData = [];
|
||||||
|
foreach ($clientPolicy as $key => $array) {
|
||||||
|
|
||||||
|
|
||||||
|
$decodedArray = json_decode($array['policy_terms']);
|
||||||
|
$policy_terms = $decodedArray;
|
||||||
|
$getSlabAndGridData = $this->policesModel->getPolicySlabRatesForEmpOnboard($array['id'],$array['client_id']);
|
||||||
|
|
||||||
|
if($array['is_addon'] == 1)
|
||||||
|
{
|
||||||
|
|
||||||
|
$responce['SlabRates'] = $getSlabAndGridData['slab_rates'];
|
||||||
|
$responce['GridMaster'] = $getSlabAndGridData['grid_master'];
|
||||||
|
$responce['client_id'] = $array['client_id'];
|
||||||
|
$responce['client_policy_id'] = $array['id'];
|
||||||
|
$responce['is_addon'] = $array['is_addon'];
|
||||||
|
$responce['open_for_enrollment'] = $array['open_for_enrollment'];
|
||||||
|
$responce['policy_terms'] = $decodedArray;
|
||||||
|
|
||||||
|
|
||||||
|
// Map family floaters that already exist in the employee table
|
||||||
|
$familyFloates = $policy_terms->family_floaters;
|
||||||
|
// Convert familyFloaters terms data to plain array
|
||||||
|
$floters = $this->FloterConvertion($familyFloates);
|
||||||
|
|
||||||
|
|
||||||
|
$data = [];
|
||||||
|
$dependent_and_si_value = null;
|
||||||
|
$dependent_and_si_premium_value = null;
|
||||||
|
foreach ($floters as $familyFloatesValue) {
|
||||||
|
$dependent = preg_replace('/\d/', '', $familyFloatesValue);
|
||||||
|
if(count($addOnEmployeeData)){
|
||||||
|
foreach ($addOnEmployeeData as $key => $value) {
|
||||||
|
if ($value['family_floater_key'] === $dependent) {
|
||||||
|
$employee_policy = $this->employeePolicyModel->where('employee_id',$value['id'])->where('client_policy_id',$array['id'])->get()->getRow();
|
||||||
|
if(isset($employee_policy->basic_cover_si)){ $dependent_and_si_value = $employee_policy->basic_cover_si; }
|
||||||
|
if(isset($employee_policy->premium)){ $dependent_and_si_premium_value = $employee_policy->premium;}
|
||||||
|
|
||||||
|
$temp['is_value_exist'] = true;
|
||||||
|
$temp['data']['family_floater_key'] = $familyFloatesValue;
|
||||||
|
$temp['data']['employee_id'] = $value['id'];
|
||||||
|
$temp['data']['relationship'] = $value['relationship'];
|
||||||
|
$temp['data']['name'] = $value['name'];
|
||||||
|
$temp['data']['dob'] = $this->convertDateFormatDMY($value['dob']);
|
||||||
|
$temp['data']['client_policy_id'] = $array['id'];
|
||||||
|
$temp['data']['form_type'] = $dependent;
|
||||||
|
$temp['data']['basic_cover_si'] = isset($employee_policy->basic_cover_si) ? $employee_policy->basic_cover_si : null;
|
||||||
|
$temp['data']['premium'] = isset($employee_policy->premium) ? $employee_policy->premium : null;
|
||||||
|
array_push($data,$temp);
|
||||||
|
unset($addOnEmployeeData[$key]);
|
||||||
|
$floters = array_diff($floters, [$familyFloatesValue]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Remove Unwanted floter key from floters array based on either-parents-pil term value
|
||||||
|
if($familyFloates->{'either-parents-pil'} == 1 && count($floters))
|
||||||
|
{
|
||||||
|
if(count($addOnEmployeeData) == 0)
|
||||||
|
{
|
||||||
|
$GMCEmpData = $this->employeeModel->where('emp_code',$this->request->getGet('emp_code'))
|
||||||
|
->where('is_addon_value',0)
|
||||||
|
->where('family_floater_key','parent')
|
||||||
|
->findAll();
|
||||||
|
|
||||||
|
if(count($GMCEmpData) > 0){
|
||||||
|
$floters = array_diff($floters, ["parent1","parent2"]);
|
||||||
|
}else{
|
||||||
|
$floters = array_diff($floters, ["parent_in_law1","parent_in_law2"]);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
|
||||||
|
$count_parent = 0;
|
||||||
|
$count_parent_in_law = 0;
|
||||||
|
foreach ($floters as $value) {
|
||||||
|
if (preg_replace('/\d/', '', $value) == 'parent') { $count_parent++; }
|
||||||
|
if (preg_replace('/\d/', '', $value) == 'parent_in_law') {$count_parent_in_law++;}
|
||||||
|
}
|
||||||
|
if($count_parent != 2) {
|
||||||
|
$floters = array_filter($floters, fn($value) => strpos($value, 'parent_in_law') === false);
|
||||||
|
}
|
||||||
|
if($count_parent_in_law != 2) {
|
||||||
|
$floters = array_filter($floters, fn($value) => strpos($value, 'parent') === false || strpos($value, 'parent_in_law') !== false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Add family floter buttons placement data for FE validation
|
||||||
|
if(count($floters)){
|
||||||
|
foreach ($floters as $familyFloatesValue) {
|
||||||
|
|
||||||
|
$temp2['is_value_exist'] = false;
|
||||||
|
$temp2['data']['family_floater_key'] = $familyFloatesValue;
|
||||||
|
$temp2['data']['client_policy_id'] = $array['id'];
|
||||||
|
$temp2['data']['button_name'] = 'Add '.ucfirst(str_replace('_', ' ', preg_replace('/\d/', '', $familyFloatesValue)));
|
||||||
|
$temp2['data']['form_type'] = preg_replace('/\d/', '', $familyFloatesValue);
|
||||||
|
|
||||||
|
array_push($data,$temp2);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$responce['family_floaters_of_dependent_and_si_array'] = $data;
|
||||||
|
$responce['family_floaters_of_dependent_and_si_value'] = $dependent_and_si_value;
|
||||||
|
$responce['family_floaters_of_dependent_and_si_premium_value'] = $dependent_and_si_premium_value;
|
||||||
|
|
||||||
|
|
||||||
|
$only_si_array = [];
|
||||||
|
$only_si_value = null;
|
||||||
|
$only_si_premium_value = null;
|
||||||
|
foreach ($GMCEmployeeData as $key => $value) {
|
||||||
|
|
||||||
|
$employee_policy = $this->employeePolicyModel->where('employee_id',$value['id'])->where('client_policy_id',$array['id'])->get()->getRow();
|
||||||
|
if(isset($employee_policy->basic_cover_si)){ $only_si_value = $employee_policy->basic_cover_si; }
|
||||||
|
if(isset($employee_policy->premium)){ $only_si_premium_value = $employee_policy->premium;}
|
||||||
|
$temp3['is_value_exist'] = true;
|
||||||
|
$temp3['data']['employee_id'] = $value['id'];
|
||||||
|
$temp3['data']['relationship'] = $value['relationship'];
|
||||||
|
$temp3['data']['name'] = $value['name'];
|
||||||
|
$temp3['data']['dob'] = $this->convertDateFormatDMY($value['dob']);
|
||||||
|
$temp3['data']['client_policy_id'] = $array['id'];
|
||||||
|
$temp3['data']['basic_cover_si'] = isset($employee_policy->basic_cover_si) ? $employee_policy->basic_cover_si : null;
|
||||||
|
$temp3['data']['premium'] = isset($employee_policy->premium) ? $employee_policy->premium : null;
|
||||||
|
array_push($only_si_array,$temp3);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$responce['family_floaters_of_only_si_array'] = $only_si_array;
|
||||||
|
$responce['family_floaters_of_only_si_value'] = $only_si_value;
|
||||||
|
$responce['family_floaters_of_only_si_premium_value'] = $only_si_premium_value;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
array_push($PolicyData, $responce);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return $this->respond(['status' => 'success','code' => 200,'data' => ['addon_policy'=>$responce]], 200);
|
||||||
|
|
||||||
|
}else{
|
||||||
|
return $this->respond(['status' => 'failed','code' => 404,'data' => []], 404);
|
||||||
|
}
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user