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("getEmployeePolicy", "EmployeeRestController::getEmployeePolicy");
$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))
{
$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
{
$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;
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($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(!empty($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($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'])){
$policyTermsJson = json_decode($policy_terms['policy_terms'], true);
// print_r($employee_data_group_by_family);die();
foreach ($employee_data_group_by_family[$emp_code] as $key => &$value) {
if(strtolower($value['relationship']) == 'self' && $policyTermsJson['is_payable_employee']['self'] == 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']['self'];
if(!empty($value)){
}else if(strtolower($value['relationship']) == 'self' && $policyTermsJson['is_payable_employee']['self'] == 1){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['self'];
}
if(strtolower($value['relationship']) == 'spouse' && $policyTermsJson['is_payable_employee']['spouse'] == 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']['spouse'];
if(strtolower($value['relationship']) == 'self' && $policyTermsJson['is_payable_employee']['self'] == 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']['self'];
}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 if(strtolower($value['relationship']) == 'self' && $policyTermsJson['is_payable_employee']['self'] == 1){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['self'];
}
if(strtolower($value['relationship']) == 'spouse' && $policyTermsJson['is_payable_employee']['spouse'] == 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']['spouse'];
}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);
$employee_data_group_by_family[$emp_code] = array_values($employee_data_group_by_family[$emp_code]);
}
}else{
if(isset($policy_terms['policy_terms'])){
@ -2418,25 +2429,30 @@ class EmployeeRestController extends AdminController
$policyTermsJson = json_decode($policy_terms['policy_terms'], true);
foreach ($employee_data_group_by_family[$emp_code] as $key => &$value) {
if(!empty($value)){
if(strtolower($value['relationship']) == 'self'){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['self'];
}
if(strtolower($value['relationship']) == 'spouse'){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['spouse'];
}
if((strtolower($value['relationship']) == 'son' || strtolower($value['relationship']) == 'daughter')){
$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' )){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['elders'];
}
if(strtolower($value['relationship']) == 'self'){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['self'];
}
if(strtolower($value['relationship']) == 'spouse'){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['spouse'];
}
if((strtolower($value['relationship']) == 'son' || strtolower($value['relationship']) == 'daughter')){
$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' )){
$value['policy_details']['payable_employee'] = $policyTermsJson['is_payable_employee']['elders'];
}
}else{
unset($employee_data_group_by_family[$emp_code][$key]);
}
}
unset($value);
$employee_data_group_by_family[$emp_code] = array_values($employee_data_group_by_family[$emp_code]);
}
}

Binary file not shown.