FIX_CALCULATE_PREMIUM : RV

This commit is contained in:
VENKATESHWARAN 2025-05-13 15:00:09 +05:30
parent fdbc29d31a
commit cce1bad6a2
3 changed files with 88 additions and 70 deletions

View File

@ -502,4 +502,6 @@ $routes->get('enrollOpendAndClose', 'DashboardController::updatePolicyEnrollment
$routes->get("sendCroneRemainderMail", "DashboardController::sendCroneRemainderMail"); $routes->get("sendCroneRemainderMail", "DashboardController::sendCroneRemainderMail");
$routes->get("getEmployeePolicy", "EmployeeRestController::getEmployeePolicy"); $routes->get("getEmployeePolicy", "EmployeeRestController::getEmployeePolicy");
$routes->get("getAddOnPolicy", "EmployeeRestController::getAddOnPolicy"); $routes->get("getAddOnPolicy", "EmployeeRestController::getAddOnPolicy");
$routes->post("addEmployeeAndDependence", "EmployeeRestController::addEmployeeAndDependence");

View File

@ -268,7 +268,8 @@ class EmployeeRestController extends AdminController
if(isset($data[0]->id)) if(isset($data[0]->id))
{ {
$this->createEmployeePolicyData($data[0]->id , $data[0]->emp_code , $data[0]->client_id , $data[0]->client_policy_id , $data[0]->basic_cover_si); $payable_employee = $this->getEmployeePayableValue($data[0]->client_policy_id,$data[0]->relationship);
$this->createEmployeePolicyData($data[0]->id , $data[0]->emp_code , $data[0]->client_id , $data[0]->client_policy_id , $data[0]->basic_cover_si, $payable_employee);
}else }else
{ {
$payable_employee = $this->getEmployeePayableValue($data[0]->client_policy_id,$data[0]->relationship); $payable_employee = $this->getEmployeePayableValue($data[0]->client_policy_id,$data[0]->relationship);
@ -2342,75 +2343,85 @@ class EmployeeRestController extends AdminController
$employee_data_group_by_family[$emp_id] = $data; $employee_data_group_by_family[$emp_id] = $data;
foreach ($data as $value) { foreach ($data as $value) {
$newData = [];
$newData['employee_id'] = $value['temp']['emp_id'];
$newData['client_policy_id'] = $value['policy_details']['client_policy_id'];
$newData['status'] = "draft";
$newData['basic_cover_si'] = $value['policy_details']['basic_cover_si'];
$newData['date_coverage'] = $value['policy_details']['date_coverage'];
$newData['policy_end_date'] = $value['policy_details']['policy_end_date'];
$newData['days'] = $value['policy_details']['days'];
$isExistingEmpAndPolicy = $this->employeePolicyModel->where('employee_id',$value['temp']['emp_id'])->where('client_policy_id',$value['policy_details']['client_policy_id'])->where('is_active', 1)->get()->getRow(); if(!empty($value)){
if($isExistingEmpAndPolicy) $newData = [];
{ $newData['employee_id'] = $value['temp']['emp_id'];
$this->employeePolicyModel->where('employee_id',$value['temp']['emp_id'])->where('client_policy_id',$value['policy_details']['client_policy_id'])->where('is_active', 1)->set($newData)->update(); $newData['client_policy_id'] = $value['policy_details']['client_policy_id'];
}else{ $newData['status'] = "draft";
$this->employeePolicyModel->insert($newData); $newData['basic_cover_si'] = $value['policy_details']['basic_cover_si'];
$newData['date_coverage'] = $value['policy_details']['date_coverage'];
$newData['policy_end_date'] = $value['policy_details']['policy_end_date'];
$newData['days'] = $value['policy_details']['days'];
$isExistingEmpAndPolicy = $this->employeePolicyModel->where('employee_id',$value['temp']['emp_id'])->where('client_policy_id',$value['policy_details']['client_policy_id'])->where('is_active', 1)->get()->getRow();
if($isExistingEmpAndPolicy)
{
$this->employeePolicyModel->where('employee_id',$value['temp']['emp_id'])->where('client_policy_id',$value['policy_details']['client_policy_id'])->where('is_active', 1)->set($newData)->update();
}else{
$this->employeePolicyModel->insert($newData);
}
} }
} }
if($this->request){ if(empty($clientPolicyId)){
if(isset($policy_terms['policy_terms'])){ if(isset($policy_terms['policy_terms'])){
$policyTermsJson = json_decode($policy_terms['policy_terms'], true); $policyTermsJson = json_decode($policy_terms['policy_terms'], true);
// print_r($employee_data_group_by_family);die(); // print_r($employee_data_group_by_family);die();
foreach ($employee_data_group_by_family[$emp_code] as $key => &$value) { foreach ($employee_data_group_by_family[$emp_code] as $key => &$value) {
if(strtolower($value['relationship']) == 'self' && $policyTermsJson['is_payable_employee']['self'] == 0){ if(!empty($value)){
$value['policy_details']['rata_premimum'] = 0;
$value['policy_details']['premium'] = 0;
$value['policy_details']['gst'] = 0;
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['self'];
}else if(strtolower($value['relationship']) == 'self' && $policyTermsJson['is_payable_employee']['self'] == 1){ if(strtolower($value['relationship']) == 'self' && $policyTermsJson['is_payable_employee']['self'] == 0){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['self']; $value['policy_details']['rata_premimum'] = 0;
} $value['policy_details']['premium'] = 0;
$value['policy_details']['gst'] = 0;
if(strtolower($value['relationship']) == 'spouse' && $policyTermsJson['is_payable_employee']['spouse'] == 0){ $value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['self'];
$value['policy_details']['rata_premimum'] = 0;
$value['policy_details']['premium'] = 0;
$value['policy_details']['gst'] = 0;
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['spouse'];
}else if(strtolower($value['relationship']) == 'spouse' && $policyTermsJson['is_payable_employee']['spouse'] == 1){ }else if(strtolower($value['relationship']) == 'self' && $policyTermsJson['is_payable_employee']['self'] == 1){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['spouse']; $value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['self'];
} }
if((strtolower($value['relationship']) == 'son' || strtolower($value['relationship']) == 'daughter') && $policyTermsJson['is_payable_employee']['childern'] == 0){ if(strtolower($value['relationship']) == 'spouse' && $policyTermsJson['is_payable_employee']['spouse'] == 0){
$value['policy_details']['rata_premimum'] = 0; $value['policy_details']['rata_premimum'] = 0;
$value['policy_details']['premium'] = 0; $value['policy_details']['premium'] = 0;
$value['policy_details']['gst'] = 0; $value['policy_details']['gst'] = 0;
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['childern']; $value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['spouse'];
}else if((strtolower($value['relationship']) == 'son' || strtolower($value['relationship']) == 'daughter') && $policyTermsJson['is_payable_employee']['childern'] == 1){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['childern'];
}
if((strtolower($value['relationship']) == 'father in law' || strtolower($value['relationship']) == 'mother in law' || strtolower($value['relationship']) == 'father' || strtolower($value['relationship']) == 'mother' ) && $policyTermsJson['is_payable_employee']['elders'] == 0){
$value['policy_details']['rata_premimum'] = 0;
$value['policy_details']['premium'] = 0;
$value['policy_details']['gst'] = 0;
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['elders'];
}else if((strtolower($value['relationship']) == 'father in law' || strtolower($value['relationship']) == 'mother in law' || strtolower($value['relationship']) == 'father' || strtolower($value['relationship']) == 'mother' ) && $policyTermsJson['is_payable_employee']['elders'] == 1){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['elders'];
}
}else if(strtolower($value['relationship']) == 'spouse' && $policyTermsJson['is_payable_employee']['spouse'] == 1){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['spouse'];
}
if((strtolower($value['relationship']) == 'son' || strtolower($value['relationship']) == 'daughter') && $policyTermsJson['is_payable_employee']['childern'] == 0){
$value['policy_details']['rata_premimum'] = 0;
$value['policy_details']['premium'] = 0;
$value['policy_details']['gst'] = 0;
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['childern'];
}else if((strtolower($value['relationship']) == 'son' || strtolower($value['relationship']) == 'daughter') && $policyTermsJson['is_payable_employee']['childern'] == 1){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['childern'];
}
if((strtolower($value['relationship']) == 'father in law' || strtolower($value['relationship']) == 'mother in law' || strtolower($value['relationship']) == 'father' || strtolower($value['relationship']) == 'mother' ) && $policyTermsJson['is_payable_employee']['elders'] == 0){
$value['policy_details']['rata_premimum'] = 0;
$value['policy_details']['premium'] = 0;
$value['policy_details']['gst'] = 0;
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['elders'];
}else if((strtolower($value['relationship']) == 'father in law' || strtolower($value['relationship']) == 'mother in law' || strtolower($value['relationship']) == 'father' || strtolower($value['relationship']) == 'mother' ) && $policyTermsJson['is_payable_employee']['elders'] == 1){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['elders'];
}
}else{
unset($employee_data_group_by_family[$emp_code][$key]);
}
} }
unset($value); unset($value);
$employee_data_group_by_family[$emp_code] = array_values($employee_data_group_by_family[$emp_code]);
} }
}else{ }else{
if(isset($policy_terms['policy_terms'])){ if(isset($policy_terms['policy_terms'])){
@ -2418,25 +2429,30 @@ class EmployeeRestController extends AdminController
$policyTermsJson = json_decode($policy_terms['policy_terms'], true); $policyTermsJson = json_decode($policy_terms['policy_terms'], true);
foreach ($employee_data_group_by_family[$emp_code] as $key => &$value) { foreach ($employee_data_group_by_family[$emp_code] as $key => &$value) {
if(!empty($value)){
if(strtolower($value['relationship']) == 'self'){ if(strtolower($value['relationship']) == 'self'){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['self']; $value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['self'];
} }
if(strtolower($value['relationship']) == 'spouse'){ if(strtolower($value['relationship']) == 'spouse'){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['spouse']; $value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['spouse'];
} }
if((strtolower($value['relationship']) == 'son' || strtolower($value['relationship']) == 'daughter')){ if((strtolower($value['relationship']) == 'son' || strtolower($value['relationship']) == 'daughter')){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['childern']; $value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['childern'];
} }
if((strtolower($value['relationship']) == 'father in law' || strtolower($value['relationship']) == 'mother in law' || strtolower($value['relationship']) == 'father' || strtolower($value['relationship']) == 'mother' )){ if((strtolower($value['relationship']) == 'father in law' || strtolower($value['relationship']) == 'mother in law' || strtolower($value['relationship']) == 'father' || strtolower($value['relationship']) == 'mother' )){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['elders']; $value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['elders'];
} }
}else{
unset($employee_data_group_by_family[$emp_code][$key]);
}
} }
unset($value); unset($value);
$employee_data_group_by_family[$emp_code] = array_values($employee_data_group_by_family[$emp_code]);
} }
} }

Binary file not shown.