MERGE_LIVE_LIVE_ISSUES
This commit is contained in:
commit
d86cc0ce23
@ -430,6 +430,8 @@ $routes->post("/employeeRest/getVerifiedUserData", "RestAuthenticationController
|
||||
$routes->post("/employeeRest/verifyMpin", "RestAuthenticationController::verifyMpin");
|
||||
$routes->post("/employeeRest/checkMpin", "RestAuthenticationController::checkMpin");
|
||||
$routes->post("/employeeRest/verifyEmployeeEmailId", "RestAuthenticationController::verifyEmployeeWithEmailId");
|
||||
// $routes->post("/employeeRest/saveMpin", "RestAuthenticationController::saveMpin");
|
||||
|
||||
|
||||
//HR login api's
|
||||
$routes->post("/employeeRest/verifyHrWithMobileNumber", "RestAuthenticationController::verifyHrWithMobileNumber");
|
||||
@ -440,13 +442,18 @@ $routes->group("/api", ["filter" => "authJWT"], function ($routes) {
|
||||
$routes->post("getId", "RestAuthenticationController::getUserIdFromToken");
|
||||
});
|
||||
|
||||
$routes->post("employeeRest/saveMpin", "RestAuthenticationController::saveMpin");
|
||||
$routes->post("employeeRest/updateMpin", "RestAuthenticationController::updateMpin");
|
||||
|
||||
// $routes->post("employeeRest/createOrUpdateEmployeePolicySiAmount", "EmployeeRestController::createOrUpdateEmployeePolicySiAmount");
|
||||
// $routes->post("employeeRest/calculatePremium", "EmployeeRestController::calculatePremium");
|
||||
|
||||
$routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) {
|
||||
|
||||
$routes->post("getVerifiedUserData", "RestAuthenticationController::getVerifiedUserData");
|
||||
// $routes->post("getVerifiedUserData", "RestAuthenticationController::getVerifiedUserData");
|
||||
|
||||
$routes->post("storeFireBase", "EmployeeRestController::storeFireBase");
|
||||
$routes->post("saveMpin", "RestAuthenticationController::saveMpin");
|
||||
$routes->post("updateMpin", "RestAuthenticationController::updateMpin");
|
||||
// $routes->post("updateMpin", "RestAuthenticationController::updateMpin");
|
||||
$routes->post("getChatResponse", "ChatBotController::getChatResponse");
|
||||
$routes->get("getEmployeeProfile", "EmployeeRestController::getEmployeeProfile");
|
||||
|
||||
@ -486,6 +493,9 @@ $routes->post("sendEmail", "EmployeeRestController::send_email");
|
||||
|
||||
$routes->get("getBackToEnrolledDetails", "EmployeeRestController::getBackToEnrolledDetails");
|
||||
|
||||
// Ticketing System
|
||||
//crone job
|
||||
$routes->cli('cli/enrollOpendAndClose', 'DashboardController::updatePolicyEnrollmentStatus');
|
||||
$routes->cli("cli/sendCroneRemainderMail", "DashboardController::sendCroneRemainderMail");
|
||||
|
||||
// Ticketing System End's
|
||||
$routes->get('enrollOpendAndClose', 'DashboardController::updatePolicyEnrollmentStatus');
|
||||
$routes->get("sendCroneRemainderMail", "DashboardController::sendCroneRemainderMail");
|
||||
|
||||
@ -201,12 +201,15 @@ class DashboardController extends AdminController
|
||||
return $this->respond(['status' => 'success']);
|
||||
}
|
||||
|
||||
//--------------- FOR CRONE JOB -----------------------------------------------------------------------------------------
|
||||
|
||||
public function updatePolicyEnrollmentStatus()
|
||||
{
|
||||
$clientPolicyModel = new ClientPolicyModel();
|
||||
$myLogger = \Config\Services::mylogger();
|
||||
|
||||
|
||||
$myLogger->logme('error', 'update Policy Enrollment Status Function called');
|
||||
$myLogger->logme('error', 'OPEN OR CLOSE FOR ENROLLMENT UPDATE START TIME {{ ' . date('d-m-Y H:i:s a') . ' }}');
|
||||
$client_policy_data = $clientPolicyModel->getPolicyDetailsForEnrollment();
|
||||
$myLogger->logme('error', 'Fetched client policy data for Enrollment Status update');
|
||||
|
||||
@ -226,17 +229,29 @@ class DashboardController extends AdminController
|
||||
if ($currentDate == $openDate) {
|
||||
$clientPolicyModel->update($id, ['open_for_enrollment' => 1]);
|
||||
$openEnrollment[] = $id;
|
||||
$myLogger->logme('error', 'Updated policy ID ' . $id . ' to open for enrollment.');
|
||||
// $myLogger->logme('error', 'Updated policy ID ' . $id . ' to open for enrollment.');
|
||||
}
|
||||
|
||||
if ($closeDate < $currentDate) {
|
||||
$clientPolicyModel->update($id, ['open_for_enrollment' => 0]);
|
||||
$closeEnrollment[] = $id;
|
||||
$myLogger->logme('error', 'Updated policy ID ' . $id . ' to close for enrollment.');
|
||||
// $myLogger->logme('error', 'Updated policy ID ' . $id . ' to close for enrollment.');
|
||||
}
|
||||
}
|
||||
|
||||
$myLogger->logme('error', 'enrollment_status function completed');
|
||||
$this->myLogger->logme('info', 'Policy Enrollment Status Update: ' . json_encode([
|
||||
'status' => true,
|
||||
'message' => 'Updated Policy Enrollment Status',
|
||||
'open_policy_count' => count($openEnrollment),
|
||||
'close_policy_count' => count($closeEnrollment),
|
||||
'open_policy_ids' => $openEnrollment,
|
||||
'close_policy_ids' => $closeEnrollment,
|
||||
], JSON_PRETTY_PRINT));
|
||||
|
||||
|
||||
$myLogger->logme('error', 'update Policy Enrollment Status Function completed');
|
||||
$myLogger->logme('error', 'OPEN OR CLOSE FOR ENROLLMENT UPDATE END TIME {{ ' . date('d-m-Y H:i:s a') . ' }}');
|
||||
|
||||
return $this->respond([
|
||||
'status' => true,
|
||||
'message' => 'updated Policy Enrollment Status',
|
||||
@ -252,7 +267,9 @@ class DashboardController extends AdminController
|
||||
{
|
||||
$clientPolicyModel = new ClientPolicyModel();
|
||||
$myLogger = \Config\Services::mylogger();
|
||||
|
||||
|
||||
$myLogger->logme('error', 'SEND REMINDER MAIL FUNCTION START TIME {{ ' . date('d-m-Y H:i:s a') . ' }}');
|
||||
|
||||
|
||||
$client_policy_data = $clientPolicyModel->getPolicyDetailsForRemainder();
|
||||
$myLogger->logme('error', 'Fetched client policy data');
|
||||
@ -262,6 +279,8 @@ class DashboardController extends AdminController
|
||||
$result = $this->sendRemainderMail($client_policy_data, 'crone');
|
||||
|
||||
$myLogger->logme('error', 'sendCroneRemainderMail function completed');
|
||||
$myLogger->logme('error', 'SEND REMINDER MAIL FUNCTION END TIME {{ ' . date('d-m-Y H:i:s a') . ' }}');
|
||||
|
||||
|
||||
if($result){
|
||||
return json_encode(['status' => true, 'message' => 'Mail send successfully']);
|
||||
@ -270,6 +289,9 @@ class DashboardController extends AdminController
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
public function featch_dashboard_data($type)
|
||||
{
|
||||
$pendingActionsController = new PendingActionsController;
|
||||
@ -308,7 +330,7 @@ class DashboardController extends AdminController
|
||||
|
||||
public function sendRemainderMail($client_policy_data, $send_mail_for_manual_or_crone = null)
|
||||
{
|
||||
// $this->myLogger->logme('error', 'sendRemainderMail function called');
|
||||
$this->myLogger->logme('error', 'send Remainder Mail function called');
|
||||
|
||||
// dd($client_policy_data, $send_mail_for_manual_or_crone);
|
||||
|
||||
@ -508,7 +530,7 @@ class DashboardController extends AdminController
|
||||
}
|
||||
|
||||
} else {
|
||||
$this->myLogger->logme('error', "SEND REMAINDER CRONE --- Remainder date is empty()");
|
||||
$this->myLogger->logme('error', "send Remainder crone --- Remainder date is empty()");
|
||||
}
|
||||
}
|
||||
|
||||
@ -519,24 +541,37 @@ class DashboardController extends AdminController
|
||||
}
|
||||
}
|
||||
|
||||
// dd($reminder_whole_mail);
|
||||
// dd($reminder_whole_mail, count($reminder_whole_mail));
|
||||
// print_rr($reminder_whole_mail); die;
|
||||
|
||||
// Process and queue bulk emails
|
||||
if (!empty($reminder_whole_mail) && count($reminder_whole_mail) > 0) {
|
||||
|
||||
$this->myLogger->logme('error', 'Remainder mail count: ' . count($reminder_whole_mail));
|
||||
$reminder_whole_mail = array_chunk($reminder_whole_mail, 20);
|
||||
foreach ($reminder_whole_mail as $key => $value) {
|
||||
// $job_details = new Jobs();
|
||||
$r = Jobs::addJob(['job_name' => 'bulk_mail', 'payload' => $value]);
|
||||
$this->myLogger->logme('error', 'Bulk mail upload jobs completed successfully. Total: ' . count($value));
|
||||
}
|
||||
|
||||
$this->myLogger->logme('error', 'Remainder mails sent successfully');
|
||||
|
||||
}else{
|
||||
$this->myLogger->logme('error', "No reminder mail sent.");
|
||||
}
|
||||
|
||||
if (count($reminder_whole_mail) > 0) {
|
||||
$this->myLogger->logme('error', 'send Remainder Mail function completed');
|
||||
|
||||
// dd($reminder_whole_mail);
|
||||
|
||||
$mailCount = count($reminder_whole_mail);
|
||||
if ($mailCount > 0) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function sendManualReminder($client_id, $client_branch_id, $client_policy_id = null)
|
||||
|
||||
@ -105,7 +105,7 @@ class EmployeeController extends AdminController
|
||||
|
||||
// Convert the status field to an array if it exists in the request data
|
||||
if (isset($filterData['status']) && !empty($filterData['status'])) {
|
||||
$filterData['status'] = explode(",", $filterData['status']);
|
||||
// $filterData['status'] = explode(",", $filterData['status']);
|
||||
}else{
|
||||
$filterData['status'] = [];
|
||||
}
|
||||
|
||||
@ -227,6 +227,8 @@ class EmployeeRestController extends AdminController
|
||||
try {
|
||||
$data = $this->request->getJSON();
|
||||
|
||||
// dd($data);
|
||||
|
||||
$openForEnrollment = $this->findThePolicyIsOpenForEnrollment($data[0]->client_policy_id);
|
||||
if($openForEnrollment == false){ return $this->respond(['status' => 'failed','code' => 404,'data' => 'Enrollment closed'], 404); }
|
||||
|
||||
@ -252,7 +254,7 @@ class EmployeeRestController extends AdminController
|
||||
$item->gender = $this->GenderMap($item->relationship , $item->emp_code);
|
||||
$item->dob = $this->convertDateFormatYMD($item->dob);
|
||||
$item->emp_status = 'draft';
|
||||
|
||||
// dd($item);
|
||||
$employee = $this->employeeModel->insert($item);
|
||||
|
||||
if ($employee) {
|
||||
@ -348,6 +350,7 @@ class EmployeeRestController extends AdminController
|
||||
$data['status']= 'draft';
|
||||
$data['date_coverage'] = $this->getEmployeeCoverageDate($emp_code, $client_policy_id);
|
||||
|
||||
// dd($data);
|
||||
$this->employeePolicyModel->insert($data);
|
||||
|
||||
}
|
||||
@ -513,6 +516,9 @@ class EmployeeRestController extends AdminController
|
||||
|
||||
$requestData = $this->request->getJSON();
|
||||
|
||||
// print_r($requestData);
|
||||
// dd($requestData);
|
||||
|
||||
$openForEnrollment = $this->findThePolicyIsOpenForEnrollment($requestData[0]->client_policy_id);
|
||||
if($openForEnrollment == false){ return $this->respond(['status' => 'failed','code' => 404,'data' => 'Enrollment closed'], 404); }
|
||||
|
||||
@ -524,7 +530,7 @@ class EmployeeRestController extends AdminController
|
||||
->where('is_active', 1 )
|
||||
->findAll();
|
||||
|
||||
|
||||
// dd($checkIfExist);
|
||||
if ($checkIfExist) {
|
||||
|
||||
$empPolicy = $this->employeePolicyModel->updateSiAndPremium($value->client_policy_id, $value->employee_id, $value->basic_cover_si);
|
||||
@ -2254,7 +2260,7 @@ class EmployeeRestController extends AdminController
|
||||
// print_r($slab_details);die();
|
||||
|
||||
$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']);
|
||||
// kint::dump($existing_famility_details);
|
||||
// kint::dump($existing_famility_decalculatePremiumtails);
|
||||
|
||||
//get the Auto SI amount
|
||||
$auto_si_data = update_si_with_auto_si($client_id, $client_policy_id, $emp_code, $client_branch_id, $existing_famility_details);
|
||||
@ -2274,8 +2280,8 @@ class EmployeeRestController extends AdminController
|
||||
{
|
||||
//get basepolicy id then pull emplist from base policy if only current policy is DA addon policy and emplist is zero
|
||||
// echo 'inside';
|
||||
$client_policy_id = $base_policy;
|
||||
$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']);
|
||||
// $client_policy_id = $base_policy;
|
||||
$existing_famility_details = $this->employeeModel->getEmpFamilybyEmpCode(client_id: $client_id,client_policy_id: $base_policy,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'];
|
||||
@ -2292,10 +2298,32 @@ class EmployeeRestController extends AdminController
|
||||
$transformed_famility_details = transform_db_data_to_excel($family);
|
||||
|
||||
$data = calculate_premium_new(family_data: $transformed_famility_details,policy_terms:$policy_terms,slab_details:$slab_details,fileArr: $file,existing_units: $existing_units,default_si : $default_si);
|
||||
|
||||
// print_r($data);
|
||||
$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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
// die();
|
||||
if($clientPolicyId != null && $empCode != null)
|
||||
{ // dd ($employee_data_group_by_family);
|
||||
return $employee_data_group_by_family;
|
||||
|
||||
@ -28,6 +28,9 @@ use App\Controllers\JobWorker ;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use Kint\Kint;
|
||||
|
||||
use App\Helpers\ExcelSanitizeHelper;
|
||||
|
||||
|
||||
class EmployeeServiceController extends AdminController
|
||||
{
|
||||
|
||||
@ -1656,6 +1659,8 @@ class EmployeeServiceController extends AdminController
|
||||
// $this->myLogger->logme('error',('Insert - ' . $value['emp_code'] .' - '. $value['name']));
|
||||
// echo 'update emp';
|
||||
}
|
||||
$value = ExcelSanitizeHelper::sanitizeArrayData($value);
|
||||
|
||||
$this->employeeModel->save($value);
|
||||
if (isset($value['id'])) {
|
||||
$emp_id = $value['id'];
|
||||
@ -2077,6 +2082,7 @@ public function getFileMetaDataByFileId($file_id, $status = 'success'){
|
||||
$value['created_by'] = $file['created_by'];
|
||||
$log_message = 'Enrollment Insert Employee- '.$value['name'] .'('.$value['emp_code'] .') with PK ';
|
||||
}
|
||||
$value = ExcelSanitizeHelper::sanitizeArrayData($value);
|
||||
|
||||
$this->employeeModel->save($value);
|
||||
if (isset($value['id']))
|
||||
|
||||
@ -1662,6 +1662,9 @@ class MasterController extends AdminController
|
||||
}
|
||||
|
||||
public function testZeptoSMTP() {
|
||||
|
||||
echo "Inside the testZeptoSMTP function";
|
||||
|
||||
$message = '<style>body{font-family:Arial,sans-serif;color:#333;line-height:1.6;margin:0;padding:0}.email-container{width:100%;max-width:600px;margin:0 auto;padding:20px;border:1px solid #e0e0e0;background-color:#f9f9f9}.header{background-color:#4a90e2;color:#fff;padding:15px;text-align:center}.header h1{margin:0;font-size:24px}.content{padding:20px;background-color:#fff}.content h2{color:#4a90e2;font-size:20px;margin-top:0}.content p{margin:10px 0}.details-table{width:100%;border-collapse:collapse;margin-top:20px}.details-table td,.details-table th{border:1px solid #ddd;padding:10px;text-align:left}.details-table th{background-color:#f2f2f2}.footer{margin-top:20px;font-size:12px;color:#777;text-align:center}.attachment-note{margin-top:20px;padding:10px;background-color:#f7f7f7;border-left:4px solid #4a90e2;font-style:italic}</style><div class=email-container><div class=header><h1>Request for Quotation (RFQ)</h1></div><div class=content><h2>Dear {{RECIPIENT_NAME}},</h2><p>We are reaching out to request a quotation for the following insurance coverage. Please review the details below and provide your quote at your earliest convenience.<h2>RFQ Details</h2><table class=details-table><tr><th>Client name<td>{{CLIENT_NAME}}<tr><th>Coverage Type<td>{{POLICY_LONG_NAME}}<tr><th>Policy Start Date<td>{{POLICY_START_DATE}}<tr><th>Policy Duration<td>{{DURATION}}</table><div class=attachment-note>Please note: Additional terms and details are included in the attachment for your reference.</div><p>Please feel free to reach out if you require any further information to prepare the quote. We look forward to receiving your proposal.<p>Best regards,<p><strong>Nhance India Pvt Ltd</strong><br></div><div class=footer><p>© Nhance India Pvt Ltd. All rights reserved.</div></div>';
|
||||
$attachments = [
|
||||
["filePath" => ROOTPATH."public/sample_excel/sample_addition.xls","fileName" => "sample_addition.xls"],
|
||||
@ -1670,9 +1673,14 @@ class MasterController extends AdminController
|
||||
];
|
||||
$email_id = 'srinivas.saravanan@venbainfotech.com';
|
||||
$common = ['mail_type'=>'test_mail_cli'];
|
||||
$bcc = 'venkateshraman786@gmail.com, srinivassaravanan2002@gmail.com, venkatesh.r@venbainfotech.com';
|
||||
$cc = 'gowtham.manavalan.la@gmail.com, venkatraj.office@gmail.com';
|
||||
|
||||
// print_r($bcc);die();
|
||||
|
||||
// Send email and get response
|
||||
$result = MailHelper::send_email(['mail' => $email_id, 'subject' => 'Mail Via CLI', 'message' => $message,'attachments' => $attachments,'common'=>$common]);
|
||||
|
||||
$result = MailHelper::send_email(['mail' => $email_id, 'subject' => 'Mail Via CLI', 'message' => $message, 'bcc'=>$bcc, 'cc'=>$cc, 'attachments' => $attachments,'common'=>$common]);
|
||||
print_r($result);
|
||||
|
||||
log_message('error',json_encode($result));
|
||||
// Format the response for display/debugging
|
||||
|
||||
@ -346,6 +346,7 @@ class RestAuthenticationController extends AdminController
|
||||
$id= $employeeData["id"];
|
||||
$updateMpin = $this->employeeModel->where('id', $id)->set('mpin', $mpin)->update();
|
||||
if($updateMpin){
|
||||
$this->callThirdPartyAPI($this->request->getJSON(), 'updateEmpMPIN');
|
||||
$result = ['user_verification' => true , 'message' => "Mpin Updated"];
|
||||
return $this->respond(['status' => 'success','code' => 200,'data' => $result],200);
|
||||
}else{
|
||||
@ -355,10 +356,10 @@ class RestAuthenticationController extends AdminController
|
||||
|
||||
|
||||
} else {
|
||||
$result = ['user_verification' => false , 'message' => "User not found"];
|
||||
return $this->respond(['status' => 'failed','code' => 404,'data' => $result],200);
|
||||
|
||||
return $this->callThirdPartyAPI($this->request->getJSON(), 'saveMpin');
|
||||
}
|
||||
|
||||
} catch (\Throwable $th) {
|
||||
return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500);
|
||||
}
|
||||
@ -386,6 +387,7 @@ class RestAuthenticationController extends AdminController
|
||||
$id= $employeeData["id"];
|
||||
$updateMpin = $this->employeeModel->where('id', $id)->set('mpin', $mpin)->update();
|
||||
if($updateMpin){
|
||||
$this->callThirdPartyAPI($this->request->getJSON(), 'updateEmpMPIN');
|
||||
$result = ['mpin_verification' => true , 'message' => "Mpin Updated"];
|
||||
return $this->respond(['status' => 'success','code' => 200,'data' => $result],200);
|
||||
}else{
|
||||
@ -395,8 +397,7 @@ class RestAuthenticationController extends AdminController
|
||||
|
||||
|
||||
} else {
|
||||
$result = ['mpin_verification' => false , 'message' => "Wrong Mpin"];
|
||||
return $this->respond(['status' => 'failed','code' => 404,'data' => $result],200);
|
||||
return $this->callThirdPartyAPI($this->request->getJSON(), 'updateMpin');
|
||||
|
||||
}
|
||||
} catch (\Throwable $th) {
|
||||
@ -412,39 +413,44 @@ class RestAuthenticationController extends AdminController
|
||||
$email_id = isset($this->request->getJSON()->email_id) ? $this->request->getJSON()->email_id : null;
|
||||
$mpin = $this->request->getJSON()->mpin;
|
||||
|
||||
if (isset($mobile_number))
|
||||
{
|
||||
if (isset($mobile_number)) {
|
||||
$employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->first();
|
||||
}else{
|
||||
} else {
|
||||
$employeeData = $this->employeeModel->where('email_corporate', $email_id)->where('relationship', 'self')->first();
|
||||
}
|
||||
|
||||
|
||||
if ($employeeData && $mpin == $employeeData["mpin"]) {
|
||||
$auth = HttpRequestHelper::getRequestInfo();
|
||||
if ($auth) {
|
||||
$data = [
|
||||
'user_id' => $employeeData['id'],
|
||||
'user_type' => 'employee',
|
||||
'ip' => $auth['ip'],
|
||||
'platform' => $auth['platform'],
|
||||
'broswer' => $auth['browser'],
|
||||
'user_id' => $employeeData['id'],
|
||||
'user_type' => 'employee',
|
||||
'ip' => $auth['ip'],
|
||||
'platform' => $auth['platform'],
|
||||
'broswer' => $auth['browser'],
|
||||
];
|
||||
|
||||
$authdata= $this->authHistoryModel->insert($data);
|
||||
|
||||
$authdata = $this->authHistoryModel->insert($data);
|
||||
}
|
||||
|
||||
$result = JWTToken::encode($employeeData);
|
||||
// Call the third-party API function
|
||||
$apiResponse = $this->callThirdPartyAPI($this->request->getJSON(),'verifyMpin');
|
||||
return $this->respond(['status' => 'success','code' => 200,'data' => $result , 'post_enrollment'=> json_decode($apiResponse, true)],200);
|
||||
$apiResponse = $this->callThirdPartyAPI($this->request->getJSON(), 'verifyMpin');
|
||||
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $result, 'post_enrollment' => json_decode($apiResponse, true)], 200);
|
||||
} else {
|
||||
|
||||
// Call the third-party API function
|
||||
$apiResponse = $this->callThirdPartyAPI($this->request->getJSON(),'getVerifiedUserData');
|
||||
return $this->respond(['status' => 'failed','code' => 404,'data' => "Invalid OTP", 'post_enrollment'=> json_decode($apiResponse, true)],200);
|
||||
|
||||
$apiResponse = $this->callThirdPartyAPI($this->request->getJSON(), 'verifyMpin');
|
||||
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => "Invalid OTP", 'post_enrollment' => json_decode($apiResponse, true)], 200);
|
||||
|
||||
//$apiResponse = $this->callThirdPartyAPI($this->request->getJSON(),'/getVerifiedUserData');
|
||||
// return $this->respond(['status' => 'failed','code' => 404,'data' => "Invalid OTP", 'post_enrollment'=> json_decode($apiResponse, true)],200);
|
||||
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()],500);
|
||||
return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $e->getMessage()], 500);
|
||||
return $this->respond(['status' => 'failed', 'code' => 200, 'post_enrollment' => json_decode($apiResponse, true)], 200);
|
||||
}
|
||||
}
|
||||
|
||||
@ -465,7 +471,9 @@ class RestAuthenticationController extends AdminController
|
||||
|
||||
return $this->respond(['status' => 'success','code' => 200,'data' => "Mpin - exist" , 'Mpin' =>$employeeData["mpin"]],200);
|
||||
} else {
|
||||
return $this->respond(['status' => 'failed','code' => 404,'data' => "Mpin - not found", 'Mpin' =>null],200);
|
||||
// return $this->respond(['status' => 'failed','code' => 404,'data' => "Mpin - not found", 'Mpin' =>null],200);
|
||||
return $this->callThirdPartyAPI($this->request->getJSON(), 'checkMpin');
|
||||
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()],500);
|
||||
|
||||
@ -318,33 +318,34 @@ class MailHelper
|
||||
'htmlbody' => $message
|
||||
];
|
||||
|
||||
|
||||
// Add CC recipients if provided
|
||||
if (!empty($cc)) {
|
||||
$postData['cc'] = [];
|
||||
// Handle both string and array inputs for CC
|
||||
$ccEmails = is_array($cc) ? $cc : [$cc];
|
||||
foreach ($ccEmails as $ccEmail) {
|
||||
$postData['cc'][] = [
|
||||
$ccList = explode(',', $cc);
|
||||
$ccList = array_map('trim', $ccList);
|
||||
$postData['cc'] = array_map(function ($email) {
|
||||
return [
|
||||
'email_address' => [
|
||||
'address' => $ccEmail
|
||||
'address' => $email
|
||||
]
|
||||
];
|
||||
}
|
||||
}, $ccList);
|
||||
}
|
||||
|
||||
// Add BCC recipients if provided
|
||||
|
||||
// Add BCC if present
|
||||
if (!empty($bcc)) {
|
||||
$postData['bcc'] = [];
|
||||
// Handle both string and array inputs for BCC
|
||||
$bccEmails = is_array($bcc) ? $bcc : [$bcc];
|
||||
foreach ($bccEmails as $bccEmail) {
|
||||
$postData['bcc'][] = [
|
||||
$bccList = explode(',', $bcc);
|
||||
$bccList = array_map('trim', $bccList);
|
||||
$postData['bcc'] = array_map(function ($email) {
|
||||
return [
|
||||
'email_address' => [
|
||||
'address' => $bccEmail
|
||||
'address' => $email
|
||||
]
|
||||
];
|
||||
}
|
||||
}, $bccList);
|
||||
}
|
||||
//
|
||||
|
||||
// Handle attachments
|
||||
if (!empty($attachments)) {
|
||||
|
||||
@ -112,10 +112,40 @@ class EmployeePolicyModel extends Model
|
||||
'emp.basic_pay',
|
||||
'emp.band as grade',
|
||||
'policy_type.policy_type',
|
||||
'policy_type.id as policy_type_id',
|
||||
'client_branch.branch_name as client_branch_name',
|
||||
'client_branch.branch_code as client_branch_code',
|
||||
'cp.policy_no',
|
||||
'cp.policy_type_id',
|
||||
|
||||
// Name audit trail
|
||||
'(SELECT old_value FROM auditing_history WHERE pk = emp.id AND field_name = "name" AND table_name = "employees" ORDER BY id ASC LIMIT 1) AS name_first_old',
|
||||
'(SELECT new_value FROM auditing_history WHERE pk = emp.id AND field_name = "name" AND table_name = "employees" ORDER BY id DESC LIMIT 1) AS name_last_new',
|
||||
|
||||
// DOB audit trail
|
||||
'(SELECT old_value FROM auditing_history WHERE pk = emp.id AND field_name = "dob" AND table_name = "employees" ORDER BY id ASC LIMIT 1) AS dob_first_old',
|
||||
'(SELECT new_value FROM auditing_history WHERE pk = emp.id AND field_name = "dob" AND table_name = "employees" ORDER BY id DESC LIMIT 1) AS dob_last_new',
|
||||
|
||||
// Gender audit trail
|
||||
'(SELECT old_value FROM auditing_history WHERE pk = emp.id AND field_name = "gender" AND table_name = "employees" ORDER BY id ASC LIMIT 1) AS gender_first_old',
|
||||
'(SELECT new_value FROM auditing_history WHERE pk = emp.id AND field_name = "gender" AND table_name = "employees" ORDER BY id DESC LIMIT 1) AS gender_last_new',
|
||||
|
||||
'(CASE
|
||||
WHEN emp.relationship = "Self"
|
||||
THEN (SELECT COUNT(id) FROM employees WHERE emp_code = emp.emp_code AND is_active = 0 AND emp_status != "truncated")
|
||||
ELSE NULL
|
||||
END) AS removed_count',
|
||||
|
||||
'(CASE
|
||||
WHEN emp.relationship != "Self" AND emp.created_at != (
|
||||
SELECT created_at
|
||||
FROM employees
|
||||
WHERE emp_code = emp.emp_code AND relationship = "Self" AND is_active = 1
|
||||
LIMIT 1
|
||||
)
|
||||
THEN "Newly Added"
|
||||
ELSE NULL
|
||||
END) AS newly_added',
|
||||
|
||||
])
|
||||
->join('employees emp', 'employee_polices.employee_id = emp.id')
|
||||
->join('client_policy cp', 'employee_polices.client_policy_id = cp.id') //cp - client policy
|
||||
@ -129,7 +159,9 @@ class EmployeePolicyModel extends Model
|
||||
->join('client_branch', 'emp.client_branch_id = client_branch.id') //cm - client master
|
||||
->orderBy('emp.emp_code', 'ASC')
|
||||
->orderBy('employee_polices.employee_id', 'ASC');
|
||||
// Conditionally add where clauses
|
||||
|
||||
|
||||
// Conditionally add where clauses
|
||||
if ($client_id != 0 && !empty($client_id)) {
|
||||
$result->where('emp.client_id', $client_id);
|
||||
}
|
||||
@ -187,6 +219,114 @@ class EmployeePolicyModel extends Model
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
// public function getEmployeePolicy($client_id = 0, $policy_id = 0, $status = [], $branch_id = 0, $emp_code = "", $emp_name = "")
|
||||
// {
|
||||
// // dd($status);
|
||||
|
||||
// $result = $this->select([
|
||||
// 'employee_polices.*',
|
||||
// 'policy_type.policy_type as policy_name',
|
||||
// 'im.short_name as insurer_short_name',
|
||||
// 'ib.branch_name as insurer_branch_name',
|
||||
// 'ib.branch_code as insurer_branch_code',
|
||||
// 'tpam.name as tpa_name',
|
||||
// 'tpam.short_name as tpa_short_name',
|
||||
// 'tpab.branch_code as tpa_branch_code',
|
||||
// 'cm.client_name',
|
||||
// 'cm.short_name as client_short_name',
|
||||
// // 'emp.id as employee_primary_id',
|
||||
// 'emp.relationship',
|
||||
// 'emp.relationship_code',
|
||||
// 'emp.change_event',
|
||||
// 'emp.emp_code',
|
||||
// 'emp.name',
|
||||
// 'emp.email_corporate',
|
||||
// 'emp.dob',
|
||||
// 'DATE_FORMAT(emp.dob, "%d/%m/%Y") AS formatted_dob',
|
||||
// 'emp.gender',
|
||||
// 'emp.emp_status',
|
||||
// 'emp.is_active as emp_is_active',
|
||||
// 'emp.mobile as mobile',
|
||||
// 'emp.doj',
|
||||
// 'emp.basic_pay',
|
||||
// 'emp.band as grade',
|
||||
// 'policy_type.policy_type',
|
||||
// 'policy_type.id as policy_type_id',
|
||||
// 'client_branch.branch_name as client_branch_name',
|
||||
// 'client_branch.branch_code as client_branch_code',
|
||||
// 'cp.policy_no',
|
||||
// ])
|
||||
// ->join('employees emp', 'employee_polices.employee_id = emp.id')
|
||||
// ->join('client_policy cp', 'employee_polices.client_policy_id = cp.id') //cp - client policy
|
||||
// ->join('policies pm', 'cp.policy_id = pm.id', 'left') //pm - policy master
|
||||
// ->join('policy_type', 'policy_type.id = cp.policy_type_id')
|
||||
// ->join('insurers im', 'cp.insurer_id = im.id') //im - insurer master
|
||||
// ->join('insurer_branch ib', 'cp.insurer_branch_id = ib.id') //ib - insurer branch
|
||||
// ->join('tpa tpam', 'cp.tpa_id = tpam.id', 'left') //tpam - tpa master
|
||||
// ->join('tpa_branch tpab', 'cp.tpa_branch_id = tpab.id', 'left') //tpab - tpa branch
|
||||
// ->join('clients cm', 'cp.client_id = cm.id') //cm - client master
|
||||
// ->join('client_branch', 'emp.client_branch_id = client_branch.id') //cm - client master
|
||||
// ->orderBy('emp.emp_code', 'ASC')
|
||||
// ->orderBy('employee_polices.employee_id', 'ASC');
|
||||
// // Conditionally add where clauses
|
||||
// if ($client_id != 0 && !empty($client_id)) {
|
||||
// $result->where('emp.client_id', $client_id);
|
||||
// }
|
||||
// if ($branch_id != 0 && !empty($branch_id)) {
|
||||
// $result->where('emp.client_branch_id', $branch_id);
|
||||
// }
|
||||
// if ($policy_id != 0 && !empty($policy_id)) {
|
||||
// $result->where('employee_polices.client_policy_id', $policy_id);
|
||||
// }
|
||||
|
||||
// if (is_array($status) && count($status) > 0) {
|
||||
|
||||
// $result->where('employee_polices.status !=', 'expired');
|
||||
|
||||
// if (in_array("active", $status)) {
|
||||
|
||||
// $result->where('employee_polices.tpa_id IS NOT NULL');
|
||||
// $result->where('employee_polices.uhid IS NOT NULL');
|
||||
// $result->whereIn('employee_polices.status', $status);
|
||||
// } elseif (in_array("pending", $status)) {
|
||||
|
||||
// $result->where('employee_polices.tpa_id IS NULL');
|
||||
// $result->where('employee_polices.uhid IS NULL');
|
||||
// $result->whereIn('employee_polices.status', array_merge($status, ['active']));
|
||||
// } else {
|
||||
|
||||
// $result->whereIn('employee_polices.status', $status);
|
||||
// }
|
||||
|
||||
// // if($status == 'active'){
|
||||
// // $result->where('employee_polices.tpa_id IS NOT NULL');
|
||||
// // $result->where('employee_polices.uhid IS NOT NULL');
|
||||
// // }else if($status == 'pending'){
|
||||
// // $status = 'active';
|
||||
// // $result->where('employee_polices.status', $status);
|
||||
// // }else{
|
||||
// // $result->where('employee_polices.status', $status);
|
||||
// // }
|
||||
// }
|
||||
|
||||
// if (!empty($emp_code)) {
|
||||
// $result->where('emp.emp_code', $emp_code);
|
||||
// }
|
||||
// if (!empty($emp_name)) {
|
||||
// $result->like('emp.name', $emp_name);
|
||||
// }
|
||||
|
||||
// // Always check these conditions
|
||||
// $result->where('employee_polices.is_active', 1)
|
||||
// ->where('emp.is_active', 1);
|
||||
|
||||
// $res = $result->findAll();
|
||||
|
||||
// // dd($this->db->getLastQuery());
|
||||
|
||||
// return $res;
|
||||
// }
|
||||
|
||||
public function getEmployeePolicyForEcard($policy_id = 0)
|
||||
{
|
||||
|
||||
@ -117,6 +117,7 @@
|
||||
(₹)Pro Rata <br> Premium</th>
|
||||
<th class="font-weight-medium" id="gst" data-toggle="tooltip" data-placement="top">(₹)GST
|
||||
</th>
|
||||
<th class="font-weight-medium">Remarks</th>
|
||||
<th class="font-weight-medium"> Action </th>
|
||||
</tr>
|
||||
</thead>
|
||||
@ -179,6 +180,28 @@
|
||||
</td>
|
||||
<td><?php $gst_total += $employee['gst']; echo format_indian_number($employee['gst']); ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php
|
||||
if(!empty($employee['name_first_old']) ){
|
||||
echo "<p> Name : " . $employee['name_first_old'] . ' => ' . $employee['name_last_new'] . "</p>";
|
||||
}
|
||||
if(!empty($employee['dob_first_old'])){
|
||||
echo "<p> DOB : " . change_date_format($employee['dob_first_old'], null, 'd/m/Y') . ' => ' . change_date_format($employee['dob_last_new'], null, 'd/m/Y') . "</p>";
|
||||
}
|
||||
if(!empty($employee['gender_first_old'])){
|
||||
echo "<p> Gender : " . $employee['gender_first_old'] . ' => ' . $employee['gender_last_new'] . "</p>";
|
||||
}
|
||||
if(!empty($employee['newly_added'])){
|
||||
echo "<p>" . $employee['newly_added'] . "</p>";
|
||||
}
|
||||
if(!empty($employee['removed_count'])){
|
||||
echo "<p>" . $employee['removed_count'] . " People removed </p>";
|
||||
}
|
||||
if(empty($employee['name_first_old']) && empty($employee['dob_first_old']) && empty($employee['gender_first_old']) && empty($employee['removed_count'] ) && empty($employee['newly_added'] )){
|
||||
echo " - ";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
<td>
|
||||
<div class="btn-group dropdown">
|
||||
<a href="javascript: void(0);"
|
||||
@ -360,21 +383,52 @@ $(document).ready(function() {
|
||||
$(document).ready(function() {
|
||||
var ticketsTable = $('#tickets-table');
|
||||
|
||||
if (ticketsTable.length) {
|
||||
if (ticketsTable.length) {
|
||||
ticketsTable.DataTable({
|
||||
scrollX: true,
|
||||
dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" + // Filter left, buttons right
|
||||
"<'row'<'col-sm-12'tr>>" +
|
||||
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
|
||||
buttons: [{
|
||||
extend: 'csv',
|
||||
text: 'CSV',
|
||||
title: 'Member-List',
|
||||
}, {
|
||||
extend: 'excel',
|
||||
text: 'Excel',
|
||||
title: 'Member-List',
|
||||
}],
|
||||
buttons: [
|
||||
{
|
||||
extend: 'csv',
|
||||
text: 'CSV',
|
||||
title: 'Member-List',
|
||||
},
|
||||
{
|
||||
extend: 'excelHtml5',
|
||||
text: 'Excel',
|
||||
title: 'Member-List',
|
||||
exportOptions: {
|
||||
columns: function (idx, data, node) {
|
||||
return idx < $('#tickets-table thead th').length - 1;
|
||||
},
|
||||
format: {
|
||||
body: function (data, row, column, node) {
|
||||
// Only apply formatting for column Q (index 16)
|
||||
if (column === 16) {
|
||||
return $('<div>').html(data).find('p').map(function () {
|
||||
return $(this).text().trim();
|
||||
}).get().join('\n');
|
||||
}
|
||||
// Return other columns as-is (text only, no HTML tags)
|
||||
return $('<div>').html(data).text().trim();
|
||||
}
|
||||
}
|
||||
},
|
||||
customize: function (xlsx) {
|
||||
var sheet = xlsx.xl.worksheets['sheet1.xml'];
|
||||
// Wrap only column Q
|
||||
$('row c[r]', sheet).each(function () {
|
||||
var cell = $(this);
|
||||
var address = cell.attr('r'); // Example: Q2, Q3
|
||||
if (address.startsWith('Q')) {
|
||||
cell.attr('s', '55'); // Wrap text style
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
],
|
||||
language: {
|
||||
search: "_INPUT_",
|
||||
searchPlaceholder: "Search..."
|
||||
|
||||
@ -264,7 +264,7 @@
|
||||
<!-- Unlayer editor -->
|
||||
<div class="form-row" id="rac_rate_dropdown">
|
||||
<div class="form-group col-md-12">
|
||||
<div id="member_welcome_mail_editor_container" style="height: 600px;width:max-content"></div>
|
||||
<div id="member_welcome_mail_editor_container" style="height: 600px"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -360,7 +360,7 @@
|
||||
<!-- Unlayer editor -->
|
||||
<div class="form-row" id="rac_rate_dropdown">
|
||||
<div class="form-group col-md-12">
|
||||
<div id="member_reminder_mail_editor_container" style="height: 600px;width:max-content"></div>
|
||||
<div id="member_reminder_mail_editor_container" style="height: 600px"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -441,7 +441,7 @@
|
||||
<!-- Unlayer editor -->
|
||||
<div class="form-row" id="rac_rate_dropdown">
|
||||
<div class="form-group col-md-12">
|
||||
<div id="member_ecard_mail_editor_container" style="height: 600px;width:max-content"></div>
|
||||
<div id="member_ecard_mail_editor_container" style="height: 600px"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -544,7 +544,7 @@
|
||||
<!-- Unlayer editor -->
|
||||
<div class="form-row" id="rac_rate_dropdown">
|
||||
<div class="form-group col-md-12">
|
||||
<div id="member_review_and_summary_mail_editor_container" style="height: 600px;width:max-content"></div>
|
||||
<div id="member_review_and_summary_mail_editor_container" style="height: 600px"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -619,7 +619,7 @@
|
||||
<!-- Unlayer editor -->
|
||||
<!-- <div class="form-row" id="rac_rate_dropdown"> -->
|
||||
<div class="form-group col-md-12">
|
||||
<div id="account_maneger_summary_mail_editor_container" style="height: 600px;width:max-content"></div>
|
||||
<div id="account_maneger_summary_mail_editor_container" style="height: 600px"></div>
|
||||
</div>
|
||||
<!-- </div> -->
|
||||
<div class="form-group text-right m-b-0">
|
||||
@ -705,7 +705,7 @@
|
||||
<!-- Unlayer editor -->
|
||||
<div class="form-row" id="rac_rate_dropdown">
|
||||
<div class="form-group col-md-12">
|
||||
<div id="client_hr_summary_mail_editor_container" style="height: 600px;width:max-content"></div>
|
||||
<div id="client_hr_summary_mail_editor_container" style="height: 600px"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user