From 62b47ab0a5e7a8a4ed38370b7be4707b02dde72a Mon Sep 17 00:00:00 2001 From: bitbucket Date: Wed, 20 Mar 2024 10:16:48 +0530 Subject: [PATCH] CHANGES-IN-EMP-POLICY-API : GWM --- app/Config/Routes.php | 2 +- app/Controllers/EmployeeRestController.php | 56 ++++++++++++++++++---- app/Models/EmployeePolicyModel.php | 3 +- 3 files changed, 50 insertions(+), 11 deletions(-) diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 45cf2568..b74bb60d 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -214,7 +214,7 @@ $routes->post("/editEmployeeProfile", "EmployeeRestController::editEmployeeProfi - +// $routes->get("getEmployeePolicy", "EmployeeRestController::getEmployeePolicy"); $routes->group("employeeRest", ["filter" => "authJWT"], function($routes){ $routes->post("employeeUpload", "EmployeeRestController::employeeUpload"); diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index 4c543e4a..81dbf7a0 100644 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -306,6 +306,7 @@ class EmployeeRestController extends AdminController $keysToRemove = ["removable_keys"]; $empPolicy = $this->employeeModel->getEmployeePolicy($id); + $empData = $this->employeeModel->where('emp_code',$emp_code)->findAll(); if ($empPolicy) { @@ -336,10 +337,35 @@ class EmployeeRestController extends AdminController array_unshift($array->SlabRates, $element); } + $employee_policy = $this->employeePolicyModel->where('employee_id',$id)->where('client_policy_id',$array->ClientPolicyId)->get()->getRow(); + if($employee_policy){ + $gpaSI['family_floater_key'] = 'self'; + $gpaSI['label'] = 'Self'; + $gpaSI['employee_id'] = $employee_policy->employee_id; + $gpaSI['basic_cover_si'] = isset($employee_policy->basic_cover_si) ? $employee_policy->basic_cover_si : null; + $gpaSI['premium'] = isset($employee_policy->premium) ? $employee_policy->premium : null; + $gpaSI['client_policy_id'] = $array->ClientPolicyId; + + $array->mapped_family_floaters = $gpaSI; + }else{ + $gpaSI['family_floater_key'] = 'self'; + $gpaSI['label'] = 'Self'; + $gpaSI['employee_id'] = $id; + $gpaSI['basic_cover_si'] = null; + $gpaSI['premium'] = null; + $gpaSI['client_policy_id'] = $array->ClientPolicyId; + + $array->mapped_family_floaters = $gpaSI; + } + }else if($getSlabAndGridData['grid_master']['policy_type'] == "GMC"){ // re-arranging order of si $default_si = $array->Policy_Terms->sum_insured; + // Filter the array using the callback function + $getPremium = array_filter($array->SlabRates , function ($value) use ($default_si) { return $value['si'] == $default_si; } ); + $default_premium = $getPremium[0]['premium']; + $index = -1; foreach ($array->SlabRates as $key => $value) { if ($value['si'] == $default_si) { @@ -367,8 +393,8 @@ class EmployeeRestController extends AdminController $temp['name'] = $value['name']; $temp['employee_id'] = $value['id']; $temp['basic_cover_si'] = isset($employee_policy->basic_cover_si) ? $employee_policy->basic_cover_si : null; - $temp['client_policy_id'] = $array->ClientPolicyId; - + $temp['premium'] = isset($employee_policy->premium) ? $employee_policy->premium : null; + $temp['client_policy_id'] = $array->ClientPolicyId; array_push($data,$temp); unset($empData[$key]); break; @@ -378,6 +404,15 @@ class EmployeeRestController extends AdminController } $array->mapped_family_floaters = $data; + $temp2=[]; + foreach ($array->SlabRates as $key => $value) { + $value['additional_premium'] = $value['premium'] - $default_premium; + array_push($temp2,$value); + } + $array->SlabRates = $temp2; + + + } $result[] = $array; @@ -399,24 +434,27 @@ class EmployeeRestController extends AdminController try { $requestData = $this->request->getJSON(); + foreach ($requestData as $key => $value) { - $checkIfExist = $this->employeePolicyModel->where('employee_id', $requestData['employee_id']) - ->where('client_policy_id', $requestData['client_policy_id']) + + $checkIfExist = $this->employeePolicyModel->where('employee_id', $value->employee_id) + ->where('client_policy_id', $value->client_policy_id) ->findAll(); // dd($checkIfExist); if ($checkIfExist) { - $empPolicy = $this->employeePolicyModel->updateSiAndPremium($requestData['client_policy_id'], $requestData['employee_id'], $requestData['basic_cover_si']); + $empPolicy = $this->employeePolicyModel->updateSiAndPremium($value->client_policy_id, $value->employee_id, $value->basic_cover_si,$value->premium); }else{ - $data['employee_id']= $requestData['employee_id']; - $data['client_policy_id']= $requestData['client_policy_id']; - $data['basic_cover_si']= $requestData['basic_cover_si']; + $data['employee_id']= $value->employee_id; + $data['client_policy_id']= $value->client_policy_id; + $data['basic_cover_si']= $value->basic_cover_si; + $data['premium']= $value->premium; $this->employeePolicyModel->insert($data); } - + } return $this->respond(['status' => 'success','code' => 200,'data' => []], 200); } catch (\Exception $e) { diff --git a/app/Models/EmployeePolicyModel.php b/app/Models/EmployeePolicyModel.php index 530d8543..f69379b6 100644 --- a/app/Models/EmployeePolicyModel.php +++ b/app/Models/EmployeePolicyModel.php @@ -190,12 +190,13 @@ class EmployeePolicyModel extends Model } - public function updateSiAndPremium( $client_policy_id, $employee_id,$basic_cover_si) + public function updateSiAndPremium( $client_policy_id, $employee_id,$basic_cover_si,$premium) { $query = "UPDATE employee_polices SET employee_polices.basic_cover_si = '{$basic_cover_si}' + , employee_polices.premium = '{$premium}' WHERE employee_polices.employee_id = '{$employee_id}' AND employee_polices.client_policy_id = '{$client_policy_id}'";