diff --git a/app/Config/Routes.php b/app/Config/Routes.php index e9344b94..95e4900d 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -215,9 +215,6 @@ $routes->post("/editEmployeeProfile", "EmployeeRestController::editEmployeeProfi - -$routes->post("employeeUpload", "EmployeeRestController::employeeUpload"); - $routes->group("employeeRest", ["filter" => "authJWT"], function($routes){ $routes->post("employeeUpload", "EmployeeRestController::employeeUpload"); $routes->get("relationshipList", "EmployeeRestController::relationshipList"); diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index dd0f951b..51ab6236 100644 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -309,6 +309,7 @@ class EmployeeRestController extends AdminController $keysToRemove = ["removable_keys"]; $empPolicy = $this->employeeModel->getEmployeePolicy($id); + $empData = $this->employeeModel->where('emp_code',$emp_code)->findAll(); if ($empPolicy) { @@ -339,10 +340,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) { @@ -370,8 +396,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; @@ -381,6 +407,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; @@ -402,24 +437,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}'";