Merge branch 'dev' of bitbucket.org:jubilian/nhance-enrollment into dev
This commit is contained in:
commit
7b6546b571
@ -1,6 +1,7 @@
|
||||
# README #
|
||||
|
||||
This README would normally document whatever steps are necessary to get your application up and running.
|
||||
This is test cmd for checking auto deploy
|
||||
|
||||
### What is this repository for? ###
|
||||
|
||||
|
||||
@ -454,6 +454,8 @@ $routes->post("employeeRest/saveMpin", "RestAuthenticationController::saveMpin")
|
||||
$routes->post("employeeRest/updateMpin", "RestAuthenticationController::updateMpin");
|
||||
$routes->post("employeeRest/forgotMPIN", "RestAuthenticationController::forgotMPIN");
|
||||
$routes->post("calculatePremium", "EmployeeRestController::calculatePremium");
|
||||
$routes->post("employeeRest/updateMobileNumber", "RestAuthenticationController::updateMobileNumber");
|
||||
|
||||
|
||||
// $routes->post("employeeRest/createOrUpdateEmployeePolicySiAmount", "EmployeeRestController::createOrUpdateEmployeePolicySiAmount");
|
||||
// $routes->post("employeeRest/calculatePremium", "EmployeeRestController::calculatePremium");
|
||||
|
||||
@ -3426,6 +3426,7 @@ class EmployeeRestController extends AdminController
|
||||
|
||||
$request = $this->request->getJSON(true);
|
||||
$mobile_no = $request['mobile_number'] ?? null;
|
||||
$email_id = $request['email_id'] ?? null;
|
||||
$client_short_name = $request['client_short_name'] ?? null;
|
||||
|
||||
log_message('error', 'STEP 2: Received input - ' . json_encode($request));
|
||||
@ -3434,12 +3435,16 @@ class EmployeeRestController extends AdminController
|
||||
$clientId = null;
|
||||
if (!empty($client_short_name)) {
|
||||
log_message('error', 'STEP 3: Looking up client with short_name: ' . $client_short_name);
|
||||
|
||||
$client_data = $this->clientModel
|
||||
->where('is_active', 1)
|
||||
->where('short_name', $client_short_name)
|
||||
->first();
|
||||
|
||||
if ($client_data) {
|
||||
// $sql = "SELECT * FROM clients WHERE is_active = 1 AND short_name = ? LIMIT 1";
|
||||
// $client_data = db_connect()->query($sql, [$client_short_name])->getRowArray();
|
||||
|
||||
if (!empty($client_data)) {
|
||||
$clientId = $client_data['id'];
|
||||
log_message('error', 'STEP 4: Found client ID: ' . $clientId);
|
||||
} else {
|
||||
@ -3450,8 +3455,8 @@ class EmployeeRestController extends AdminController
|
||||
}
|
||||
|
||||
// Step 5: Validate mobile number
|
||||
if (empty($mobile_no)) {
|
||||
log_message('error', 'STEP 5: Mobile number is empty or null. Returning 0.');
|
||||
if (empty($mobile_no) && empty($email_id)) {
|
||||
log_message('error', 'STEP 5: Mobile number and Email is empty or null. Returning 0.');
|
||||
return $this->respond(['data' => 0]);
|
||||
}
|
||||
|
||||
@ -3469,7 +3474,6 @@ class EmployeeRestController extends AdminController
|
||||
->where('cp.open_for_enrollment', 1)
|
||||
->where('cp.policy_status', 1)
|
||||
->whereIn('cp.policy_type_id', [1, 2, 6, 7])
|
||||
->where('employees.mobile', $mobile_no)
|
||||
->orderBy('employees.created_at', 'desc')
|
||||
->groupBy('employee_polices.client_policy_id');
|
||||
|
||||
@ -3480,6 +3484,16 @@ class EmployeeRestController extends AdminController
|
||||
log_message('error', 'STEP 7: No client ID filter applied.');
|
||||
}
|
||||
|
||||
if (!empty($mobile_no)) {
|
||||
$builder->where('employees.mobile', $mobile_no);
|
||||
log_message('error', 'STEP 7: Applied mobile_no filter: ' . $mobile_no);
|
||||
}
|
||||
|
||||
if (!empty($email_id)) {
|
||||
$builder->where('employees.email_corporate', $email_id);
|
||||
log_message('error', 'STEP 7: Applied email_id filter: ' . $email_id);
|
||||
}
|
||||
|
||||
$count = $builder->get()->getNumRows();
|
||||
log_message('error', 'STEP 8: Final policy count = ' . $count);
|
||||
|
||||
|
||||
@ -152,6 +152,11 @@ class RestAuthenticationController extends AdminController
|
||||
}
|
||||
|
||||
$otp = random_int(100000, 999999);
|
||||
if($mobile_number == '9442741776')
|
||||
{
|
||||
$otp = '123456';
|
||||
$this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithMobileNumber: setting 123456 for IOS APP TESTING = " . json_encode($employeeData));
|
||||
}
|
||||
|
||||
$this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithMobileNumber: Final employee data to verify = " . json_encode($employeeData));
|
||||
|
||||
@ -192,7 +197,14 @@ class RestAuthenticationController extends AdminController
|
||||
$this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithMobileNumber: Calling callThirdPartyAPI for updateEmpOTP");
|
||||
}
|
||||
|
||||
|
||||
//skip sms for live test no
|
||||
if($mobile_number == '9442741776')
|
||||
{
|
||||
|
||||
$this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyEmployeeWithMobileNumber: skip SMS sent for IOS APP TESTING = " . ($mobile_number));
|
||||
$result = ['user_verification' => true ,'message' => "Verified Successfully" ];
|
||||
return $this->respond(['status' => 'success','code' => 200,'data' => $result],200);
|
||||
}
|
||||
//send sms
|
||||
$SMSResult = sendOtpSms($mobile_number, $otp);
|
||||
if ($SMSResult['status'] == 'success')
|
||||
@ -1300,4 +1312,125 @@ class RestAuthenticationController extends AdminController
|
||||
|
||||
}
|
||||
|
||||
// -------------- EMP MOBILE NUMBER UPDATE API'S -------------------------------------------------------------------------------------------------------------
|
||||
|
||||
public function updateMobileNumber()
|
||||
{
|
||||
log_message('error', ' ');
|
||||
log_message('error', ' ************************************* UPDATE MOBILE START **************************************** ');
|
||||
log_message('error', ' ');
|
||||
$this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Function called");
|
||||
$this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Received payload = " . json_encode($this->request->getJSON() ?? []));
|
||||
|
||||
try {
|
||||
|
||||
$payload = $this->request->getJSON(true);
|
||||
|
||||
$email_id = $payload['email_id'] ?? null;
|
||||
$new_mobile = $payload['new_mobile_number'] ?? null;
|
||||
|
||||
if (empty($email_id) || empty($new_mobile)) {
|
||||
return $this->respond([
|
||||
'status' => 'failed',
|
||||
'code' => 400,
|
||||
'message' => 'Email ID and new mobile number are required'
|
||||
], 400);
|
||||
}
|
||||
|
||||
$empdata = RestAuthHelper::getPreAndPostDataByEmailOrMobile(['email_id' => $email_id]);
|
||||
// print_r($empdata); die;
|
||||
|
||||
if(empty($empdata)){
|
||||
$this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: No employee data found both PRE & POST");
|
||||
log_message('error', ' ');
|
||||
log_message('error', '************************ PRE END ********************************');
|
||||
$result = ['user_verification' => false , 'message' => "User not found"];
|
||||
return $this->respond(['status' => 'failed','code' => 404,'data' => $result],200);
|
||||
}
|
||||
|
||||
$employeeData = [];
|
||||
if (isset($empdata['pre']) && !empty($empdata['pre'])) {
|
||||
$employeeData = $empdata['pre'];
|
||||
$this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Using PRE data");
|
||||
}
|
||||
|
||||
if (isset($employeeData['employee_id']))
|
||||
{
|
||||
// Update mobile number
|
||||
$updated = $this->employeeModel->update($employeeData['employee_id'], [
|
||||
'mobile' => $new_mobile,
|
||||
]);
|
||||
|
||||
if ($updated) {
|
||||
|
||||
$this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Mobile number updated successfully");
|
||||
log_message('error', ' ');
|
||||
log_message('error', ' ************************************* UPDATE MOBILE END **************************************** ');
|
||||
log_message('error', ' ');
|
||||
|
||||
//If post-enrollment data exist update the same mobile number from pre-enrollment.
|
||||
if (isset($empdata['post']['client_id']) && !empty($empdata['post']['client_id'])) {
|
||||
|
||||
$payload['client_id'] = $empdata['post']['client_id'];
|
||||
$payload['employee_id'] = $empdata['post']['employee_id'];
|
||||
$this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Client_id and employee_id from POST data to update the Mobile number");
|
||||
|
||||
$this->callThirdPartyAPI($payload, 'updateMobileNumber');
|
||||
$this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Calling callThirdPartyAPI for updateMobileNumber");
|
||||
}
|
||||
|
||||
return $this->respond([
|
||||
'status' => 'success',
|
||||
'code' => 200,
|
||||
'message' => 'Mobile number updated successfully',
|
||||
], 200);
|
||||
|
||||
} else {
|
||||
$this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Failed to update mobile number");
|
||||
return $this->respond([
|
||||
'status' => 'failed',
|
||||
'code' => 500,
|
||||
'message' => 'Failed to update mobile number'
|
||||
], 500);
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
$this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Employee not found with email in the PRE DATABASE, falling back to third-party API");
|
||||
|
||||
// Call the third-party API function
|
||||
if (!empty($empdata['post']['client_id'])) {
|
||||
$payload->client_id = $empdata['post']['client_id'];
|
||||
}
|
||||
return $this->callThirdPartyAPI($payload, 'updateMobileNumber');
|
||||
log_message('error', ' ');
|
||||
log_message('error', '************************ PRE END ********************************');
|
||||
|
||||
}
|
||||
|
||||
} catch (\Throwable $th) {
|
||||
$this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Exception: " . $th->getMessage());
|
||||
log_message('error', ' ');
|
||||
log_message('error', ' ************************************* UPDATE MOBILE END **************************************** ');
|
||||
log_message('error', ' ');
|
||||
|
||||
$errorData = [
|
||||
'message' => $th->getMessage(),
|
||||
'file' => $th->getFile(),
|
||||
'line' => $th->getLine(),
|
||||
'code' => $th->getCode(),
|
||||
'trace' => $th->getTraceAsString(),
|
||||
'trace_array' => $th->getTrace(), // full array version (optional)
|
||||
'function' => $th->getTrace()[0]['function'] ?? null,
|
||||
'class' => $th->getTrace()[0]['class'] ?? null,
|
||||
];
|
||||
|
||||
return $this->respond([
|
||||
'status' => 'failed',
|
||||
'code' => 500,
|
||||
'message' => 'Exception occurred',
|
||||
'error_data' => $errorData
|
||||
], 500);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -979,6 +979,7 @@ if (!function_exists('calculate_premium_new'))
|
||||
|
||||
//4. if macthed then the current rack rate is applicable and find common variables link max age,max count,grade, basic pay,SI, self/acting self for current rack rate
|
||||
|
||||
// log_message('error', 'CALCULATION_MEMBER_PREMIUM_FAMIL_DATA ' . json_encode($family_data));
|
||||
foreach($family_data as $fkey => $member)
|
||||
{
|
||||
// dd($member);
|
||||
@ -992,6 +993,13 @@ if (!function_exists('calculate_premium_new'))
|
||||
$member[6] = $family_data[0][6];
|
||||
$member[10] = $family_data[0][10];
|
||||
$member[18] = $family_data[0][18];
|
||||
|
||||
// If the member's date of coverage is empty, then use the self’s date of coverage
|
||||
if(empty($member[7])){
|
||||
$member[7] = $family_data[0][7];
|
||||
}
|
||||
|
||||
// log_message('error', 'CALCULATION_MEMBER_PREMIUM ' . json_encode($member));
|
||||
//set default unit if unit is not available in self/members level
|
||||
if(empty($member[18])){ $member[18] = $existing_units[0]; }
|
||||
//transform as db row column
|
||||
|
||||
@ -256,7 +256,8 @@ class sendMailNotification
|
||||
$policy_name = $inner_item['policy_name'];
|
||||
|
||||
if ($inner_item['relationship'] == 'Self') {
|
||||
$emp_code = '(' . $inner_item['emp_code'] . ')';
|
||||
// $emp_code = '(' . $inner_item['emp_code'] . ')';
|
||||
$emp_code = ' ( Employee Code : ' . $inner_item['emp_code'] . ')';
|
||||
$mail = $inner_item['email_corporate'];
|
||||
$name = $inner_item['name'];
|
||||
$employee_mobile_no = $inner_item['mobile'];
|
||||
@ -549,7 +550,7 @@ class sendMailNotification
|
||||
// dd($payable_employee_array, $Addon_list);
|
||||
// print_r($table_content); die;
|
||||
|
||||
$mail_content = str_replace(["[[member_name]]", "{{member_name}}"], $name . ' (' . $emp_code . ')', $mail_content);
|
||||
$mail_content = str_replace(["[[member_name]]", "{{member_name}}"], $name . $emp_code, $mail_content);
|
||||
$mail_content = str_replace(["[[member_mobile]]", "{{member_mobile}}"], $employee_mobile_no, $mail_content);
|
||||
$mail_content = str_replace(["[[member_summary]]", "{{member_summary}}"], $table_content, $mail_content);
|
||||
|
||||
@ -647,7 +648,8 @@ class sendMailNotification
|
||||
$policy_name = $inner_item['policy_name'];
|
||||
|
||||
if ($inner_item['relationship'] == 'Self') {
|
||||
$emp_code = ' (' . $inner_item['emp_code'] . ')';
|
||||
// $emp_code = ' (' . $inner_item['emp_code'] . ')';
|
||||
$emp_code = ' ( Employee Code : ' . $inner_item['emp_code'] . ')';
|
||||
} else {
|
||||
$emp_code = '';
|
||||
}
|
||||
@ -1406,7 +1408,8 @@ class sendMailNotification
|
||||
$policy_name = $array_list['policy_name'];
|
||||
|
||||
if ($array_list['relationship'] == 'Self') {
|
||||
$emp_code = ' (' . $array_list['emp_code'] . ')';
|
||||
// $emp_code = ' (' . $array_list['emp_code'] . ')';
|
||||
$emp_code = ' ( Employee Code : ' . $array_list['emp_code'] . ')';
|
||||
} else {
|
||||
$emp_code = '';
|
||||
}
|
||||
@ -1496,7 +1499,7 @@ class sendMailNotification
|
||||
}
|
||||
}
|
||||
|
||||
$mail_content = str_replace(["[[member_name]]", "{{member_name}}"], $name . ' (' . $emp_code . ')', $mail_content);
|
||||
$mail_content = str_replace(["[[member_name]]", "{{member_name}}"], $name . $emp_code, $mail_content);
|
||||
$mail_content = str_replace(["[[member_mobile]]", "{{member_mobile}}"], $mobile, $mail_content);
|
||||
$mail_content = str_replace(["[[member_summary]]", "{{member_summary}}"], $table_content, $mail_content);
|
||||
|
||||
@ -1562,7 +1565,8 @@ class sendMailNotification
|
||||
$policy_name = $array_list['policy_name'];
|
||||
|
||||
if ($array_list['relationship'] == 'Self') {
|
||||
$emp_code = ' (' . $array_list['emp_code'] . ')';
|
||||
// $emp_code = ' (' . $array_list['emp_code'] . ')';
|
||||
$emp_code = ' ( Employee Code : ' . $array_list['emp_code'] . ')';
|
||||
} else {
|
||||
$emp_code = '';
|
||||
}
|
||||
@ -1652,7 +1656,7 @@ class sendMailNotification
|
||||
}
|
||||
}
|
||||
|
||||
$mail_content = str_replace(["[[member_name]]", "{{member_name}}"], $name . ' (' . $emp_code . ')', $mail_content);
|
||||
$mail_content = str_replace(["[[member_name]]", "{{member_name}}"], $name . $emp_code, $mail_content);
|
||||
$mail_content = str_replace(["[[member_summary]]", "{{member_summary}}"], $table_content, $mail_content);
|
||||
|
||||
|
||||
@ -1809,7 +1813,7 @@ class sendMailNotification
|
||||
}
|
||||
}
|
||||
|
||||
$mail_content = str_replace(["[[member_name]]", "{{member_name}}"], $name . ' (' . $emp_code . ')', $mail_content);
|
||||
$mail_content = str_replace(["[[member_name]]", "{{member_name}}"], $name . $emp_code, $mail_content);
|
||||
$mail_content = str_replace(["[[member_summary]]", "{{member_summary}}"], $table_content, $mail_content);
|
||||
|
||||
|
||||
|
||||
@ -170,6 +170,7 @@ class EmployeeModel extends Model
|
||||
->join('client_policy', 'client_policy.id = employee_polices.client_policy_id')
|
||||
->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
|
||||
->where('client_policy.policy_status', 1)
|
||||
->where('client_policy.enrolment_visibility', 1)
|
||||
->where('employee_polices.status !=', 'truncated')
|
||||
->where('employee_polices.is_active', 1)
|
||||
->where('employee_polices.employee_id', $id)
|
||||
|
||||
@ -85,8 +85,8 @@
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons/js/buttons.print.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-keytable/js/dataTables.keyTable.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-select/js/dataTables.select.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/pdfmake/build/pdfmake.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/pdfmake/build/vfs_fonts.js"></script>
|
||||
<!-- <script src="<?= base_url() . "public"; ?>/assets/libs/pdfmake/build/pdfmake.min.js"></script> -->
|
||||
<!-- <script src="<?= base_url() . "public"; ?>/assets/libs/pdfmake/build/vfs_fonts.js"></script> -->
|
||||
<!-- third party js ends -->
|
||||
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/bootstrap-datepicker/js/bootstrap-datepicker.min.js"></script>
|
||||
|
||||
@ -62,9 +62,9 @@
|
||||
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.3/dist/umd/popper.min.js"></script>
|
||||
|
||||
<link rel="manifest" href="../manifest.json">
|
||||
<!-- <link rel="manifest" href="../manifest.json"> -->
|
||||
|
||||
<script>
|
||||
<!-- <script>
|
||||
if ('serviceWorker' in navigator) {
|
||||
window.addEventListener('load', function() {
|
||||
navigator.serviceWorker.register('../service-worker.js').then(function(registration) {
|
||||
@ -74,7 +74,7 @@
|
||||
});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</script> -->
|
||||
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.min.css" />
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user