CHANGE_MPIN_API_CLAIMS_RACK_RATE : RV

This commit is contained in:
VENKATESHWARAN 2025-07-07 22:36:30 +05:30
parent 43f7d62ede
commit 95b801018d
5 changed files with 415 additions and 158 deletions

View File

@ -543,6 +543,8 @@ $routes->get("getEmployeeActiveOrInactivePolicy", "EmployeeRestController::getEm
$routes->get("sendPushNotification", "EmployeeRestController::sendPushNotification");
$routes->post("sendEmail", "EmployeeRestController::send_email");
$routes->get("getPolicyLevelEmployeeSummaryData", "EmployeeRestController::getPolicyLevelEmployeeSummaryData");
$routes->get("cdTransactionData", "EmployeeRestController::cdTransactionData");
$routes->match( ['get', 'post'], 'claimsSearch','EmployeeRestController::claimsSearch');
$routes->get("getBackToEnrolledDetails", "EmployeeRestController::getBackToEnrolledDetails");

View File

@ -340,9 +340,31 @@ class RestAuthenticationController extends AdminController
}else{
if (isset($mobile_number))
{
$employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->where('emp_status !=', 'truncated')->where('is_active', 1)->first();
// $employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->where('emp_status !=', 'truncated')->where('is_active', 1)->first();
$employeeData = $this->employeeModel
->select('employees.*')
->join('employee_polices', 'employees.id = employee_polices.employee_id')
->where('employees.mobile', $mobile_number)
->where('employees.relationship', 'Self')
->where('employee_polices.is_active', 1)
->whereIn('employee_polices.status', ['active', 'expired'])
->where('employees.is_active', 1)
->whereIn('employees.emp_status', ['active', 'expired'])
->where('employees.emp_status !=', 'truncated')
->first();
} else {
$employeeData = $this->employeeModel->where('email_corporate', $email_id)->where('otp', $otp)->where('relationship', 'self')->where('emp_status !=', 'truncated')->where('is_active', 1)->first();
// $employeeData = $this->employeeModel->where('email_corporate', $email_id)->where('otp', $otp)->where('relationship', 'self')->where('emp_status !=', 'truncated')->where('is_active', 1)->first();
$employeeData = $this->employeeModel
->select('employees.*')
->join('employee_polices', 'employees.id = employee_polices.employee_id')
->where('employees.email_corporate', $email_id)
->where('employees.relationship', 'Self')
->where('employee_polices.is_active', 1)
->whereIn('employee_polices.status', ['active', 'expired'])
->where('employees.is_active', 1)
->whereIn('employees.emp_status', ['active', 'expired'])
->where('otp', $otp)
->first();
}
}
@ -364,7 +386,7 @@ class RestAuthenticationController extends AdminController
$result = JWTToken::encode($employeeData);
if(isset($this->request->getJSON()->otp)){
$this->employeeModel->where('email_corporate', $email_id)->where('otp', $otp)->where('relationship', 'self')->set(['otp'=>null])->update();
$this->employeeModel->where('id', $employeeData['id'])->where('otp', $otp)->where('relationship', 'self')->set(['otp'=>null])->update();
}
return $this->respond(['status' => 'success','code' => 200,'data' => $result],200);
@ -602,9 +624,31 @@ class RestAuthenticationController extends AdminController
$email_id = isset($this->request->getJSON()->email_id) ? $this->request->getJSON()->email_id : null;
if (isset($mobile_number)) {
$employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->first();
// $employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->first();
$employeeData = $this->employeeModel
->select('employees.*')
->join('employee_polices', 'employees.id = employee_polices.employee_id')
->where('employees.mobile', $mobile_number)
->where('employees.relationship', 'Self')
->where('employee_polices.is_active', 1)
->whereIn('employee_polices.status', ['active', 'expired'])
->where('employees.is_active', 1)
->whereIn('employees.emp_status', ['active', 'expired'])
->orderBy('id', 'desc')
->first();
} else {
$employeeData = $this->employeeModel->where('email_corporate', $email_id)->where('relationship', 'self')->first();
// $employeeData = $this->employeeModel->where('email_corporate', $email_id)->where('relationship', 'self')->first();
$employeeData = $this->employeeModel
->select('employees.*')
->join('employee_polices', 'employees.id = employee_polices.employee_id')
->where('employees.email_corporate', $email_id)
->where('employees.relationship', 'Self')
->where('employee_polices.is_active', 1)
->whereIn('employee_polices.status', ['active', 'expired'])
->where('employees.is_active', 1)
->whereIn('employees.emp_status', ['active', 'expired'])
->orderBy('id', 'desc')
->first();
}
$mpin = $this->request->getJSON()->mpin;
@ -650,14 +694,43 @@ class RestAuthenticationController extends AdminController
$old_mpin = $this->request->getJSON()->old_mpin;
$mpin = $this->request->getJSON()->new_mpin;
if (isset($mobile_number))
{
$employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('mpin', $old_mpin)->where('relationship', 'self')->first();
}else{
$employeeData = $this->employeeModel->where('email_corporate', $email_id)->where('mpin', $old_mpin)->where('relationship', 'self')->first();
// if (isset($mobile_number))
// {
// $employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('mpin', $old_mpin)->where('relationship', 'self')->first();
// }else{
// $employeeData = $this->employeeModel->where('email_corporate', $email_id)->where('mpin', $old_mpin)->where('relationship', 'self')->first();
// }
if (isset($mobile_number)) {
// $employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('mpin', $old_mpin)->where('relationship', 'self')->first();
$employeeData = $this->employeeModel
->select('employees.*')
->join('employee_polices', 'employees.id = employee_polices.employee_id')
->where('employees.mobile', $mobile_number)
->where('employees.relationship', 'Self')
->where('employee_polices.is_active', 1)
->whereIn('employee_polices.status', ['active'])
->where('employees.is_active', 1)
->whereIn('employees.emp_status', ['active'])
->where('employees.mpin', $old_mpin)
->orderBy('id', 'desc')
->first();
} else {
// $employeeData = $this->employeeModel->where('email_corporate', $email_id)->where('mpin', $old_mpin)->where('relationship', 'self')->first();
$employeeData = $this->employeeModel
->select('employees.*')
->join('employee_polices', 'employees.id = employee_polices.employee_id')
->where('employees.email_corporate', $email_id)
->where('employees.relationship', 'Self')
->where('employee_polices.is_active', 1)
->whereIn('employee_polices.status', ['active'])
->where('employees.is_active', 1)
->whereIn('employees.emp_status', ['active'])
->where('employees.mpin', $old_mpin)
->orderBy('id', 'desc')
->first();
}
if ($employeeData) {
$id= $employeeData["id"];
@ -681,45 +754,142 @@ class RestAuthenticationController extends AdminController
}
}
// public function verifyMpin()
// {
// try {
// $mobile_number = isset($this->request->getJSON()->mobile_number) ? $this->request->getJSON()->mobile_number : null;
// $email_id = isset($this->request->getJSON()->email_id) ? $this->request->getJSON()->email_id : null;
// $mpin = $this->request->getJSON()->mpin;
// if (isset($mobile_number))
// {
// // $employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->first();
// $employeeData = $this->employeeModel
// ->select('employees.*')
// ->join('employee_polices', 'employees.id = employee_polices.employee_id')
// ->where('employees.mobile', $mobile_number)
// ->where('employees.relationship', 'Self')
// ->where('employee_polices.is_active', 1)
// ->whereIn('employee_polices.status', ['active'])
// ->where('employees.is_active', 1)
// ->whereIn('employees.emp_status', ['active'])
// ->get();
// }else{
// // $employeeData = $this->employeeModel->where('email_corporate', $email_id)->where('relationship', 'self')->first();
// $employeeData = $this->employeeModel
// ->select('employees.*')
// ->join('employee_polices', 'employees.id = employee_polices.employee_id')
// ->where('employees.email_corporate', $email_id)
// ->where('employee_polices.is_active', 1)
// ->whereIn('employee_polices.status', ['active'])
// ->where('employees.is_active', 1)
// ->whereIn('employees.emp_status', ['active'])
// ->where("employees.relationship", "Self") // RAW SQL condition
// ->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'],
// ];
// $authdata= $this->authHistoryModel->insert($data);
// }
// $result = JWTToken::encode($employeeData);
// // $result = $employeeData;
// return $this->respond(['status' => 'success','code' => 200,'data' => $result],200);
// } else {
// return $this->respond(['status' => 'failed','code' => 404,'data' => "Invalid OTP"],200);
// }
// } catch (\Exception $e) {
// return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()],500);
// }
// }
public function verifyMpin()
{
try {
$requestData = $this->request->getJSON(true);
$mobile_number = isset($this->request->getJSON()->mobile_number) ? $this->request->getJSON()->mobile_number : null;
$email_id = isset($this->request->getJSON()->email_id) ? $this->request->getJSON()->email_id : null;
$mpin = $this->request->getJSON()->mpin;
if (isset($mobile_number))
{
$employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->first();
}else{
$employeeData = $this->employeeModel->where('email_corporate', $email_id)->where('relationship', 'self')->first();
$mobile_number = $requestData['mobile_number'] ?? null;
$email_id = $requestData['email_id'] ?? null;
$mpin = $requestData['mpin'] ?? null;
// print_r($mpin);
if (!$mpin) {
return $this->respond(['status' => 'failed', 'code' => 400, 'data' => 'MPIN is required'], 400);
}
if ($employeeData && $mpin == $employeeData["mpin"]) {
$auth = HttpRequestHelper::getRequestInfo();
if ($mobile_number) {
$employeeData = $this->employeeModel
->select('employees.*')
->join('employee_polices', 'employees.id = employee_polices.employee_id')
->where('employees.mobile', $mobile_number)
->where('employees.relationship', 'Self')
->where('employee_polices.is_active', 1)
->whereIn('employee_polices.status', ['active'])
->where('employees.is_active', 1)
->whereIn('employees.emp_status', ['active'])
->first();
} elseif ($email_id) {
$employeeData = $this->employeeModel
->select('employees.*')
->join('employee_polices', 'employees.id = employee_polices.employee_id')
->where('employees.email_corporate', $email_id)
->where('employees.relationship', 'Self')
->where('employee_polices.is_active', 1)
->whereIn('employee_polices.status', ['active'])
->where('employees.is_active', 1)
->whereIn('employees.emp_status', ['active'])
->first();
} else {
return $this->respond(['status' => 'failed', 'code' => 400, 'data' => 'Mobile number or Email ID is required'], 400);
}
// print_r($employeeData); die;
if ($employeeData && isset($employeeData['mpin']) && $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'],
];
$authdata= $this->authHistoryModel->insert($data);
$this->authHistoryModel->insert([
'user_id' => $employeeData['id'],
'user_type' => 'employee',
'ip' => $auth['ip'],
'platform' => $auth['platform'],
'broswer' => $auth['browser'], // Note: typo in 'broswer' retained if it's your actual DB field
]);
}
$token = JWTToken::encode($employeeData);
$result = JWTToken::encode($employeeData);
// $result = $employeeData;
return $this->respond(['status' => 'success','code' => 200,'data' => $result],200);
return $this->respond([
'status' => 'success',
'code' => 200,
'data' => $token
], 200);
} else {
return $this->respond(['status' => 'failed','code' => 404,'data' => "Invalid OTP"],200);
return $this->respond([
'status' => 'failed',
'code' => 404,
'data' => 'Invalid MPIN'
], 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);
}
}
@ -732,13 +902,33 @@ class RestAuthenticationController extends AdminController
if (isset($mobile_number))
{
$employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->first();
// $employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->first();
$employeeData = $this->employeeModel
->select('employees.*')
->join('employee_polices', 'employees.id = employee_polices.employee_id')
->where('employees.mobile', $mobile_number)
->where('employees.relationship', 'Self')
->where('employee_polices.is_active', 1)
->whereIn('employee_polices.status', ['active', 'expired'])
->where('employees.is_active', 1)
->whereIn('employees.emp_status', ['active', 'expired'])
->orderBy('id', 'desc')
->first();
}else{
$employeeData = $this->employeeModel->where('email_corporate', $email_id)->where('relationship', 'self')->first();
// $employeeData = $this->employeeModel->where('email_corporate', $email_id)->where('relationship', 'self')->first();
$employeeData = $this->employeeModel
->select('employees.*')
->join('employee_polices', 'employees.id = employee_polices.employee_id')
->where('employees.email_corporate', $email_id)
->where('employees.relationship', 'Self')
->where('employee_polices.is_active', 1)
->whereIn('employee_polices.status', ['active', 'expired'])
->where('employees.is_active', 1)
->whereIn('employees.emp_status', ['active', 'expired'])
->orderBy('id', 'desc')
->first();
}
if ($employeeData && $employeeData["mpin"] != null) {
@ -776,17 +966,31 @@ class RestAuthenticationController extends AdminController
if ($mobile_number) {
log_message('info', 'Looking up employee by mobile number: ' . $mobile_number);
$employeeData = $this->employeeModel
->where('mobile', $mobile_number)
->where('relationship', 'self')
->first();
->select('employees.*')
->join('employee_polices', 'employees.id = employee_polices.employee_id')
->where('employees.mobile', $mobile_number)
->where('employees.relationship', 'Self')
->where('employee_polices.is_active', 1)
->where('employee_polices.status', ['active'])
->where('employees.is_active', 1)
->where('employees.emp_status', ['active'])
->first();
} else {
log_message('info', 'Looking up employee by email: ' . $email_id);
$employeeData = $this->employeeModel
->where('email_corporate', $email_id)
->where('relationship', 'self')
->first();
->select('employees.*')
->join('employee_polices', 'employees.id = employee_polices.employee_id')
->where('employees.email_corporate', $email_id)
->where('employees.relationship', 'Self')
->where('employee_polices.is_active', 1)
->where('employee_polices.status', ['active'])
->where('employees.is_active', 1)
->where('employees.emp_status', ['active'])
->first();
}
log_message('info', '$employeeData : ' . json_encode($employeeData));
// Step 3: Found employee
if (!empty($employeeData)) {
log_message('info', 'Employee found: ID = ' . $employeeData['id']);

View File

@ -271,6 +271,8 @@ class EmployeeModel extends Model
->join('employee_polices', 'employees.id = employee_polices.employee_id', 'left')
->where('employees.is_active', 1)
->where('employee_polices.is_active', 1)
->where('employees.emp_status', "active")
->where('employee_polices.status', "active")
->where('employees.emp_code', $emp_code);
if(!empty($client_id)){

View File

@ -92,7 +92,6 @@
<div class="tab-pane fade active show" id="primary_rack_rate_tab">
<form role="form" class="parsley-examples" method="post" id="GridForm_"
enctype="multipart/form-data">
<input type="hidden" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
<input type="hidden" name="client_id" id="Client_id"
value="<?= isset($client['id']) ? $client['id'] : '' ?>" />
<input type="hidden" name="client_policy_id" id="client_policy_id" />
@ -144,7 +143,7 @@
</div>
<div class="form-group text-right m-b-0" id="hide_smbt_btn">
<button class="btn btn-primary waves-effect waves-light mr-1" id="btnGridSubmit_2">Submit</button>
<button type="submit" class="btn btn-primary" id="btnGridSubmit_2">Submit</button>
<a class="btn btn-secondary waves-effect waves-light mr-1" id="btnGridrename" onclick="renameRackRateTab(this, null)">Rename</a>
</div>
</form>
@ -191,10 +190,9 @@ $(document).on('click', '.close', function() {
var rarc_rate_json_array = [];
$(document).on('submit', 'form[id^="GridForm_"]', function(event) {
console.log('submitted function called')
event.preventDefault(); // Prevent the default form submission
console.log('submitted function called')
var form = $(this);
console.log('form', form)
@ -830,12 +828,12 @@ function addGridHTML(event = false, data = false, ui_type = false, si_or_bp = fa
</div>
<div class="form-group col-md-3" id="">
<label for="mobile">Sum Insured<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '1' ? data.si : '') : ''}" type="text" class="form-control" placeholder="Enter Sum Insured" name="gpa_sum_si[]" id="gpa_sum_si" onkeypress = "return onlyNumbers(event)" onchange="formatNumber(this)" required>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '1' ? data.si : '') : ''}" type="text" class="form-control" placeholder="Enter Sum Insured" name="gpa_sum_si[]" id="gpa_sum_si" onkeypress = "return onlyNumbers(event)" onchange="formatNumber(this)">
<div id='gpa_sum_si_number_word' class="text-danger-2" ></div>
</div>
<div class="form-group col-md-3">
<label for="mobile">Premium<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '1' ? data.premium : '') : ''}" type="text" class="form-control" placeholder="Enter Premium" name="gpa_sum_premium[]" id="gpa_sum_premium" onkeypress = "return onlyNumbers(event)" onchange="formatNumber(this)" required>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '1' ? data.premium : '') : ''}" type="text" class="form-control" placeholder="Enter Premium" name="gpa_sum_premium[]" id="gpa_sum_premium" onkeypress = "return onlyNumbers(event)" onchange="formatNumber(this)">
<div id='gpa_sum_premium_number_word' class="text-danger-2" ></div>
</div>
@ -1424,16 +1422,16 @@ function appendGridtHtml(ui_type = false, secondary = false, data = false)
html = `<div class="form-row gpa_sum_insure_remove" style="width:101%" id="removeChild_${Count}">
<div class="form-group col-md-3 unitDiv">
<label for="mobile">Units<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== default_unit ? data.unit : default_unit}"}" type="text" class="form-control" placeholder="Enter Unit" name="gpa_unit_1[]" id="gpa_unit1" required>
<input value="${data !== false && data !== undefined && data !== default_unit ? data.unit : default_unit}" type="text" class="form-control" placeholder="Enter Unit" name="gpa_unit_1[]" id="gpa_unit1" required>
</div>
<div class="form-group col-md-3" id="">
<label for="mobile">Sum Insured<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.si : ''}" type="text" class="form-control" placeholder="Enter Sum Insured" name="gpa_sum_si[]" id="gpa_sum_si" onkeypress = "return onlyNumbers(event)" onchange="formatNumber(this)" required>
<input value="${data !== false && data !== undefined && data !== '' ? data.si : ''}" type="text" class="form-control" placeholder="Enter Sum Insured" name="gpa_sum_si[]" id="gpa_sum_si" onkeypress = "return onlyNumbers(event)" onchange="formatNumber(this)">
<div id='gpa_si_number_word' class="text-danger-2" ></div>
</div>
<div class="form-group col-md-3">
<label for="mobile">Premium<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.premium : ''}" type="text" class="form-control" placeholder="Enter Premium" name="gpa_sum_premium[]" id="gpa_sum_premium" onkeypress = "return onlyNumbers(event)" onchange="formatNumber(this)" required>
<input value="${data !== false && data !== undefined && data !== '' ? data.premium : ''}" type="text" class="form-control" placeholder="Enter Premium" name="gpa_sum_premium[]" id="gpa_sum_premium" onkeypress = "return onlyNumbers(event)" onchange="formatNumber(this)" >
<div id='gpa_premium_number_word' class="text-danger-2" ></div>
</div>
@ -1450,7 +1448,7 @@ function appendGridtHtml(ui_type = false, secondary = false, data = false)
html = `<div class="form-row gpa_band_remove" style="width:101%" id="removeChild_${Count}">
<div class="form-group col-md-3 unitDiv">
<label for="mobile">Units<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.unit : ''}"}" type="text" class="form-control" placeholder="Enter Unit" name="gpa_unit_3[]" id="gpa_unit3" required>
<input value="${data !== false && data !== undefined && data !== default_unit ? data.unit : default_unit}" type="text" class="form-control" placeholder="Enter Unit" name="gpa_unit_3[]" id="gpa_unit3" required>
</div>
<div class="form-group col-md-1" id="">
@ -1484,7 +1482,7 @@ function appendGridtHtml(ui_type = false, secondary = false, data = false)
<div class="form-row gpa_basic_pay_remove" style="width:101%" id="removeChild_${Count}">
<div class="form-group col-md-3 unitDiv">
<label for="mobile">Units<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.unit : ''}"}" type="text" class="form-control" placeholder="Enter Unit" name="gpa_unit[]" id="gpa_unit2" required>
<input value="${data !== false && data !== undefined && data !== default_unit ? data.unit : default_unit}" type="text" class="form-control" placeholder="Enter Unit" name="gpa_unit[]" id="gpa_unit2" required>
</div>
<div class="form-col col-md-2">
@ -3358,7 +3356,6 @@ function appendNewTab(tabNameData = null, data = null)
newTabPane.innerHTML = `
<form role="form" class="parsley-examples" method="post" id="GridForm_${tabId}"
enctype="multipart/form-data">
<input type="hidden" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
<input type="hidden" name="client_id" id="Client_id"value="<?= isset($client['id']) ? $client['id'] : '' ?>" />
<input type="hidden" name="client_policy_id" id="client_policy_id_${tabId}" value="`+client_policy_for_additional_rack_rate+`"/>
<input type="hidden" name="rack_rate_name" id="rack_rate_name_${tabId}" value="${tabName}">
@ -3409,7 +3406,7 @@ function appendNewTab(tabNameData = null, data = null)
</div>
<div class="form-group text-right m-b-0" id="hide_smbt_btn_${tabId}">
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" id="btnGridSubmit_2_${tabId}">Submit</button>
<button type="submit" class="btn btn-primary" id="btnGridSubmit_2_${tabId}">Submit</button>
<a class="btn btn-danger waves-effect waves-light mr-1" id="btnGridremove_2_${tabId}" onclick="removeTab(this, '${tabId}', '${tabName}')">Delete</a>
<a class="btn btn-secondary waves-effect waves-light mr-1" id="btnGridrename_${tabId}" onclick="renameRackRateTab(this, '${tabId}', '${tabName}')">Rename</a>
</div>

View File

@ -43,18 +43,16 @@
<?php
if (!isset($view_ticket_page)) {
if ($selected_ticket_type == 1) {
include('ticket_form_gmc.php');
} else {
include('ticket_form_gpa.php');
if (!isset($view_ticket_page)) {
if ($selected_ticket_type == 1) {
include('ticket_form_gmc.php');
} else {
include('ticket_form_gpa.php');
}
}
}
?>
<div class="modal fade" id="empDetailsModal" tabindex="-1" role="dialog" aria-labelledby="empDetailsModalLabel"
aria-hidden="true" aria-modal="true" data-backdrop="static">
<div class="modal fade" id="empDetailsModal" role="dialog" aria-labelledby="empDetailsModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
@ -312,44 +310,73 @@ if (!isset($view_ticket_page)) {
}
//append the clients data to the modal
function appendClients(data) {
$('#emp_client_data_list').empty();
// function appendClients(data) {
// $('#emp_client_data_list').empty();
$('#emp_client_data_list').append($('<option>', {
value: '0',
text: 'Select Client'
}));
// $('#emp_client_data_list').append($('<option>', {
// value: '0',
// text: 'Select Client'
// }));
// $.each(data, function(index, item) {
// var option = $('<option>', {
// value: item.id,
// text: item.client_name,
// 'data-name': item.client_name,
// });
// $('#emp_client_data_list').append(option).select2();
// });
// }
function appendClients(data) {
let $select = $('#emp_client_data_list');
$select.empty();
let options = '<option value="0">Select Client</option>';
$.each(data, function(index, item) {
var option = $('<option>', {
value: item.id,
text: item.client_name,
'data-name': item.client_name,
});
$('#emp_client_data_list').append(option).select2();
options += `<option value="${item.id}" data-name="${item.client_name}">${item.client_name}</option>`;
});
$select.html(options);
$select.select2(); // ✅ Only call once after building all options
}
//append the clients data for mobile search to the modal
function appendClientsForMobileSearch(data) {
$('#mobile_emp_client_data_list').empty();
$('#mobile_emp_client_data_list').append($('<option>', {
value: '0',
text: 'Select Client'
}));
//append the clients data for mobile search to the modal
// function appendClientsForMobileSearch(data) {
// $('#mobile_emp_client_data_list').empty();
// $('#mobile_emp_client_data_list').append($('<option>', {
// value: '0',
// text: 'Select Client'
// }));
// $.each(data, function(index, item) {
// var option = $('<option>', {
// value: item.id,
// text: item.short_name,
// });
// $('#mobile_emp_client_data_list').append(option).select2();
// });
// }
function appendClientsForMobileSearch(data) {
let $select = $('#mobile_emp_client_data_list');
$select.empty();
let options = '<option value="0">Select Client</option>';
$.each(data, function(index, item) {
var option = $('<option>', {
value: item.id,
text: item.short_name,
});
$('#mobile_emp_client_data_list').append(option).select2();
options += `<option value="${item.id}">${item.short_name}</option>`;
});
$select.html(options);
$select.select2(); // ✅ Only once
}
//append the clients branch data to the modal
@ -388,10 +415,10 @@ if (!isset($view_ticket_page)) {
$.each(data, function(index, item) {
if (ticket_type == 1) {
console.log("inside if 1");
// console.log("inside if 1");
if (item.policy_type_id == 2 || item.policy_type_id == 3 || item.policy_type_id == 4 || item
.policy_type_id == 5) {
console.log("inside if 2");
// console.log("inside if 2");
var option = $('<option>', {
value: item.id,
text: item.policy_type + '-' + item.policy_no,
@ -401,9 +428,9 @@ if (!isset($view_ticket_page)) {
}
} else if (ticket_type == 2) {
console.log("inside if 3");
// console.log("inside if 3");
if (item.policy_type_id == 1) {
console.log("inside if 4");
// console.log("inside if 4");
var option = $('<option>', {
value: item.id,
text: item.policy_type + '-' + item.policy_no,
@ -435,7 +462,7 @@ if (!isset($view_ticket_page)) {
}
} else {
console.log("inside else condition");
// console.log("inside else condition");
}
});
@ -498,6 +525,8 @@ if (!isset($view_ticket_page)) {
function getEmpData(input) {
console.log('STEP 1', new Date().toLocaleString());
console.log(input)
let param = $(input).val();
let url = '<?= base_url('util/getTheEmpDataForClaim/') ?>' + param;
@ -513,6 +542,7 @@ if (!isset($view_ticket_page)) {
// Send AJAX request
sendAjaxRequestForGlobal(url, 'GET', requestData, function(response) {
console.log('STEP 2', new Date().toLocaleString());
console.log('Data fetched successfully:', response);
if (response.status) {
@ -625,26 +655,48 @@ if (!isset($view_ticket_page)) {
}
// function appendEmployee(data, attrId) {
// console.log('STEP 3', new Date().toLocaleString());
// console.log('data', data)
// $('#' + attrId).empty();
// $('#' + attrId).append($('<option>', {
// value: '0',
// text: 'Select Employee'
// }));
// $.each(data, function(index, item) {
// // console.log(item)
// var option = $('<option>', {
// value: item.emp_code,
// text: item.emp_name + ' - ' + item.emp_code,
// });
// $('#' + attrId).append(option).select2();
// });
// console.log('STEP 4', new Date().toLocaleString());
// }
function appendEmployee(data, attrId) {
console.log('STEP 3', new Date().toLocaleString());
console.log('data', data);
console.log('data', data)
let $select = $('#' + attrId);
$select.empty();
$('#' + attrId).empty();
$('#' + attrId).append($('<option>', {
value: '0',
text: 'Select Employee'
}));
let options = '<option value="0">Select Employee</option>';
$.each(data, function(index, item) {
console.log(item)
var option = $('<option>', {
value: item.emp_code,
text: item.emp_name + ' - ' + item.emp_code,
});
$('#' + attrId).append(option).select2();
options += `<option value="${item.emp_code}">${item.emp_name} - ${item.emp_code}</option>`;
});
$select.html(options); // ⬅ Append all at once
$select.select2(); // ⬅ Initialize once after options are set
console.log('STEP 4', new Date().toLocaleString());
}
function appendMember(data, attrId) {
@ -808,40 +860,40 @@ if (!isset($view_ticket_page)) {
function setMemberData(input) {
var selectedOption = $(input).find(':selected');
var selectedOption = $(input).find(':selected');
// Retrieve the data-* attributes
var empId = selectedOption.data('empid');
var empName = selectedOption.data('empname');
var policyNo = selectedOption.data('policyno');
var tpaNo = selectedOption.data('tpano');
var relationship = selectedOption.data('relationship');
// Retrieve the data-* attributes
var empId = selectedOption.data('empid');
var empName = selectedOption.data('empname');
var policyNo = selectedOption.data('policyno');
var tpaNo = selectedOption.data('tpano');
var relationship = selectedOption.data('relationship');
$('#tpa_no').val(tpaNo);
$('#insured_emp_id').val(empId);
$('#insured_name').val(empName);
// $('#policy_no').val(policyNo);
$('#tpa_no').val(tpaNo);
$('#insured_emp_id').val(empId);
$('#insured_name').val(empName);
// $('#policy_no').val(policyNo);
$('#relationship option').each(function() {
if ($(this).text() === relationship) {
$(this).prop('selected', true);
}
});
$('#relationship option').each(function() {
if ($(this).text() === relationship) {
$(this).prop('selected', true);
}
});
if (tpaNo == "") {
if (tpaNo == "") {
$('#claim_status_id').val(1)
$('#non_id_reason').attr('required', true);
var $label = $("#non_id_reason_lable_id");
$label.text('*');
$('#claim_status_id').val(1)
$('#non_id_reason').attr('required', true);
var $label = $("#non_id_reason_lable_id");
$label.text('*');
} else {
$('#claim_status_id').val(2)
$('#non_id_reason').attr('required', false);
var $label = $("#non_id_reason_lable_id");
$label.text("");
} else {
$('#claim_status_id').val(2)
$('#non_id_reason').attr('required', false);
var $label = $("#non_id_reason_lable_id");
$label.text("");
}
}
}
// $('#employee_data_points').on('change', function() {
@ -870,25 +922,25 @@ if (!isset($view_ticket_page)) {
function toResetTheModelFields() {
$('#emp_mobile_number_for_claim').val('');
$('#employee_data_points').val();
$('#employee_by_number').val('');
$('#member_by_number').val('0').select2();
$('#emp_client_data_list').val('0').select2();
$('#emp_client_branch_data_list').val('0').select2();
$('#emp_client_policy_data_list').val('0').select2();
$('#search_by_client_employee').val('0').select2();
$('#search_by_client_member').val('0').select2();
}
$('#emp_mobile_number_for_claim').val('');
$('#employee_data_points').val();
$('#employee_by_number').val('');
$('#member_by_number').val('0').select2();
$('#emp_client_data_list').val('0').select2();
$('#emp_client_branch_data_list').val('0').select2();
$('#emp_client_policy_data_list').val('0').select2();
$('#search_by_client_employee').val('0').select2();
$('#search_by_client_member').val('0').select2();
}
$('#tpa_no').on('input', function() {
let tpaNo = $(this).val().trim();
console.log('tpaNo:', tpaNo);
$('#tpa_no').on('input', function() {
let tpaNo = $(this).val().trim();
console.log('tpaNo:', tpaNo);
let isEmpty = tpaNo === "";
$('#claim_status_id').val(isEmpty ? 1 : 2);
$('#non_id_reason').prop('required', isEmpty);
$('#non_id_reason_lable_id').text(isEmpty ? '*' : '');
});
let isEmpty = tpaNo === "";
$('#claim_status_id').val(isEmpty ? 1 : 2);
$('#non_id_reason').prop('required', isEmpty);
$('#non_id_reason_lable_id').text(isEmpty ? '*' : '');
});
</script>