Merge branch 'dev' of bitbucket.org:jubilian/nhance-enrollment into dev

This commit is contained in:
Gowtham M 2026-01-23 09:21:13 +05:30
commit 1741797f24
2 changed files with 82 additions and 12 deletions

View File

@ -551,7 +551,7 @@ $routes->get("getBackToEnrolledDetails", "EmployeeRestController::getBackToEnrol
//crone job
$routes->cli('cli/enrollOpendAndClose', 'DashboardController::updatePolicyEnrollmentStatus');
$routes->cli("cli/sendCroneRemainderMail", "DashboardController::sendCroneRemainderMail");
$routes->cli('cli/update-emp-policy-status', 'ClientController::updateEmpAndPolicyStatus');
$routes->get('enrollOpendAndClose', 'DashboardController::updatePolicyEnrollmentStatus');
$routes->get("sendCroneRemainderMail", "DashboardController::sendCroneRemainderMail");
// $routes->get("getEmployeePolicy", "EmployeeRestController::getEmployeePolicy");

View File

@ -235,8 +235,17 @@ class EmployeeRestController extends AdminController
try {
$data = $this->request->getJSON();
$clientPolicyData = $this->clientPolicyModel->where('id',$data[0]->client_policy_id)
->where('is_active', 1)
->first();
if(in_array($clientPolicyData['policy_type_id'], [3,4,5])){
$openForEnrollment = $this->findThePolicyIsOpenForEnrollment($clientPolicyData['base_policy'], $data[0]->emp_code);
}else{
$openForEnrollment = $this->findThePolicyIsOpenForEnrollment($data[0]->client_policy_id, $data[0]->emp_code);
}
//enrolment check
$openForEnrollment = $this->findThePolicyIsOpenForEnrollment($data[0]->client_policy_id, $data[0]->emp_code);
if($openForEnrollment == false){
return $this->respond(['status' => 'failed','code' => 404,'data' => [],'message' => 'Enrollment closed.'], 200);
}
@ -308,7 +317,7 @@ class EmployeeRestController extends AdminController
}
}
} catch (\Exception $e) {
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage(),'message' => "Action failed."], 500);
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage() . $e->getLine(),'message' => "Action failed."], 500);
}
}
@ -395,6 +404,8 @@ class EmployeeRestController extends AdminController
}else{
$enrollment_dates = $this->getEnrollmentDates($client_policy_id, $emp_code);
$data['employee_id']= $employee_id;
$data['client_policy_id']= $client_policy_id;
$data['basic_cover_si']= $basic_cover_si;
@ -405,6 +416,9 @@ class EmployeeRestController extends AdminController
if(!empty($other_employee_policy_data)){
$data['enrollment_open_date']= $other_employee_policy_data['enrollment_open_date'] ?? null;
$data['enrollment_close_date']= $other_employee_policy_data['enrollment_close_date'] ?? null;
}else{
$data['enrollment_open_date'] = $enrollment_dates['enrollment_open_date'] ?? null;
$data['enrollment_close_date'] = $enrollment_dates['enrollment_close_date'] ?? null;
}
// dd($data);
@ -550,7 +564,7 @@ class EmployeeRestController extends AdminController
$this->employeeModel->where('id', $this->request->getGet('id') )
->where('is_active', 1 )
->set(array('is_active'=> 0 ))
->set(['emp_status' => 'truncated', 'is_active' => 0])
->update();
}
@ -564,7 +578,7 @@ class EmployeeRestController extends AdminController
$query->where('client_policy_id', $clientPolicyId);
}
$query->set(['is_active' => 0])->update();
$query->set(['status' => 'truncated', 'is_active' => 0])->update();
return $this->respond(['status' => 'success','code' => 200,'data' =>[] ], 200);
@ -590,7 +604,17 @@ class EmployeeRestController extends AdminController
// print_r($requestData);
// dd($requestData);
$openForEnrollment = $this->findThePolicyIsOpenForEnrollment($requestData[0]->client_policy_id, $requestData[0]->emp_code);
$clientPolicyData = $this->clientPolicyModel->where('id',$requestData[0]->client_policy_id)
->where('is_active', 1)
->first();
if(in_array($clientPolicyData['policy_type_id'], [3,4,5])){
$openForEnrollment = $this->findThePolicyIsOpenForEnrollment($clientPolicyData['base_policy'], $requestData[0]->emp_code);
}else{
$openForEnrollment = $this->findThePolicyIsOpenForEnrollment($requestData[0]->client_policy_id, $requestData[0]->emp_code);
}
if($openForEnrollment == false){ return $this->respond(['status' => 'failed','code' => 404,'data' => 'Enrollment closed'], 404); }
foreach ($requestData as $key => $value)
@ -600,6 +624,7 @@ class EmployeeRestController extends AdminController
->where('client_policy_id', $value->client_policy_id)
->where('is_active', 1 )
->findAll();
// dd($checkIfExist);
if ($checkIfExist) {
@ -608,10 +633,14 @@ class EmployeeRestController extends AdminController
}else{
$enrollment_dates = $this->getEnrollmentDates($value->client_policy_id, $requestData[0]->emp_code);
$data['employee_id']= $value->employee_id;
$data['client_policy_id']= $value->client_policy_id;
$data['basic_cover_si']= $value->basic_cover_si;
$data['status'] = 'draft';
$data['enrollment_open_date'] = $enrollment_dates['enrollment_open_date'] ?? null;
$data['enrollment_close_date'] = $enrollment_dates['enrollment_close_date'] ?? null;
$this->employeePolicyModel->insert($data);
}
@ -1631,8 +1660,8 @@ class EmployeeRestController extends AdminController
}
if(!empty($result) && $this->request->getGet('policy') == 'GMC'){
// return $this->respond(['status' => 'success','code' => 200,'data' => $result], 200);
echo json_encode(['status' => 'success','code' => 200,'data' => $result], JSON_PRETTY_PRINT | JSON_PRESERVE_ZERO_FRACTION);
return $this->respond(['status' => 'success','code' => 200,'data' => $result], 200);
// echo json_encode(['status' => 'success','code' => 200,'data' => $result], JSON_PRETTY_PRINT | JSON_PRESERVE_ZERO_FRACTION);
}else{
return $this->respond(['status' => 'success','code' => 200,'data' => []], 200);
}
@ -2547,8 +2576,8 @@ class EmployeeRestController extends AdminController
if($this->request->getGet('policy') == 'GMC-DEPENDENT-ADDON'){
// return $this->respond(['status' => 'success','code' => 200,'data' => ['gmc_dependent_addon'=>$responce]], 200);
echo json_encode(['status' => 'success','code' => 200,'data' => ['gmc_dependent_addon'=>$responce]], JSON_PRETTY_PRINT | JSON_PRESERVE_ZERO_FRACTION);
return $this->respond(['status' => 'success','code' => 200,'data' => ['gmc_dependent_addon'=>$responce]], 200);
// echo json_encode(['status' => 'success','code' => 200,'data' => ['gmc_dependent_addon'=>$responce]], JSON_PRETTY_PRINT | JSON_PRESERVE_ZERO_FRACTION);
}
//array_push($PolicyData, $responce);
@ -2720,7 +2749,13 @@ class EmployeeRestController extends AdminController
->where('id',$value)
->where('is_active', 1)
->first();
$policy = $this->findThePolicyIsOpenForEnrollment($clientPolicyData['base_policy'], $emp_code);
if(in_array($clientPolicyData['policy_type_id'], [3,4,5])){
$policy = $this->findThePolicyIsOpenForEnrollment($clientPolicyData['base_policy'], $emp_code);
}else{
$policy = $this->findThePolicyIsOpenForEnrollment($value, $emp_code);
}
if($policy)
{
$this->myLogger->logme("error", 'client policy id = '.$value.' is open for enrollment');
@ -2763,7 +2798,6 @@ class EmployeeRestController extends AdminController
}
}else { $this->myLogger->logme("error", 'client policy id = '.$value.' is not open for enrollment');}
}
@ -4368,4 +4402,40 @@ class EmployeeRestController extends AdminController
}
}
public function getEnrollmentDates($client_policy_id, $emp_code)
{
$enrollment_open_date = null;
$enrollment_close_date = null;
$clientPolicyData = $this->clientPolicyModel->where('id', $client_policy_id)
->where('is_active', 1)
->first();
if(in_array($clientPolicyData['policy_type_id'] ?? null, [3,4,5])){
$policy = $this->employeePolicyModel
->select('employee_polices.enrollment_open_date, employee_polices.enrollment_close_date')
->join('employees', 'employee_polices.employee_id = employees.id')
->where('employees.emp_code',$emp_code)
->where('employee_polices.client_policy_id', $clientPolicyData['base_policy'])
->where('employee_polices.enrollment_open_date <= CURDATE()', null, false)
->where('employee_polices.enrollment_close_date >= CURDATE()', null, false)
->where('employee_polices.enrollment_open_date is not null')
->where('employee_polices.enrollment_close_date is not null')
->where('employees.is_active', 1)
->where('employee_polices.is_active', 1)
->whereIn('employee_polices.status', ['draft', 'enrolled'])
->whereIn('employees.emp_status', ['draft', 'enrolled'])
->first();
$enrollment_open_date = $policy['enrollment_open_date'] ?? null;
$enrollment_close_date = $policy['enrollment_close_date'] ?? null;
}
return [
'enrollment_open_date' => $enrollment_open_date,
'enrollment_close_date' => $enrollment_close_date,
];
}
}