From 7af224f0cfcdc7b9efc49930a053410a2599be5f Mon Sep 17 00:00:00 2001 From: bitbucket Date: Wed, 17 Apr 2024 10:55:19 +0530 Subject: [PATCH 1/3] CHANGE_ADDONPOILICYAPI:GWM --- app/Controllers/EmployeeRestController.php | 88 ++++++++++++++++------ 1 file changed, 64 insertions(+), 24 deletions(-) diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index 5245fcae..fcb784fa 100644 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -170,16 +170,18 @@ class EmployeeRestController extends AdminController public function addEmployeeAndDependence() { - try { + // try { $data = $this->request->getJSON(); if ($data) { + $Count = 0; foreach ($data as $item) { if (isset($item->id)) { //update old data $id = $item->id; $item->family_floater_key = $this->RelationshipMap($item->relationship); + $item->gender = $this->GenderMap($item->relationship , $item->emp_code); $item->dob = $this->convertDateFormatYMD($item->dob); $item->emp_status = 'Draft'; $employee = $this->employeeModel->where('is_active', 1 )->update($id, (array)$item); @@ -189,9 +191,10 @@ class EmployeeRestController extends AdminController }else{ //create new data $item->family_floater_key = $this->RelationshipMap($item->relationship); + $item->gender = $this->GenderMap($item->relationship , $item->emp_code); $item->dob = $this->convertDateFormatYMD($item->dob); $item->emp_status = 'Draft'; - $employee = $this->employeeModel->where('is_active', 1 )->insert($item); + $employee = $this->employeeModel->insert($item); if ($employee) { if(!isset($item->is_addon_value)) @@ -206,6 +209,7 @@ class EmployeeRestController extends AdminController } if ($Count > 0) { + $this->updatePremiumAmount($data[0]->client_policy_id , $data[0]->emp_code); $result = []; return $this->respond(['status' => 'success','code' => 200,'data' => $result], 200); } else { @@ -213,40 +217,57 @@ class EmployeeRestController extends AdminController return $this->respond(['status' => 'failed','code' => 404,'data' => $result], 404); } } - } catch (\Exception $e) { - return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500); - } + // } catch (\Exception $e) { + // return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500); + // } } public function createEmployeePolicyData($employee_id,$emp_code,$client_id,$client_policy_id) { - - $client_policy = $this->clientPolicyModel->where('id', $client_policy_id)->where('client_id', $client_id)->first(); $policy_terms = json_decode($client_policy['policy_terms']); $basic_cover_si = $policy_terms->sum_insured; - $getSlabAndGridData = $this->policesModel->getPolicySlabRatesForEmpOnboard($client_policy_id,$client_id); - $SlabRatesArray = $getSlabAndGridData['slab_rates']; - $premium = $this->findPremiumAmount($SlabRatesArray, $basic_cover_si); - - - $data['employee_id']= $employee_id; $data['client_policy_id']= $client_policy_id; $data['basic_cover_si']= $basic_cover_si; - $data['premium']= $premium; + $data['status']= 'draft'; $this->employeePolicyModel->insert($data); - - return true; - - } + public function updatePremiumAmount($client_policy_id , $emp_code) + { + $response = $this->calculatePremium($client_policy_id , $emp_code); + + if(count($response[$emp_code])) + { + print_r($response[$emp_code]); + foreach ($response[$emp_code] as $key => $value) + { + + $checkIfExist = $this->employeePolicyModel->where('employee_id', $value['temp']['emp_id']) + ->where('client_policy_id', $value['policy_details']['client_policy_id']) + ->where('is_active', 1 ) + ->findAll(); + if($checkIfExist) + { + $this->employeePolicyModel + ->where('client_policy_id',$value['policy_details']['client_policy_id'] ) + ->where('employee_id' , $value['temp']['emp_id'] ) + ->where('is_active', 1 ) + ->set(array('premium'=> $value['policy_details']['premium'] )) + ->update(); + + } + } + } + } + + public function RelationshipMap($value){ if ($value === 'Mother' || $value === 'Father') { @@ -260,6 +281,19 @@ class EmployeeRestController extends AdminController } } + public function GenderMap($value,$empCode){ + + if ($value === 'Mother' || $value === 'Daughter' || $value === 'Mother in Law') { + return 'F'; + } else if($value === 'Son' || $value === 'Father' || $value === 'Father in Law'){ + return 'M'; + }else if($value === 'Spouse'){ + + $Gender = $this->employeeModel->where('emp_code',$empCode)->where('relationship','Self')->get()->getRow()->gender; + if($Gender == 'M'){ return 'F'; }else{ return 'M'; } + } +} + private function convertDateFormatYMD($dateString) { // Attempt to create a DateTime object from the provided date string @@ -1293,11 +1327,11 @@ public function iAgreeForAddOn() //Post method - which receives client_policy id and empcode of the family. //Pull records againest emp code and calculate premium // retun array -public function calculatePremium()//family level +public function calculatePremium($clientPolicyId = null , $empCode = null)//family level { helper('excel_util_helper'); - $client_policy_id = $this->request->getVar('client_policy_id'); - $emp_code = $this->request->getVar('emp_code'); + $client_policy_id = $this->request->getVar('client_policy_id') ?? $clientPolicyId; + $emp_code = $this->request->getVar('emp_code') ?? $empCode; // dd($client_policy_id); $client_id = ($this->clientPolicyModel->select('client_id')->find($client_policy_id))['client_id']; @@ -1308,8 +1342,7 @@ public function calculatePremium()//family level //get policy slab rates $slab_details = $this->policesModel->getPolicySlabRatesForEmpOnboard($client_policy_id,$client_id); - $existing_famility_details = $this->employeeModel->getEmpFamilybyEmpCode(client_id: $client_id,client_policy_id: $client_policy_id,emp_code: $emp_code,emp_status:['active'],policy_status:['active']); - + $existing_famility_details = $this->employeeModel->getEmpFamilybyEmpCode(client_id: $client_id,client_policy_id: $client_policy_id,emp_code: $emp_code,emp_status:['draft','enrolled'],policy_status:['draft','enrolled']); $file = ['id' => null,'client_id' => $client_id,'policy_id' => $client_policy_id,'action' => 'inception']; // dd($this->employeeModel->getLastQuery()); // dd($existing_famility_details);die(); @@ -1324,8 +1357,15 @@ public function calculatePremium()//family level } - // dd ($employee_data_group_by_family); + if($clientPolicyId != null && $empCode != null) + { + return $employee_data_group_by_family; + }else{ + // dd ($employee_data_group_by_family); return $this->respond(['status' => 'success','code' => (count($employee_data_group_by_family) ? 200 : 404),'data' => [$employee_data_group_by_family] ], 200); + + } + } } \ No newline at end of file From 334ce49bab1e38f8bf336696b9ea8025f73204f2 Mon Sep 17 00:00:00 2001 From: velz Date: Wed, 17 Apr 2024 16:00:29 +0530 Subject: [PATCH 2/3] CHANGE_PREMIUM_CALC_API --- app/Controllers/EmployeeRestController.php | 6 ++- app/Controllers/EmployeeServiceController.php | 2 +- app/Helpers/excel_util_helper.php | 45 +++++++++++-------- 3 files changed, 31 insertions(+), 22 deletions(-) diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index 1631a100..668c12f1 100644 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -1298,7 +1298,8 @@ public function calculatePremium()//family level helper('excel_util_helper'); $client_policy_id = $this->request->getVar('client_policy_id'); $emp_code = $this->request->getVar('emp_code'); - // dd($client_policy_id); + $default_si = $this->request->getVar('si');// si amt which choosed in add on policy + // dd($default_si); $client_id = ($this->clientPolicyModel->select('client_id')->find($client_policy_id))['client_id']; // get policy and rack details @@ -1307,6 +1308,7 @@ public function calculatePremium()//family level //get policy slab rates $slab_details = $this->policesModel->getPolicySlabRatesForEmpOnboard($client_policy_id,$client_id); + // dd($slab_details); $existing_famility_details = $this->employeeModel->getEmpFamilybyEmpCode(client_id: $client_id,client_policy_id: $client_policy_id,emp_code: $emp_code,emp_status:['draft','enrolled'],policy_status:['draft','enrolled']); @@ -1318,7 +1320,7 @@ public function calculatePremium()//family level foreach ($employee_data_group_by_family as $emp_id => $family) { $transformed_famility_details = transform_db_data_to_excel($family); - $data = calculate_premimum($transformed_famility_details,$policy_terms,$slab_details,$file); + $data = calculate_premimum($transformed_famility_details,$policy_terms,$slab_details,$file,$default_si); // dd($data); $employee_data_group_by_family[$emp_id] = $data; diff --git a/app/Controllers/EmployeeServiceController.php b/app/Controllers/EmployeeServiceController.php index 6007b717..31f4fe58 100644 --- a/app/Controllers/EmployeeServiceController.php +++ b/app/Controllers/EmployeeServiceController.php @@ -568,7 +568,7 @@ class EmployeeServiceController extends AdminController $existing_famility_details = $this->employeeModel->getEmpFamilybyEmpCode(client_id: $client_id,client_policy_id: $client_policy_id,emp_status: ['enrolled','draft'],policy_status:['enrolled','draft']); - $file = ['id' => null,'client_id' => $client_id,'policy_id' => $client_policy_id,'action' => 'inception']; + $file = ['id' => null,'client_id' => $client_id,'policy_id' => $client_policy_id,'action' => 'inception','created_by' => get_session_userid()]; // dd($this->employeeModel->getLastQuery()); // Kint::dump($existing_famility_details);die(); $employee_data_group_by_family = data_group_by_family($existing_famility_details,$data_source = 'db'); diff --git a/app/Helpers/excel_util_helper.php b/app/Helpers/excel_util_helper.php index 3d8b9421..34e36e46 100644 --- a/app/Helpers/excel_util_helper.php +++ b/app/Helpers/excel_util_helper.php @@ -509,7 +509,7 @@ if (!function_exists('generate_relationship_code')) if (!function_exists('calculate_premimum')) { - function calculate_premimum($family_data,$policy_terms,$slab_details,$fileArr) + function calculate_premimum($family_data,$policy_terms,$slab_details,$fileArr,$default_si = null) { // // dd($fileArr); @@ -558,7 +558,7 @@ if (!function_exists('calculate_premimum')) if( $fileArr['id'] == null || (in_array($grid_type,[10,11]) || $transformed_familiy_member_data['temp']['source'] == 'excel'))//if file id is null then data coming from enrollment (from DB) otherwise data coming from xcel, so calculate only data from excel (new entry) note: even data coming from excel for event dependet additon we fetch other dependts from db and calculate premium for whole family { - $transformed_familiy_member_data = premium_calculation_manager($transformed_familiy_member_data,$policy_terms,$slab_details); + $transformed_familiy_member_data = premium_calculation_manager($transformed_familiy_member_data,$policy_terms,$slab_details,$default_si); $result[] = $transformed_familiy_member_data; } @@ -630,7 +630,7 @@ if (!function_exists('transform_excel_data_to_db')) if (!function_exists('premium_calculation_manager')) { - function premium_calculation_manager($emp_data,$policy_terms,$slab_details) + function premium_calculation_manager($emp_data,$policy_terms,$slab_details,$default_si = null) { // grid type // 1 = premium => si @@ -639,11 +639,12 @@ if (!function_exists('premium_calculation_manager')) switch ($grid_type) { case "1": //GPA - Sum Insured (SI) * Multiplier - $employee_received_si = $emp_data['policy_details']['basic_cover_si']; + $employee_received_si = $default_si == null ? $emp_data['policy_details']['basic_cover_si'] : $default_si; foreach ($slab_details['slab_rates'] as $skey => $slab_value) { if($slab_value['si'] == $employee_received_si) { + $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; @@ -658,11 +659,12 @@ if (!function_exists('premium_calculation_manager')) break; case "2": //GPA - Flat Rate for all SI - $employee_received_si = $emp_data['policy_details']['basic_cover_si']; + $employee_received_si = $default_si == null ? $emp_data['policy_details']['basic_cover_si'] : $default_si; foreach ($slab_details['slab_rates'] as $skey => $slab_value) { if($slab_value['si'] == $employee_received_si) { + $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; @@ -676,11 +678,12 @@ if (!function_exists('premium_calculation_manager')) break; case "3": //GMC - SI - $employee_received_si = $emp_data['policy_details']['basic_cover_si']; + $employee_received_si = $default_si == null ? $emp_data['policy_details']['basic_cover_si'] : $default_si; foreach ($slab_details['slab_rates'] as $skey => $slab_value) { if($slab_value['si'] == $employee_received_si) { + $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; @@ -694,13 +697,17 @@ if (!function_exists('premium_calculation_manager')) break; case "4": + //GMC - Employees Age band - $employee_received_si = $emp_data['policy_details']['basic_cover_si']; + $employee_received_si = $default_si == null ? $emp_data['policy_details']['basic_cover_si'] : $default_si; + // dd($employee_received_si); foreach ($slab_details['slab_rates'] as $skey => $slab_value) { $age = calculate_days_bw_dates(from_date: $emp_data['dob'])->y; if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age)) { + // dd($slab_value); + $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; @@ -714,13 +721,13 @@ if (!function_exists('premium_calculation_manager')) break; case "5": //GMC - Employees Age + SI - $employee_received_si = $emp_data['policy_details']['basic_cover_si']; + $employee_received_si = $default_si == null ? $emp_data['policy_details']['basic_cover_si'] : $default_si; foreach ($slab_details['slab_rates'] as $skey => $slab_value) { $age = calculate_days_bw_dates(from_date: $emp_data['dob'])->y; if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age)) { - + $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; @@ -734,13 +741,13 @@ if (!function_exists('premium_calculation_manager')) break; case "6": //GMC - Employees + Dependent Age band - $employee_received_si = $emp_data['policy_details']['basic_cover_si']; + $employee_received_si = $default_si == null ? $emp_data['policy_details']['basic_cover_si'] : $default_si; foreach ($slab_details['slab_rates'] as $skey => $slab_value) { $age = calculate_days_bw_dates(from_date: $emp_data['dob'])->y; if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age)) { - + $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; @@ -754,13 +761,13 @@ if (!function_exists('premium_calculation_manager')) break; case "7": //GMC - Employees + Dependent Age + SI - $employee_received_si = $emp_data['policy_details']['basic_cover_si']; + $employee_received_si = $default_si == null ? $emp_data['policy_details']['basic_cover_si'] : $default_si; foreach ($slab_details['slab_rates'] as $skey => $slab_value) { $age = calculate_days_bw_dates(from_date: $emp_data['dob'])->y; if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age)) { - + $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; $emp_data['policy_details']['days'] = calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days; @@ -776,14 +783,14 @@ if (!function_exists('premium_calculation_manager')) case "8": //GMC - SI as per Grade or Band $employee_received_band = $emp_data['temp']['band']; - $employee_received_si = $emp_data['policy_details']['basic_cover_si']; + $employee_received_si = $default_si == null ? $emp_data['policy_details']['basic_cover_si'] : $default_si; foreach ($slab_details['slab_rates'] as $skey => $slab_value) { if($slab_value['grade'] == $employee_received_band && $slab_value['si'] == $employee_received_si) { // $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; - + $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; $emp_data['policy_details']['days'] = calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days; @@ -798,13 +805,13 @@ if (!function_exists('premium_calculation_manager')) case "9": //GMC - Flat Rate for all $employee_received_band = $emp_data['temp']['band']; - $employee_received_si = $emp_data['policy_details']['basic_cover_si']; + $employee_received_si = $default_si == null ? $emp_data['policy_details']['basic_cover_si'] : $default_si; foreach ($slab_details['slab_rates'] as $skey => $slab_value) { if($slab_value['grade'] == $employee_received_band && $slab_value['si'] == $employee_received_si) { - // $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; + $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; $emp_data['policy_details']['days'] = calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days; @@ -819,7 +826,7 @@ if (!function_exists('premium_calculation_manager')) case "10": //GMC - Maximum age of Dependents $max_age = $emp_data['temp']['maxage']; - $employee_received_si = $emp_data['policy_details']['basic_cover_si']; + $employee_received_si = $default_si == null ? $emp_data['policy_details']['basic_cover_si'] : $default_si; $emp_data['policy_details']['basic_cover_si'] = null; foreach ($slab_details['slab_rates'] as $skey => $slab_value) { @@ -842,7 +849,7 @@ if (!function_exists('premium_calculation_manager')) //GMC - Maximum count per Family $max_count = $emp_data['temp']['maxcount']; $employee_received_band = $emp_data['temp']['band']; - $employee_received_si = $emp_data['policy_details']['basic_cover_si']; + $employee_received_si = $default_si == null ? $emp_data['policy_details']['basic_cover_si'] : $default_si; $emp_data['policy_details']['basic_cover_si'] = null; foreach ($slab_details['slab_rates'] as $skey => $slab_value) { From 62054714e621b1c1015d551b3a74f698476c5c56 Mon Sep 17 00:00:00 2001 From: bitbucket Date: Wed, 17 Apr 2024 16:51:18 +0530 Subject: [PATCH 3/3] CHANGE_siAmountUpdate:GWM --- app/Controllers/EmployeeRestController.php | 55 +++++++++++++++------- app/Models/EmployeePolicyModel.php | 2 +- 2 files changed, 39 insertions(+), 18 deletions(-) diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index d1f7fbde..d0a70c30 100644 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -183,7 +183,7 @@ class EmployeeRestController extends AdminController $item->family_floater_key = $this->RelationshipMap($item->relationship); $item->gender = $this->GenderMap($item->relationship , $item->emp_code); $item->dob = $this->convertDateFormatYMD($item->dob); - $item->emp_status = 'Draft'; + $item->emp_status = 'draft'; $employee = $this->employeeModel->where('is_active', 1 )->update($id, (array)$item); if ($employee) { $Count++; @@ -193,7 +193,7 @@ class EmployeeRestController extends AdminController $item->family_floater_key = $this->RelationshipMap($item->relationship); $item->gender = $this->GenderMap($item->relationship , $item->emp_code); $item->dob = $this->convertDateFormatYMD($item->dob); - $item->emp_status = 'Draft'; + $item->emp_status = 'draft'; $employee = $this->employeeModel->insert($item); if ($employee) { @@ -209,7 +209,12 @@ class EmployeeRestController extends AdminController } if ($Count > 0) { - $this->updatePremiumAmount($data[0]->client_policy_id , $data[0]->emp_code); + + if(!isset($data[0]->is_addon_value)) + { + $this->updatePremiumAmount($data[0]->client_policy_id , $data[0]->emp_code); + } + $result = []; return $this->respond(['status' => 'success','code' => 200,'data' => $result], 200); } else { @@ -230,12 +235,28 @@ class EmployeeRestController extends AdminController $policy_terms = json_decode($client_policy['policy_terms']); $basic_cover_si = $policy_terms->sum_insured; - $data['employee_id']= $employee_id; - $data['client_policy_id']= $client_policy_id; - $data['basic_cover_si']= $basic_cover_si; - $data['status']= 'draft'; - - $this->employeePolicyModel->insert($data); + $checkDataExist = $this->employeePolicyModel->where('employee_id',$employee_id)->where('client_policy_id',$client_policy_id)->first(); + + if($checkDataExist){ + + $this->employeePolicyModel + ->where('client_policy_id',$client_policy_id ) + ->where('employee_id' , $employee_id ) + ->where('is_active', 1 ) + ->set(array('basic_cover_si'=> $basic_cover_si )) + ->update(); + + }else{ + + $data['employee_id']= $employee_id; + $data['client_policy_id']= $client_policy_id; + $data['basic_cover_si']= $basic_cover_si; + $data['status']= 'draft'; + + $this->employeePolicyModel->insert($data); + + } + return true; } @@ -245,7 +266,7 @@ class EmployeeRestController extends AdminController if(count($response[$emp_code])) { - print_r($response[$emp_code]); + foreach ($response[$emp_code] as $key => $value) { @@ -543,27 +564,27 @@ class EmployeeRestController extends AdminController ->where('client_policy_id', $value->client_policy_id) ->where('is_active', 1 ) ->findAll(); - $getSlabAndGridData = $this->policesModel->getPolicySlabRatesForEmpOnboard($value->client_policy_id,$value->client_id); - $SlabRatesArray = $getSlabAndGridData['slab_rates']; - $premium = $this->findPremiumAmount($SlabRatesArray, $value->basic_cover_si); + // dd($checkIfExist); if ($checkIfExist) { - $empPolicy = $this->employeePolicyModel->updateSiAndPremium($value->client_policy_id, $value->employee_id, $value->basic_cover_si,$premium); + $empPolicy = $this->employeePolicyModel->updateSiAndPremium($value->client_policy_id, $value->employee_id, $value->basic_cover_si); }else{ $data['employee_id']= $value->employee_id; $data['client_policy_id']= $value->client_policy_id; $data['basic_cover_si']= $value->basic_cover_si; - $data['premium']= $premium; - $data['status'] = 'Draft'; + $data['status'] = 'draft'; $this->employeePolicyModel->insert($data); } } - return $this->respond(['status' => 'success','code' => 200,'data' => []], 200); + + $this->updatePremiumAmount($requestData[0]->client_policy_id , $requestData[0]->emp_code); + + return $this->respond(['status' => 'success','code' => 200,'data' => []], 200); } catch (\Exception $e) { return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500); diff --git a/app/Models/EmployeePolicyModel.php b/app/Models/EmployeePolicyModel.php index 17f1c3f2..f5577030 100644 --- a/app/Models/EmployeePolicyModel.php +++ b/app/Models/EmployeePolicyModel.php @@ -555,7 +555,7 @@ class EmployeePolicyModel extends Model // } - public function updateSiAndPremium( $client_policy_id, $employee_id,$basic_cover_si,$premium) + public function updateSiAndPremium( $client_policy_id, $employee_id,$basic_cover_si,$premium = 0) {