'EMP_MODULE_FIX_EXPORT_IMPORT_VALIDATION_CLIENT_MODULE_FIX_CLIENT_POLICY_BINDING_AND_FIX_CSV_TO_ALL_TABLE_RV'
This commit is contained in:
parent
5354c138b1
commit
18e62f4a74
@ -214,6 +214,7 @@ $routes->group("/util", ["filter" => "authMVC"], function($routes){
|
||||
$routes->get("download-file-list/(:any)", "EmployeeController::downloadFileList/$1");
|
||||
$routes->get("featch-emp-list", "EmployeeController::featchEmpList/$1");
|
||||
$routes->get("view-success-emp-list", "EmployeeController::viewUploadedEmployeeList/$1");
|
||||
$routes->get("fetch-policy-for-policy-type", "ClientController::fetchPolicyDataForPolicyType/$1");
|
||||
|
||||
});
|
||||
|
||||
|
||||
@ -150,7 +150,6 @@ class ClientController extends AdminController
|
||||
|
||||
public function clientOnboarding()
|
||||
{
|
||||
|
||||
$this->myLogger->logme('error','Client Onboarding function called');
|
||||
$headerData['page_name'] = 'Client Onboarding';
|
||||
|
||||
@ -162,6 +161,7 @@ class ClientController extends AdminController
|
||||
$data['state'] = $this->stateModel->getAllStates();
|
||||
$data['RM'] = $this->userModel->findAll();
|
||||
$data['policyGridData'] = $this->policyGridModel->findAll();
|
||||
$data['policy_type'] = ['1'=>'Base Policy', '2' => 'SI Topup', '3' => 'Dependent Addon'];
|
||||
|
||||
// echo "<pre>";
|
||||
// print_r($data); die;
|
||||
@ -244,7 +244,7 @@ class ClientController extends AdminController
|
||||
|
||||
|
||||
public function editClientOnboarding($id = null)
|
||||
{
|
||||
{
|
||||
|
||||
$this->myLogger->logme('error','Edit Client Onboarding function called');
|
||||
$headerData['page_name'] = 'Edit Client Onboarding';
|
||||
@ -257,6 +257,7 @@ class ClientController extends AdminController
|
||||
$editData['insurer'] = $this->insurerBranchModel ->getInsurerBranchesWithInsurerNames();
|
||||
$editData['kyc_docs'] = $this->kycDocsModel->findAll();
|
||||
$editData['policyGridData'] = $this->policyGridModel->findAll();
|
||||
$editData['policy_type'] = ['1'=>'Base Policy', '2' => 'SI Topup', '3' => 'Dependent Addon'];
|
||||
|
||||
|
||||
$editData['client'] = $this->clientModel->where(['id' => $id])->first();
|
||||
@ -275,9 +276,8 @@ class ClientController extends AdminController
|
||||
$editData['client_policy'] = $clientPoliceData;
|
||||
|
||||
|
||||
|
||||
// echo "<pre>";
|
||||
// print_r($clientPoliceData); die;
|
||||
// dd($editData); die;
|
||||
|
||||
echo view('layout/header', $headerData);
|
||||
echo view('client_onboarding', $editData);
|
||||
@ -577,6 +577,8 @@ class ClientController extends AdminController
|
||||
|
||||
$insurerValue = (string) $this->request->getPost('insurer');
|
||||
list($insurerBranchId, $insurerId) = explode('-', $insurerValue);
|
||||
$client_id = $this->request->getPost('client_id');
|
||||
|
||||
|
||||
$data['insurer_branch_id'] = $insurerBranchId;
|
||||
$data['insurer_id'] = $insurerId;
|
||||
@ -584,12 +586,11 @@ class ClientController extends AdminController
|
||||
$tpaValue = (string) $this->request->getPost('tpa');
|
||||
list($tpaBranchId, $tpaId) = explode('-', $tpaValue);
|
||||
|
||||
$data['client_id'] = $client_id;
|
||||
$data['tpa_branch_id'] = $tpaBranchId;
|
||||
$data['tpa_id'] = $tpaId;
|
||||
$data['policy_id'] = $this->request->getPost('policy_id');
|
||||
$data['policy_type_id'] = $this->request->getPost('policy_type_id');
|
||||
$data['client_id'] = $this->request->getPost('client_id');
|
||||
|
||||
|
||||
$data['no_of_lives'] = $this->request->getPost('no_of_lives');
|
||||
$data['policy_status'] = $this->request->getPost('policy_status');
|
||||
@ -603,29 +604,28 @@ class ClientController extends AdminController
|
||||
$data['earned_premium_amount'] = $this->request->getPost('earned_premium_amount');
|
||||
$data['claims_incurred_amount'] = $this->request->getPost('claims_incurred_amount');
|
||||
$data['is_addon'] = $this->request->getPost('is_addon');
|
||||
$data['base_policy'] = $this->request->getPost('base_policy');
|
||||
$data['base_policy'] = $this->request->getPost('base_policy');
|
||||
$data['policy_status'] = 1;
|
||||
|
||||
if (!isset($data['is_addon'])) {
|
||||
$data['is_addon'] = 0;
|
||||
} elseif ($data['is_addon']) {
|
||||
$data['is_addon'] = 1;
|
||||
}
|
||||
$policy_terms = $this->clientPolicyModel->where('id', $this->request->getPost('base_policy'))->first();
|
||||
|
||||
if ( $this->request->getPost('is_addon') == 2 || $this->request->getPost('is_addon') == 3) {
|
||||
$data['policy_terms'] = $policy_terms['policy_terms'];
|
||||
}
|
||||
|
||||
|
||||
$data['policy_start_date'] = change_date_format($this->request->getPost('policy_start_date'), 'd-m-Y', 'Y-m-d');
|
||||
$data['policy_end_date'] = change_date_format($this->request->getPost('policy_end_date'), 'd-m-Y', 'Y-m-d');
|
||||
|
||||
|
||||
$data['created_by'] = get_session_userid();
|
||||
|
||||
$insert = $this->clientPolicyModel->insert($data);
|
||||
if($insert){
|
||||
$clientPoliceData = $this->clientPolicyModel->getClientPolicyByClientId($this->request->getPost('client_id'));
|
||||
foreach ($clientPoliceData as $key => $value) {
|
||||
// foreach ($clientPoliceData as $key => $value) {
|
||||
|
||||
$clientPoliceData[$key]->policy_start_date = date('d-M-Y', strtotime($value->policy_start_date));
|
||||
$clientPoliceData[$key]->policy_end_date = date('d-M-Y', strtotime($value->policy_end_date));
|
||||
}
|
||||
// $clientPoliceData[$key]->policy_start_date = date('d-M-Y', strtotime($value->policy_start_date));
|
||||
// $clientPoliceData[$key]->policy_end_date = date('d-M-Y', strtotime($value->policy_end_date));
|
||||
// }
|
||||
return $this->respond(['status' => true,'code' => 200,'data' => $clientPoliceData, 'method' => 'CERATE'], 200);
|
||||
}else{
|
||||
return $this->respond(['status' => false,'code' => 404, 'message' => 'no data found'], 200);
|
||||
@ -637,9 +637,12 @@ class ClientController extends AdminController
|
||||
|
||||
$this->myLogger->logme('error','Client policy function called');
|
||||
|
||||
|
||||
$id = $this->request->getPost('PrimaryKey');
|
||||
$client_id = $this->request->getPost('client_id');
|
||||
|
||||
|
||||
|
||||
$insurerValue = (string) $this->request->getPost('insurer');
|
||||
list($insurerBranchId, $insurerId) = explode('-', $insurerValue);
|
||||
|
||||
@ -650,6 +653,7 @@ class ClientController extends AdminController
|
||||
list($tpaBranchId, $tpaId) = explode('-', $tpaValue);
|
||||
|
||||
$data['tpa_branch_id'] = $tpaBranchId;
|
||||
$data['client_id'] = $client_id;
|
||||
$data['tpa_id'] = $tpaId;
|
||||
$data['policy_id'] = $this->request->getPost('policy_id');
|
||||
$data['policy_type_id'] = $this->request->getPost('policy_type_id');
|
||||
@ -670,29 +674,30 @@ class ClientController extends AdminController
|
||||
$data['claims_incurred_amount'] = $this->request->getPost('claims_incurred_amount');
|
||||
$data['is_addon'] = $this->request->getPost('is_addon');
|
||||
$data['base_policy'] = $this->request->getPost('base_policy');
|
||||
$data['policy_status'] = 1;
|
||||
|
||||
$policy_terms = $this->clientPolicyModel->where('id', $this->request->getPost('base_policy'))->first();
|
||||
|
||||
if ( $this->request->getPost('is_addon') == 2 || $this->request->getPost('is_addon') == 3) {
|
||||
$data['policy_terms'] = $policy_terms['policy_terms'];
|
||||
}
|
||||
|
||||
if (!isset($data['is_addon'])) {
|
||||
$data['is_addon'] = 0;
|
||||
} elseif ($data['is_addon']) {
|
||||
$data['is_addon'] = 1;
|
||||
}
|
||||
|
||||
// dd($data);
|
||||
$data['updated_by'] = get_session_userid();
|
||||
$insert = $this->clientPolicyModel->update($id,$data);
|
||||
$lastQuery = $this->clientPolicyModel->getLastQuery();
|
||||
|
||||
// echo '<pre>';
|
||||
// print_r($lastQuery); die;
|
||||
// print_r($data); die;
|
||||
|
||||
if($insert){
|
||||
$clientPoliceData = $this->clientPolicyModel->getClientPolicyByClientId($client_id);
|
||||
foreach ($clientPoliceData as $key => $value) {
|
||||
|
||||
// foreach ($clientPoliceData as $key => $value) {
|
||||
|
||||
$clientPoliceData[$key]->policy_start_date = date('d-M-Y', strtotime($value->policy_start_date));
|
||||
$clientPoliceData[$key]->policy_end_date = date('d-M-Y', strtotime($value->policy_end_date));
|
||||
}
|
||||
// $clientPoliceData[$key]->policy_start_date = date('d-M-Y', strtotime($value->policy_start_date));
|
||||
// $clientPoliceData[$key]->policy_end_date = date('d-M-Y', strtotime($value->policy_end_date));
|
||||
// }
|
||||
return $this->respond(['status' => true,'code' => 200,'data' => $clientPoliceData, 'method' => 'EDIT'], 200);
|
||||
}else{
|
||||
return $this->respond(['status' => false,'code' => 404, 'message' => 'no data found'], 200);
|
||||
@ -705,6 +710,7 @@ class ClientController extends AdminController
|
||||
$policy_type = $this->request->getPost('policy_type');
|
||||
$client_id = $this->request->getPost('client_id');
|
||||
$client_policy_id = $this->request->getPost('client_policy_id');
|
||||
$premium_type = $this->request->getPost('premium_type');
|
||||
if(!empty($client_id) && $client_id != null){
|
||||
$client_policy_data = $this->clientPolicyModel->where('id', $client_policy_id)->first();
|
||||
$client_id = $client_policy_data['client_id'];
|
||||
@ -720,6 +726,7 @@ class ClientController extends AdminController
|
||||
$data['client_id'] = $client_id;
|
||||
$data['client_policy_id'] = $client_policy_id;
|
||||
$data['policy_grid_id'] = $policy_grid_id;
|
||||
$data['premium_type'] = $premium_type;
|
||||
|
||||
|
||||
$premium = [];
|
||||
@ -944,10 +951,9 @@ class ClientController extends AdminController
|
||||
$insurer_id = $client_policy_data['insurer_id'];
|
||||
$client_id = $client_policy_data['client_id'];
|
||||
$polices = $this->policesModel->where(['insurer_id' => $insurer_id, 'is_active' => 1])->findAll();
|
||||
$client_policy_list = $this->clientPolicyModel->select('policies.*')
|
||||
->join('policies', 'policies.id = client_policy.policy_id')
|
||||
->where('client_id', $client_id)
|
||||
->findAll();
|
||||
$client_policy_list = $this->clientPolicyModel->getpolicyWithPattern( $client_id );
|
||||
|
||||
|
||||
return $this->respond(['status' => true,'code' => 200, 'client_policy_list' => $client_policy_list, 'data' => $client_policy_data, "insurer_id" => $client_policy_data['insurer_id'], 'policy' => $polices], 200);
|
||||
}else{
|
||||
return $this->respond(['status' => false,'code' => 404, 'message' => 'no data found'], 200);
|
||||
@ -1367,7 +1373,8 @@ class ClientController extends AdminController
|
||||
|
||||
}
|
||||
|
||||
public function updateClientPolicyStatus(){
|
||||
public function updateClientPolicyStatus()
|
||||
{
|
||||
|
||||
$client_policy_id = $this->request->getGet('client_policy_id');
|
||||
$record = $this->clientPolicyModel->where('id', $client_policy_id)->first();
|
||||
@ -1438,12 +1445,10 @@ class ClientController extends AdminController
|
||||
}
|
||||
|
||||
|
||||
public function getClientPolicyList($client_id = null){
|
||||
public function getClientPolicyList($client_id = null)
|
||||
{
|
||||
|
||||
$record = $this->clientPolicyModel->select('policies.*')
|
||||
->join('policies', 'policies.id = client_policy.policy_id')
|
||||
->where('client_id', $client_id)
|
||||
->findAll();
|
||||
$record = $this->clientPolicyModel->getpolicyWithPattern( $client_id);
|
||||
|
||||
if ($record) {
|
||||
return $this->respond(['Status' => true,'code' => 200,'data' => $record], 200);
|
||||
@ -1452,4 +1457,38 @@ class ClientController extends AdminController
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function fetchPolicyDataForPolicyType($client_policy_id){
|
||||
|
||||
$client_policy_id = $this->request->getGet('client_policy_id');
|
||||
$policy_type = $this->request->getGet('policy_type');
|
||||
|
||||
$client_id = $this->clientPolicyModel->where('id', $client_policy_id)->first();
|
||||
$insurer_id = $client_id['insurer_id'];
|
||||
|
||||
if( $policy_type == 2 ){
|
||||
|
||||
$polices = $this->policesModel
|
||||
->select('policies.*')
|
||||
->join('policy_type', 'policy_type.id = policies.policy_type_id')
|
||||
->where('policy_type.policy_type', 'GMC - Top-up')
|
||||
->where(['policies.insurer_id' => $insurer_id, 'policies.is_active' => 1])->findAll();
|
||||
}else if( $policy_type == 3 ){
|
||||
|
||||
$polices = $this->policesModel
|
||||
->select('policies.*')
|
||||
->join('policy_type', 'policy_type.id = policies.policy_type_id')
|
||||
->whereIn('policy_type.policy_type', ['GMC - Parents', 'GMC - Top-up(Parents)'])
|
||||
->where(['policies.insurer_id' => $insurer_id, 'policies.is_active' => 1])->findAll();
|
||||
|
||||
}
|
||||
|
||||
|
||||
$data = $this->clientPolicyModel->getClientPolicyByPolicyType($client_id['client_id'], $policy_type);
|
||||
|
||||
return $this->respond(['Status' => true,'code' => 200,'data' => $data, 'client_policy_id' => $client_policy_id, 'policy' => $polices], 200);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@ -464,101 +464,112 @@ class EmpDataServiceController extends BaseController
|
||||
|
||||
public function importExcelDataForInception($import_data)
|
||||
{
|
||||
|
||||
|
||||
$client_id = $import_data['client_id'];
|
||||
$client_policy_id = $import_data['client_policy_id'];
|
||||
$file = $import_data['file'];
|
||||
|
||||
// $data = $this->readExcelToArray($file);
|
||||
// unset($data[0]);
|
||||
// array_pop($data);
|
||||
// $count = count($data);cmd
|
||||
// dd($data);
|
||||
|
||||
$is_moved = $file->move(WRITEPATH . 'uploads/import_excel');
|
||||
$filename = $file->getName();
|
||||
|
||||
$this->myLogger->logme('error','Inception Import file name : {data}', ['data'=> $filename ]);
|
||||
$random_number_count = 4;
|
||||
$batch_code = generate_random_string($random_number_count);
|
||||
|
||||
$this->myLogger->logme('error','Inception Import BATCH CODE : {data}', ['data'=> $batch_code ]);
|
||||
|
||||
$import_data['batch_code'] = $batch_code;
|
||||
$import_data['created_by'] = get_session_userid();
|
||||
$import_data['file_name'] = $filename;
|
||||
$insert = $this->batchFileModel->insert($import_data);
|
||||
$batch_file_batch_code = $this->batchFileModel->where('id', $insert)->first();
|
||||
|
||||
$batch_code_for_batch_list['batch_code'] = $batch_file_batch_code['batch_code'];
|
||||
$batch_code_for_batch_list['created_by'] = get_session_userid();
|
||||
|
||||
$file_name_with_path = WRITEPATH."/uploads/import_excel/".$batch_file_batch_code['file_name'];
|
||||
|
||||
//check the file exist or not
|
||||
if(!file_exists($file_name_with_path))
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
$data = read_excel_file_to_array($file_name_with_path);
|
||||
$data = $this->readExcelToArray($file);
|
||||
unset($data[0]);
|
||||
array_pop($data);
|
||||
$count = count($data);
|
||||
$this->batchFileModel->where('id', $insert)->set('count', $count)->update();
|
||||
// dd($data );
|
||||
$employeeIds = [];
|
||||
foreach ($data as $key => $value) {
|
||||
// Check if the array is not empty and has the necessary data
|
||||
if (!empty($value) && (isset($value[15]) || isset($value[16]))) {
|
||||
|
||||
// Extract the client_policy_id and tpa_id from the array
|
||||
$tpa_id = $value[15] != null ? $value[15] : '';
|
||||
$uhid = $value[16] != null ? $value[16] : '';
|
||||
$missing_id = [];
|
||||
$empty_emp_tpa_uh_ids = [];
|
||||
foreach ($data as $key => $value) {
|
||||
|
||||
try {
|
||||
|
||||
if ($value[15] === null) {
|
||||
$missing_id[] = $key + 1;
|
||||
}
|
||||
|
||||
$emp_code = $value[2];
|
||||
$name = $value[1];
|
||||
|
||||
$val = $this->employeePolicyModel
|
||||
->select('employee_polices.id')
|
||||
->join('employees', 'employees.id = employee_polices.employee_id')
|
||||
->where('employee_polices.client_policy_id', $client_policy_id)
|
||||
->where('employees.client_id', $client_id)
|
||||
->where('employees.name', $name)
|
||||
->where('employees.emp_code', $emp_code)
|
||||
->where('employee_polices.is_active', 1)
|
||||
->first();
|
||||
$db = \Config\Database::connect();
|
||||
|
||||
if ($val !== null) {
|
||||
$id = $val['id'];
|
||||
$batch_code_for_batch_list['emp_policy_id'] = $id;
|
||||
$this->batchListModel->insert($batch_code_for_batch_list);
|
||||
array_push($employeeIds, $id);
|
||||
// Execute the query
|
||||
$query = $db->table('employee_polices')
|
||||
->select('employee_polices.id')
|
||||
->join('employees', 'employees.id = employee_polices.employee_id')
|
||||
->where('employee_polices.client_policy_id', $client_policy_id)
|
||||
->where('employees.client_id', $client_id)
|
||||
->where('employees.name', $name)
|
||||
->where('employees.emp_code', $emp_code)
|
||||
->where('(employee_polices.tpa_id IS NULL OR employee_polices.tpa_id = "")')
|
||||
->where('(employee_polices.uhid IS NULL OR employee_polices.uhid = "")')
|
||||
->where('employee_polices.is_active', 1)
|
||||
->limit(1)
|
||||
->get();
|
||||
|
||||
// Get the result
|
||||
$result = $query->getRowArray();
|
||||
if (isset($result['id']) && $result['id'] !== null) {
|
||||
$empty_emp_tpa_uh_ids[] = $result['id'];
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
// Handle the exception here
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
$updateData = [
|
||||
'client_policy_id' => $client_policy_id,
|
||||
'client_id' => $client_id,
|
||||
'name' => $name,
|
||||
'emp_code' => $emp_code,
|
||||
'uhid' => $uhid,
|
||||
'tpa_id' => $tpa_id
|
||||
];
|
||||
$missing_id_count = count($missing_id);
|
||||
$empty_id_count = count($empty_emp_tpa_uh_ids);
|
||||
|
||||
$this->employeePolicyModel->updateTPAIDorUHID($updateData);
|
||||
// dd($count, $missing_id_count, $empty_id_count, $data, $empty_emp_tpa_uh_ids);
|
||||
|
||||
if ($missing_id_count != $count && $missing_id_count != 0) {
|
||||
|
||||
return 2;
|
||||
}
|
||||
|
||||
if ($empty_emp_tpa_uh_ids != $count && $empty_id_count == 0) {
|
||||
|
||||
return 3;
|
||||
}
|
||||
|
||||
// dd($empty_emp_tpa_uh_ids);
|
||||
|
||||
$is_moved = $file->move(WRITEPATH . 'uploads/import_excel');
|
||||
$filename = $file->getName();
|
||||
$this->myLogger->logme('error', 'Inception Import file name : {data}', ['data' => $filename]);
|
||||
|
||||
$import_data['count'] = $count;
|
||||
$import_data['file_name'] = $filename;
|
||||
|
||||
|
||||
$this->insertBatchFileAndBatchListForImportExcel($import_data, $empty_emp_tpa_uh_ids);
|
||||
|
||||
// dd($import_data, $empty_emp_tpa_uh_ids);
|
||||
|
||||
|
||||
foreach ($data as $key => $value) {
|
||||
|
||||
if (!empty($value) && (isset($value[15]) || isset($value[16]))) {
|
||||
|
||||
$tpa_id = $value[15] !== null ? $value[15] : '';
|
||||
$uhid = $value[16] !== null ? $value[16] : '';
|
||||
|
||||
foreach ($empty_emp_tpa_uh_ids as $id) {
|
||||
// Update employee policies based on the ID
|
||||
$this->employeePolicyModel->where('id', $id)->set(['tpa_id' => $tpa_id, 'uhid' => $uhid])->update();
|
||||
}
|
||||
|
||||
// $query = $this->employeePolicyModel->getLastQuery();
|
||||
// echo $query . "<br>";
|
||||
|
||||
}else{
|
||||
} else {
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
$policy_name = $this->getPolicyNameUsingClientPolicyId($client_policy_id);
|
||||
$depositeData = [
|
||||
'employeeIds'=>$employeeIds,
|
||||
'employeeIds'=>$empty_emp_tpa_uh_ids,
|
||||
'client_id'=>$client_id,
|
||||
'client_policy_id'=>$client_policy_id,
|
||||
'count'=>$count,
|
||||
@ -579,6 +590,76 @@ class EmpDataServiceController extends BaseController
|
||||
$client_policy_id = $import_data['client_policy_id'];
|
||||
$file = $import_data['file'];
|
||||
|
||||
$data = $this->readExcelToArray($file);
|
||||
unset($data[0]);
|
||||
$count = count($data);
|
||||
|
||||
$missing_id = [];
|
||||
$empty_emp_tpa_uh_ids = [];
|
||||
foreach ($data as $key => $value) {
|
||||
|
||||
try {
|
||||
|
||||
if ($value[10] === null) {
|
||||
$missing_id[] = $key + 1;
|
||||
}
|
||||
|
||||
$emp_code = $value[0];
|
||||
$uhid = $value[1];
|
||||
$endorsement_id = $value[10] != null ? $value[10] : '';
|
||||
|
||||
$db = \Config\Database::connect();
|
||||
|
||||
// Execute the query
|
||||
$query = $db->table('emp_endorsement')
|
||||
->select('emp_endorsement.id')
|
||||
->join('employees', 'employees.id = emp_endorsement.pk')
|
||||
->join('employee_polices', 'employee_polices.employee_id = employees.id')
|
||||
->where('employee_polices.client_policy_id', $client_policy_id)
|
||||
->where('employees.client_id', $client_id)
|
||||
->where('employee_polices.uhid', $uhid)
|
||||
->where('employees.emp_code', $emp_code)
|
||||
->where('(emp_endorsement.endorsement_id IS NULL OR emp_endorsement.endorsement_id = "")')
|
||||
->groupBy('emp_endorsement.group_key')
|
||||
->limit(1);
|
||||
|
||||
// Get the result
|
||||
$result = $query->get()->getRowArray();
|
||||
if (isset($result['id']) && $result['id'] !== null) {
|
||||
$empty_emp_tpa_uh_ids[] = $result['id'];
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
// Handle the exception here
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
$missing_id_count = count($missing_id);
|
||||
$empty_id_count = count($empty_emp_tpa_uh_ids);
|
||||
|
||||
// if($missing_id_count != $count){
|
||||
|
||||
// return 2;
|
||||
// }
|
||||
|
||||
if($missing_id_count != 0 ){
|
||||
|
||||
return 2;
|
||||
}
|
||||
|
||||
// if($empty_emp_tpa_uh_ids != $count){
|
||||
|
||||
// return 3;
|
||||
// }
|
||||
|
||||
if( $empty_id_count == 0){
|
||||
|
||||
return 3;
|
||||
}
|
||||
|
||||
// dd($count, $missing_id, $missing_id_count, $empty_id_count, $data, $empty_emp_tpa_uh_ids);
|
||||
|
||||
|
||||
$is_moved = $file->move(WRITEPATH . 'uploads/import_excel');
|
||||
$filename = $file->getName();
|
||||
|
||||
@ -626,6 +707,7 @@ class EmpDataServiceController extends BaseController
|
||||
->where('employees.emp_code', $emp_code)
|
||||
->where('employees.is_active', 1)
|
||||
->first();
|
||||
|
||||
$batch_code_for_batch_list['emp_policy_id'] = $val['id'];
|
||||
$this->batchListModel->insert($batch_code_for_batch_list);
|
||||
|
||||
@ -679,6 +761,74 @@ class EmpDataServiceController extends BaseController
|
||||
$client_policy_id = $import_data['client_policy_id'];
|
||||
$file = $import_data['file'];
|
||||
|
||||
$data = $this->readExcelToArray($file);
|
||||
unset($data[0]);
|
||||
$count = count($data);
|
||||
|
||||
$missing_id = [];
|
||||
$empty_emp_tpa_uh_ids = [];
|
||||
foreach ($data as $key => $value) {
|
||||
|
||||
try {
|
||||
if ($value[19] === null) {
|
||||
$missing_id[] = $key + 1;
|
||||
}
|
||||
|
||||
$emp_name = $value[1];
|
||||
$emp_code = $value[2];
|
||||
$endorsement_id = $value[19] != null ? $value[19] : '';
|
||||
|
||||
$db = \Config\Database::connect();
|
||||
|
||||
// Execute the query
|
||||
$query = $db->table('emp_endorsement')
|
||||
->select('emp_endorsement.id')
|
||||
->join('employee_polices', 'employee_polices.id = emp_endorsement.pk')
|
||||
->join('employees', 'employees.emp_code = emp_endorsement.emp_code')
|
||||
->where('employees.emp_code', $emp_code)
|
||||
->where('employees.name', $emp_name)
|
||||
->where('employees.client_id', $client_id)
|
||||
->where('emp_endorsement.actions', 'si')
|
||||
->where('employee_polices.client_policy_id', $client_policy_id)
|
||||
->where('(emp_endorsement.endorsement_id IS NULL OR emp_endorsement.endorsement_id = "")')
|
||||
->groupBy('emp_endorsement.group_key');
|
||||
|
||||
// Get the result
|
||||
$result = $query->get()->getRowArray();
|
||||
if (isset($result['id']) && $result['id'] !== null) {
|
||||
$empty_emp_tpa_uh_ids[] = $result['id'];
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
// Handle the exception here
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
$missing_id_count = count($missing_id);
|
||||
$empty_id_count = count($empty_emp_tpa_uh_ids);
|
||||
|
||||
// if($missing_id_count != $count){
|
||||
|
||||
// return 2;
|
||||
// }
|
||||
|
||||
if($missing_id_count != 0 ){
|
||||
|
||||
return 2;
|
||||
}
|
||||
|
||||
// if($empty_emp_tpa_uh_ids != $count){
|
||||
|
||||
// return 3;
|
||||
// }
|
||||
|
||||
if( $empty_id_count == 0){
|
||||
|
||||
return 3;
|
||||
}
|
||||
|
||||
// dd($count, $missing_id, $missing_id_count, $empty_id_count, $data, $empty_emp_tpa_uh_ids);
|
||||
|
||||
$is_moved = $file->move(WRITEPATH . 'uploads/import_excel');
|
||||
$filename = $file->getName();
|
||||
|
||||
@ -775,10 +925,7 @@ class EmpDataServiceController extends BaseController
|
||||
$this->batchListModel->insert($batch_code_for_batch_list);
|
||||
array_push($employeeIds, $id);
|
||||
}
|
||||
|
||||
|
||||
// $query = $this->employeePolicyModel->getLastQuery();
|
||||
// echo $query . "<br>";
|
||||
}else{
|
||||
|
||||
return 0;
|
||||
@ -811,6 +958,77 @@ class EmpDataServiceController extends BaseController
|
||||
$file = $import_data['file'];
|
||||
|
||||
|
||||
$data = $this->readExcelToArray($file);
|
||||
unset($data[0]);
|
||||
array_pop($data);
|
||||
$count = count($data);
|
||||
|
||||
$missing_id = [];
|
||||
$empty_emp_tpa_uh_ids = [];
|
||||
foreach ($data as $key => $value) {
|
||||
|
||||
try {
|
||||
|
||||
if ($value[15] === null) {
|
||||
$missing_id[] = $key + 1;
|
||||
}
|
||||
|
||||
$emp_name = $value[2]; //employee name
|
||||
$emp_code = $value[1]; //employee code
|
||||
$date_of_exit = $value[7]; // date of releving
|
||||
$endorsement_id = $value[15] != null ? $value[15] : ''; //endorsement id
|
||||
|
||||
$db = \Config\Database::connect();
|
||||
|
||||
// Execute the query
|
||||
$query = $db->table('emp_endorsement')
|
||||
->select('emp_endorsement.id')
|
||||
->join('employee_polices', 'employee_polices.id = emp_endorsement.pk')
|
||||
->join('employees', 'employees.emp_code = emp_endorsement.emp_code')
|
||||
->where('employees.emp_code', $emp_code)
|
||||
->where('employees.name', $emp_name)
|
||||
->where('employees.client_id', $client_id)
|
||||
->where('emp_endorsement.actions', 'd')
|
||||
->where('employee_polices.client_policy_id', $client_policy_id)
|
||||
->where('(emp_endorsement.endorsement_id IS NULL OR emp_endorsement.endorsement_id = "")')
|
||||
->groupBy('emp_endorsement.group_key');
|
||||
|
||||
$result = $query->get()->getRowArray();
|
||||
if (isset($result['id']) && $result['id'] !== null) {
|
||||
$empty_emp_tpa_uh_ids[] = $result['id'];
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
// Handle the exception here
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
$missing_id_count = count($missing_id);
|
||||
$empty_id_count = count($empty_emp_tpa_uh_ids);
|
||||
|
||||
|
||||
// if($missing_id_count != $count){
|
||||
|
||||
// return 2;
|
||||
// }
|
||||
|
||||
if($missing_id_count != 0 ){
|
||||
|
||||
return 2;
|
||||
}
|
||||
|
||||
// if($empty_emp_tpa_uh_ids != $count){
|
||||
|
||||
// return 3;
|
||||
// }
|
||||
|
||||
if( $empty_id_count == 0){
|
||||
|
||||
return 3;
|
||||
}
|
||||
|
||||
// dd($count, $missing_id_count, $empty_id_count, $data, $empty_emp_tpa_uh_ids);
|
||||
|
||||
$is_moved = $file->move(WRITEPATH . 'uploads/import_excel');
|
||||
$filename = $file->getName();
|
||||
|
||||
@ -1247,7 +1465,8 @@ class EmpDataServiceController extends BaseController
|
||||
|
||||
|
||||
|
||||
public function readExcelToArray($file){
|
||||
public function readExcelToArray($file)
|
||||
{
|
||||
|
||||
if ($file->isValid() && !$file->hasMoved()) {
|
||||
$file = $file;
|
||||
@ -1276,4 +1495,26 @@ class EmpDataServiceController extends BaseController
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function insertBatchFileAndBatchListForImportExcel($data, $ids)
|
||||
{
|
||||
|
||||
$random_number_count = 4;
|
||||
$data['batch_code'] = generate_random_string($random_number_count);
|
||||
$data['created_by'] = get_session_userid();
|
||||
|
||||
$insert = $this->batchFileModel->insert($data);
|
||||
$batch_file_batch_code = $this->batchFileModel->where('id', $insert)->first();
|
||||
|
||||
if($insert){
|
||||
foreach($ids as $id){
|
||||
$batch_list_data['batch_code'] = $batch_file_batch_code['batch_code'];
|
||||
$batch_list_data['emp_policy_id'] = $id;
|
||||
$batch_list_data['created_by'] = get_session_userid();
|
||||
$this->batchListModel->insert($batch_list_data);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -397,15 +397,16 @@ class EmployeeController extends AdminController
|
||||
return redirect()->to(base_url('employee/upload'));
|
||||
|
||||
}else if($return == 2){
|
||||
session()->setFlashdata('error', 'File not found');
|
||||
session()->setFlashdata('error', 'The TPA ID or UHID columns are empty.');
|
||||
return redirect()->to(base_url('employee/upload'));
|
||||
|
||||
}else if($return == 0){
|
||||
session()->setFlashdata('error', 'Something went wrong');
|
||||
session()->setFlashdata('error', 'Please upload the correct file, something went wrong.');
|
||||
return redirect()->to(base_url('employee/upload'));
|
||||
}
|
||||
|
||||
}else if($event_type == 'correction'){
|
||||
}else if($return == 3){
|
||||
session()->setFlashdata('error', 'File already uploaded');
|
||||
return redirect()->to(base_url('employee/upload'));
|
||||
} }else if($event_type == 'correction'){
|
||||
|
||||
$return = $empDataServiceController->importExcelDataForCorrection($batch_data);
|
||||
if($return == 1){
|
||||
@ -413,11 +414,14 @@ class EmployeeController extends AdminController
|
||||
return redirect()->to(base_url('employee/upload'));
|
||||
|
||||
}else if($return == 2){
|
||||
session()->setFlashdata('error', 'File not found');
|
||||
session()->setFlashdata('error', 'The Endorsement ID columns are empty.');
|
||||
return redirect()->to(base_url('employee/upload'));
|
||||
|
||||
}else if($return == 0){
|
||||
session()->setFlashdata('error', 'Something went wrong');
|
||||
session()->setFlashdata('error', 'Please upload the correct file, something went wrong.');
|
||||
return redirect()->to(base_url('employee/upload'));
|
||||
}else if($return == 3){
|
||||
session()->setFlashdata('error', 'File already uploaded');
|
||||
return redirect()->to(base_url('employee/upload'));
|
||||
}
|
||||
|
||||
@ -429,11 +433,14 @@ class EmployeeController extends AdminController
|
||||
return redirect()->to(base_url('employee/upload'));
|
||||
|
||||
}else if($return == 2){
|
||||
session()->setFlashdata('error', 'File not found');
|
||||
session()->setFlashdata('error', 'The Endorsement ID columns are empty.');
|
||||
return redirect()->to(base_url('employee/upload'));
|
||||
|
||||
}else if($return == 0){
|
||||
session()->setFlashdata('error', 'Something went wrong');
|
||||
session()->setFlashdata('error', 'Please upload the correct file, something went wrong.');
|
||||
return redirect()->to(base_url('employee/upload'));
|
||||
}else if($return == 3){
|
||||
session()->setFlashdata('error', 'File already uploaded');
|
||||
return redirect()->to(base_url('employee/upload'));
|
||||
}
|
||||
|
||||
@ -445,11 +452,14 @@ class EmployeeController extends AdminController
|
||||
return redirect()->to(base_url('employee/upload'));
|
||||
|
||||
}else if($return == 2){
|
||||
session()->setFlashdata('error', 'File not found');
|
||||
session()->setFlashdata('error', 'The Endorsement ID columns are empty.');
|
||||
return redirect()->to(base_url('employee/upload'));
|
||||
|
||||
}else if($return == 0){
|
||||
session()->setFlashdata('error', 'Something went wrong');
|
||||
session()->setFlashdata('error', 'Please upload the correct file, something went wrong.');
|
||||
return redirect()->to(base_url('employee/upload'));
|
||||
}else if($return == 3){
|
||||
session()->setFlashdata('error', 'File already uploaded');
|
||||
return redirect()->to(base_url('employee/upload'));
|
||||
}
|
||||
|
||||
|
||||
@ -15,8 +15,8 @@ class LoginController extends BaseController
|
||||
|
||||
public function index(){
|
||||
|
||||
//$session_data = ['isLoggedIn' => True ,'userid' => '25'];
|
||||
//set_session_data($session_data);
|
||||
$session_data = ['isLoggedIn' => True ,'userid' => '25'];
|
||||
set_session_data($session_data);
|
||||
// $isLoggedIn = check_session();
|
||||
$isLoggedIn = check_session();
|
||||
|
||||
|
||||
@ -80,7 +80,7 @@ class ClientPolicyModel extends Model
|
||||
->join('policies', 'policies.id = client_policy.policy_id')
|
||||
->join('policy_type', 'policy_type.id = policies.policy_type_id')
|
||||
->where('client_policy.client_id', $client_id)
|
||||
->orderBy('client_policy.id', 'asc')
|
||||
->where('client_policy.policy_status', 1)
|
||||
->get()
|
||||
->getResult();
|
||||
|
||||
@ -119,6 +119,7 @@ class ClientPolicyModel extends Model
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function getinsurerswithclientid($id){
|
||||
|
||||
return $this->db->table('client_policy')
|
||||
@ -147,6 +148,7 @@ class ClientPolicyModel extends Model
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function getinsurerswithinsurenceid($insurerId){
|
||||
|
||||
return $this->db->table('client_policy')
|
||||
@ -160,11 +162,15 @@ class ClientPolicyModel extends Model
|
||||
->get()
|
||||
->getResult();
|
||||
}
|
||||
|
||||
|
||||
public function getClientById($id) {
|
||||
$query = $this->db->table('clients')->getWhere(['id' => $id]);
|
||||
// Debug statement
|
||||
return $query->getRow();
|
||||
}
|
||||
|
||||
|
||||
public function getDepositData($clientId, $insurerId)
|
||||
{
|
||||
// Fetch the deposit data based on client and insurer IDs
|
||||
@ -182,6 +188,7 @@ class ClientPolicyModel extends Model
|
||||
->get()
|
||||
->getResult();
|
||||
}
|
||||
|
||||
public function getDepositSummary($clientId, $insurerId)
|
||||
{
|
||||
// Fetch the sum of credit and debit transactions and calculate the balance
|
||||
@ -266,6 +273,71 @@ public function updateStatus(){
|
||||
|
||||
}
|
||||
|
||||
public function getpolicyWithPattern($client_id){
|
||||
|
||||
$query = "
|
||||
SELECT client_policy.*, policies.name, policies.policy_type_id
|
||||
FROM client_policy
|
||||
JOIN policies ON policies.id = client_policy.policy_id
|
||||
JOIN policy_type ON policy_type.id = policies.policy_type_id
|
||||
WHERE policy_type.policy_type = 'GMC'
|
||||
AND client_policy.client_id = {$client_id}";
|
||||
|
||||
$result = $this->db->query($query)->getResult();
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function getTopUpPolicy($client_id, $type){
|
||||
|
||||
$query = "
|
||||
SELECT client_policy.*, policies.name, policies.policy_type_id
|
||||
FROM client_policy
|
||||
JOIN policies ON policies.id = client_policy.policy_id
|
||||
JOIN policy_type ON policy_type.id = policies.policy_type_id
|
||||
WHERE policy_type.policy_type = '{$type}'
|
||||
AND client_policy.client_id = {$client_id}";
|
||||
|
||||
$result = $this->db->query($query)->getResult();
|
||||
|
||||
return $result;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function getClientPolicyByPolicyType($client_id, $type){
|
||||
|
||||
|
||||
$query = $this->db->table('client_policy')
|
||||
->select('client_policy.*, insurers.name as insurer_name, insurers.short_name as insurer_short')
|
||||
->select('tpa.name as tpa_name, tpa.short_name as tpa_short')
|
||||
->select('policies.name as policy_name, policies.policy_type_id')
|
||||
->select('policy_type.policy_type as policy_type_name')
|
||||
->select('insurer_branch.branch_name as insurer_branch_name, insurer_branch.branch_code as insurer_branch_code')
|
||||
->select('tpa_branch.branch_name as tpa_branch_name, tpa_branch.branch_code as tpa_branch_code')
|
||||
->join('insurers', 'insurers.id = client_policy.insurer_id')
|
||||
->join('insurer_branch', 'client_policy.insurer_branch_id = insurer_branch.id')
|
||||
->join('tpa', 'tpa.id = client_policy.tpa_id')
|
||||
->join('tpa_branch', 'client_policy.tpa_branch_id = tpa_branch.id')
|
||||
->join('policies', 'policies.id = client_policy.policy_id')
|
||||
->join('policy_type', 'policy_type.id = policies.policy_type_id')
|
||||
->where('client_policy.client_id', $client_id)
|
||||
->where('client_policy.policy_status', 1);
|
||||
|
||||
if ($type == 2) {
|
||||
$query->where('policy_type.policy_type', 'GMC - Top-up');
|
||||
} else if ($type == 3) {
|
||||
$query->whereIn('policy_type.policy_type', ['GMC - Parents', 'GMC - Top-up(Parents)']);
|
||||
}
|
||||
|
||||
$result = $query->get()->getResult();
|
||||
|
||||
return $result;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -679,4 +679,5 @@ class EmployeePolicyModel extends Model
|
||||
->whereIn('employee_polices.status', ['draft', 'enrolled'])
|
||||
->get()->getResultArray();
|
||||
}
|
||||
|
||||
}
|
||||
@ -24,6 +24,7 @@ class PolicyPremium1Model extends Model
|
||||
"created_by",
|
||||
"updated_by",
|
||||
'is_active',
|
||||
'premium_type',
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
@ -23,6 +23,7 @@ class PolicyPremium2Model extends Model
|
||||
"created_by",
|
||||
"updated_by",
|
||||
'is_active',
|
||||
'premium_type',
|
||||
|
||||
];
|
||||
|
||||
|
||||
@ -1,25 +1,32 @@
|
||||
<style>
|
||||
.table-responsive {
|
||||
overflow-x: auto;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="row" style="padding-bottom: 10px;">
|
||||
<div class="col-6" style="align-self: center;">
|
||||
<h4 class="header-title" style="position: relative;">Batch List</h4>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="row" style="padding-bottom: 10px;">
|
||||
<div class="col-6" style="align-self: center;">
|
||||
<h4 class="header-title" style="position: relative;">Batch List</h4>
|
||||
</div>
|
||||
<table class="table table-hover m-0 table-centered dt-responsive nowrap w-100" cellspacing="0" id="tickets-table">
|
||||
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
<table id="datatable-buttons" class="table table-hover m-0 table-centered dt-responsive nowrap w-100">
|
||||
<thead class="bg-light">
|
||||
<tr>
|
||||
<th class="font-weight-medium">SNO</th>
|
||||
<th class="font-weight-medium">Batch Code</th>
|
||||
<th class="font-weight-medium">File Name</th>
|
||||
<th class="font-weight-medium">Client</th>
|
||||
<th class="font-weight-medium">Client Policy</th>
|
||||
<th class="font-weight-medium">Event Type</th>
|
||||
<th class="font-weight-medium">Insurer/TPA</th>
|
||||
<th class="font-weight-medium">Action</th>
|
||||
<th class="font-weight-medium">Count</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="font-weight-medium">SNO</th>
|
||||
<th class="font-weight-medium">Batch Code</th>
|
||||
<th class="font-weight-medium">File Name</th>
|
||||
<th class="font-weight-medium">Client</th>
|
||||
<th class="font-weight-medium">Client Policy</th>
|
||||
<th class="font-weight-medium">Event Type</th>
|
||||
<th class="font-weight-medium">Insurer/TPA</th>
|
||||
<th class="font-weight-medium">Action</th>
|
||||
<th class="font-weight-medium">Count</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody class="font-12">
|
||||
@ -28,7 +35,7 @@
|
||||
{
|
||||
foreach ($batch_list as $key => $file) {
|
||||
?>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><b><?php echo ($key + 1)?></b></td>
|
||||
<td><?php echo $file['batch_code']?></td>
|
||||
@ -41,9 +48,40 @@
|
||||
<td><?php echo $file['count']?></td>
|
||||
</tr>
|
||||
<?php }}?>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- end col -->
|
||||
</div><!-- end col -->
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
$('#datatable-buttons').DataTable({
|
||||
dom: "<'row'<'col-sm-0'f><'col-sm-9 text-right'B>>" +
|
||||
"<'row'<'col-sm-12'tr>>" +
|
||||
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
|
||||
buttons: [{
|
||||
extend: 'csv',
|
||||
text: 'CSV',
|
||||
title: 'Batch List',
|
||||
className: 'my_class',
|
||||
}],
|
||||
initComplete: function(settings, json) {
|
||||
$('.my_class').css({
|
||||
position: "relative",
|
||||
left: "50px"
|
||||
});
|
||||
},
|
||||
language: {
|
||||
search: "_INPUT_",
|
||||
searchPlaceholder: "Search..."
|
||||
},
|
||||
paging: true
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
@ -46,6 +46,26 @@
|
||||
<div class="form-group">
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="email"> Policy Type<span class="text-danger">*</span></label>
|
||||
<select class="form-control" id="policy_type" name="is_addon" required>
|
||||
<option value="0">Select Policy Type</option>
|
||||
<?php foreach($policy_type as $key => $value) { ?>
|
||||
<option value="<?= $key ?>"><?= $value ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-4" id="base_policy_id" style="display: none;">
|
||||
<label for="addon_policy">Base Policy<span class="text-danger">*</span></label>
|
||||
<select class="form-control" id="base_policy" name="base_policy">
|
||||
<option value="" selected>Select Base Policy</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-row" id="first" style="display: none;">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="email">Insurer<span class="text-danger">*</span></label>
|
||||
<select class="form-control" id="insurer" name="insurer" required>
|
||||
@ -74,7 +94,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-row" id="second" style="display: none;">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="policy_start_date">Policy Start Date<span
|
||||
class="text-danger">*</span></label>
|
||||
@ -93,24 +113,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4" style="margin-top: 49px;">
|
||||
<label class="switch">
|
||||
<input id="is_addon" type="checkbox" name="is_addon"
|
||||
<?= (isset($client['is_addon']) && $client['is_addon'] == 1) ? 'checked' : '' ?>>
|
||||
<span class="slider round" style="height: 27px;"></span>
|
||||
</label>
|
||||
<label for="is_addon" style="position: absolute;left: 70px;bottom: 2px;">Is AddOn Policy</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-4" id="base_policy_id" style="display: none;">
|
||||
<label for="addon_policy">Base Policy<span class="text-danger">*</span></label>
|
||||
<select class="form-control" id="base_policy" name="base_policy">
|
||||
<option value="" selected>Select Base Policy</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="policy_fields"></div>
|
||||
|
||||
</div>
|
||||
@ -159,7 +161,6 @@ $(document).ready(function() {
|
||||
onChange: function(selectedDates, dateStr, instance) {
|
||||
var endDate = new Date(selectedDates[0]);
|
||||
endDate.setFullYear(endDate.getFullYear() + 1);
|
||||
|
||||
endDatePicker.setDate(endDate);
|
||||
}
|
||||
});
|
||||
@ -189,12 +190,11 @@ $(document).ready(function() {
|
||||
$('#table_list').hide();
|
||||
$('.btnBack').show();
|
||||
$('.btnAdd').hide();
|
||||
$('#insurer').val('');
|
||||
$('#tpa').val('');
|
||||
$('#start_date').val('');
|
||||
$('#end_date').val('');
|
||||
$('#policy').html('<option value="" selected>Select Policy</option>');
|
||||
$('#is_addon').prop('checked', false);
|
||||
$('#insurer').val('').change();
|
||||
$('#tpa').val('').change();
|
||||
$('#start_date').val('').change();
|
||||
$('#end_date').val('').change();
|
||||
$('#policy').html('<option value="" selected>Select Policy</option>').change();
|
||||
$('#policy_form_action').val('<?= base_url("client/policy/create"); ?>');
|
||||
$('#policy_status_field').hide()
|
||||
$('#base_policy_id').hide();
|
||||
@ -209,10 +209,10 @@ $(document).ready(function() {
|
||||
$('#table_list').show();
|
||||
$('.btnBack').hide();
|
||||
$('.btnAdd').show();
|
||||
$('#insurer').val('');
|
||||
$('#tpa').val('');
|
||||
$('#start_date').val('');
|
||||
$('#end_date').val('');
|
||||
$('#insurer').val('').change();
|
||||
$('#tpa').val('').change();
|
||||
$('#start_date').val('').change();
|
||||
$('#end_date').val('').change();
|
||||
$('#policy').html('<option value="" selected>Select Policy</option>');
|
||||
$('#base_policy_id').hide();
|
||||
|
||||
@ -353,7 +353,7 @@ $("#policy_form").submit(function(event) {
|
||||
search_term = 'GPA';
|
||||
} else {
|
||||
search_term =
|
||||
subject; // Set default value if neither 'GMC' nor 'GPA' exists
|
||||
subject; // Set default value if neither 'GMC' nor 'GPA' exists
|
||||
}
|
||||
|
||||
console.log('search_term :', search_term)
|
||||
@ -386,7 +386,6 @@ $("#policy_form").submit(function(event) {
|
||||
$('#start_date').val('');
|
||||
$('#end_date').val('');
|
||||
$('#policy').html('<option value="" selected>Select Policy</option>');
|
||||
$('#is_addon').prop('checked', false);
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
@ -420,7 +419,8 @@ $(document).ready(function() {
|
||||
var OptionsHTML = '';
|
||||
OptionsHTML += '<option value="" selected>Select Policy</option>';
|
||||
$.each(res.data, function(index, item) {
|
||||
OptionsHTML += '<option data-id="' + item.policy_type_id + '" value="' + item.id +
|
||||
OptionsHTML += '<option data-id="' + item.policy_type_id + '" value="' +
|
||||
item.id +
|
||||
'">' + item.name + '</option>';
|
||||
});
|
||||
|
||||
@ -441,14 +441,15 @@ $(document).ready(function() {
|
||||
console.log('id', id)
|
||||
$('#policy_type_id').val(dataId);
|
||||
|
||||
$('#base_policy option').each(function() {
|
||||
var val = $(this).val();
|
||||
if (val == id) {
|
||||
$(this).hide(); // Hide the option if its value matches the selected value of #policy
|
||||
} else {
|
||||
$(this).show(); // Show all other options
|
||||
}
|
||||
});
|
||||
// $('#base_policy option').each(function() {
|
||||
// var val = $(this).val();
|
||||
// if (val == id) {
|
||||
// $(this)
|
||||
// .hide(); // Hide the option if its value matches the selected value of #policy
|
||||
// } else {
|
||||
// $(this).show(); // Show all other options
|
||||
// }
|
||||
// });
|
||||
|
||||
// if(dataId == 1){
|
||||
// appendPolicyFormFields(1);
|
||||
@ -463,10 +464,7 @@ $(document).ready(function() {
|
||||
$('body').on('click', '.btnPolicyEdit', function() {
|
||||
|
||||
var policy_form_action = '';
|
||||
// var policy_id = $(this).data('id');
|
||||
// console.log('1', policy_id)
|
||||
var policy_id = $(this).attr('data-id');
|
||||
// console.log('2', policy_id)
|
||||
|
||||
$('.loader').fadeIn();
|
||||
$('.loader-mask').fadeIn();
|
||||
@ -475,13 +473,14 @@ $('body').on('click', '.btnPolicyEdit', function() {
|
||||
type: "GET",
|
||||
dataType: 'json',
|
||||
success: function(res) {
|
||||
|
||||
console.log(res)
|
||||
|
||||
setTimeout(function() {
|
||||
$('.loader').fadeOut();
|
||||
$('.loader-mask').delay(350).fadeOut('slow');
|
||||
}, 1000);
|
||||
// console.log('clientPolicy : ', res);
|
||||
|
||||
$('#policy_form_action').val('<?= base_url("client/policy/edit"); ?>');
|
||||
|
||||
if (res.status === false) {
|
||||
@ -496,8 +495,9 @@ $('body').on('click', '.btnPolicyEdit', function() {
|
||||
|
||||
$('#insurer').val(res.data.insurer_branch_id + '-' + res.data.insurer_id).change();
|
||||
$('#tpa').val(res.data.tpa_branch_id + '-' + res.data.tpa_id).change();
|
||||
$('#policy').val(res.data.policy_id).change();
|
||||
|
||||
// $('#policy').val(res.data.policy_id).change();
|
||||
$('#policy_type').val(res.data.is_addon).change();
|
||||
$('#base_policy').val(res.data.base_policy);
|
||||
|
||||
$('#policy_type_id').val(res.data.policy_type_id);
|
||||
$('#policy_PrimaryKey').val(res.data.id);
|
||||
@ -506,27 +506,25 @@ $('body').on('click', '.btnPolicyEdit', function() {
|
||||
$('#policy_status').val(checkDateStatus(res.data.policy_end_date));
|
||||
$('#policy_status_field').show();
|
||||
|
||||
if (res.data.is_addon == 1) {
|
||||
$('#is_addon').prop('checked', true);
|
||||
if (res.data.is_addon != '1' && res.data.is_addon != '0') {
|
||||
$('#base_policy_id').show();
|
||||
} else {
|
||||
$('#is_addon').prop('checked', false);
|
||||
$('#base_policy').prop('required', true);
|
||||
$('#first').show();
|
||||
$('#second').show();
|
||||
} else if (res.data.is_addon == '0') {
|
||||
$('#first').hide();
|
||||
$('#second').hide();
|
||||
$('#base_policy_id').hide();
|
||||
$('#base_policy').prop('required', false);
|
||||
} else if (res.data.is_addon == '1') {
|
||||
$('#first').show();
|
||||
$('#second').show();
|
||||
$('#base_policy_id').hide();
|
||||
$('#base_policy').prop('required', false);
|
||||
}
|
||||
|
||||
/** do not delete this comment condition
|
||||
|
||||
// if(res.data.policy_type_id == 1){
|
||||
// appendPolicyFormFields(1, res.data);
|
||||
// }else if(res.data.policy_type_id >= 2) {
|
||||
// appendPolicyFormFields(2, res.data);
|
||||
// }
|
||||
|
||||
do not delete this comment condition **/
|
||||
|
||||
var policeOptionHTML = '';
|
||||
$.each(res.policy, function(index, item) {
|
||||
// console.log(item)
|
||||
policeOptionHTML += '<option data-id="' + item.policy_type_id +
|
||||
'" value="' + item.id + '" ' + (res.data.policy_id === item.id ?
|
||||
'selected="selected"' : '') + '>' + item.name + '</option>';
|
||||
@ -536,17 +534,15 @@ $('body').on('click', '.btnPolicyEdit', function() {
|
||||
var OptionsHTML = '';
|
||||
OptionsHTML += '<option value="" selected>Select Base Policy</option>';
|
||||
$.each(res.client_policy_list, function(index, item) {
|
||||
if (res.data.policy_id !== item.id) {
|
||||
OptionsHTML += '<option data-id="' + item.policy_type_id +
|
||||
'" value="' + item.id + '" ' + (res.data.base_policy === item.id ?
|
||||
'selected="selected"' : '') + '>' + item.name + '</option>';
|
||||
}
|
||||
OptionsHTML += '<option data-id="' + item.policy_type_id +
|
||||
'" value="' + item.id + '" ' + (res.data.base_policy === item.id ?
|
||||
'selected="selected"' : '') + '>' + item.name + '</option>';
|
||||
});
|
||||
$('#base_policy').html(OptionsHTML);
|
||||
|
||||
setTimeout(function() {
|
||||
$('#policy').val(res.data.policy_id).change();
|
||||
$('#base_policy').change();
|
||||
}, 1000);
|
||||
}, 3000);
|
||||
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
@ -561,6 +557,7 @@ $('body').on('click', '.btnPolicyEdit', function() {
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
$('body').on('click', '.btnOpenEnroll', function() {
|
||||
|
||||
var client_policy_id = $(this).attr('data-id');
|
||||
@ -978,19 +975,41 @@ function removeClientPolicy(element) {
|
||||
}
|
||||
|
||||
|
||||
$('#is_addon').change(function() {
|
||||
$('#policy_type').change(function() {
|
||||
|
||||
$('#insurer').val('').change();
|
||||
$('#tpa').val('').change();
|
||||
$('#start_date').val('');
|
||||
$('#end_date').val('');
|
||||
$('#base_policy').val('0');
|
||||
|
||||
if ($(this).val() != '1' && $(this).val() != '0') {
|
||||
|
||||
if ($(this).is(':checked')) {
|
||||
$('#base_policy_id').show();
|
||||
$('#base_policy').prop('required', true);
|
||||
}else{
|
||||
$('#first').show();
|
||||
$('#second').show();
|
||||
|
||||
} else if ($(this).val() == '0'){
|
||||
|
||||
$('#first').hide();
|
||||
$('#second').hide();
|
||||
$('#base_policy_id').hide();
|
||||
$('#base_policy').prop('required', false);
|
||||
|
||||
|
||||
} else if ($(this).val() == '1'){
|
||||
|
||||
$('#first').show();
|
||||
$('#second').show();
|
||||
$('#base_policy_id').hide();
|
||||
$('#base_policy').prop('required', false);
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
|
||||
function fetchClientPolicyList(){
|
||||
function fetchClientPolicyList() {
|
||||
|
||||
var client_id = $('#client_id_policy').val()
|
||||
|
||||
@ -999,7 +1018,8 @@ function fetchClientPolicyList(){
|
||||
type: "GET",
|
||||
dataType: 'json',
|
||||
success: function(res) {
|
||||
console.log(res)
|
||||
|
||||
console.log('one',res)
|
||||
|
||||
setTimeout(function() {
|
||||
$('.loader').fadeOut();
|
||||
@ -1031,4 +1051,75 @@ function fetchClientPolicyList(){
|
||||
|
||||
}
|
||||
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
$('#base_policy').change(function() {
|
||||
|
||||
var client_policy_id = $(this).val()
|
||||
var policy_type = $('#policy_type').val()
|
||||
console.log(client_policy_id);
|
||||
|
||||
var queryParams = {
|
||||
client_policy_id: client_policy_id,
|
||||
policy_type: policy_type,
|
||||
};
|
||||
|
||||
const queryString = objectToQueryString(queryParams);
|
||||
// var uri = '<?= base_url('util/fetch-policy-for-policy-type')?>?' + queryString
|
||||
var uri = '<?= base_url('client/policy/list/')?>' + client_policy_id
|
||||
console.log('uri', uri)
|
||||
console.log('queryString', queryString)
|
||||
|
||||
$('.loader').fadeIn();
|
||||
$('.loader-mask').fadeIn();
|
||||
|
||||
$.ajax({
|
||||
url: uri,
|
||||
type: "GET",
|
||||
dataType: 'json',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: function(res) {
|
||||
|
||||
console.log(res)
|
||||
|
||||
setTimeout(function() {
|
||||
$('.loader').fadeOut();
|
||||
$('.loader-mask').delay(350).fadeOut('slow');
|
||||
}, 500);
|
||||
|
||||
$('#insurer').val(res.data.insurer_branch_id + '-' + res.data.insurer_id).change();
|
||||
$('#tpa').val(res.data.tpa_branch_id + '-' + res.data.tpa_id).change();
|
||||
$('#start_date').val(rearrangeDateFormat(res.data.policy_start_date)).change();
|
||||
$('#end_date').val(rearrangeDateFormat(res.data.policy_end_date)).change();
|
||||
|
||||
|
||||
var policeOptionHTML = '';
|
||||
$.each(res.policy, function(index, item) {
|
||||
console.log(item)
|
||||
policeOptionHTML += '<option data-id="' + item.policy_type_id +
|
||||
'" value="' + item.id + '" ' + (res.data.policy_id === item.id ?
|
||||
'selected="selected"' : '') + '>' + item.name + '</option>';
|
||||
});
|
||||
$('#policy').html(policeOptionHTML);
|
||||
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
console.error(status, error);
|
||||
setTimeout(function() {
|
||||
$('.loader').fadeOut();
|
||||
$('.loader-mask').delay(350).fadeOut('slow');
|
||||
toastr.warning('Something Wrong!', 'warning');
|
||||
}, 500);
|
||||
}
|
||||
});
|
||||
});
|
||||
})
|
||||
|
||||
function objectToQueryString(obj) {
|
||||
return Object.keys(obj).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`).join('&');
|
||||
}
|
||||
|
||||
</script>
|
||||
@ -1,3 +1,29 @@
|
||||
<style>
|
||||
|
||||
.badge2 {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.badge2-secondary2 {
|
||||
color: #fff;
|
||||
background-color: #187607;
|
||||
}
|
||||
|
||||
.badge2 {
|
||||
display: inline-block;
|
||||
padding: .25em .4em;
|
||||
font-size: 75%;
|
||||
font-weight: 700;
|
||||
line-height: 1;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
vertical-align: baseline;
|
||||
border-radius: .25rem;
|
||||
transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div class="row" id="client_list">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
@ -20,6 +46,7 @@
|
||||
<th class="font-weight-medium">TPA ID</th>
|
||||
<th class="font-weight-medium">UHID ID</th>
|
||||
<th class="font-weight-medium">Policy status</th>
|
||||
<th class="font-weight-medium">Sum Insured</th>
|
||||
<th class="font-weight-medium">Premium</th>
|
||||
<th class="font-weight-medium">Action</th>
|
||||
</tr>
|
||||
@ -49,11 +76,14 @@
|
||||
echo '<span class="badge badge-warning">' . $employee['status'] . '</span>';
|
||||
}elseif ($employee['status'] == 'expired') {
|
||||
echo '<span class="badge badge-danger">' . $employee['status'] . '</span>';
|
||||
}elseif ($employee['status'] == 'enrolled') {
|
||||
echo '<span class="badge2 badge2-secondary2">' . $employee['status'] . '</span>';
|
||||
}else{
|
||||
echo $employee['status'];
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
<td> <?php echo $employee['basic_cover_si']?> </td>
|
||||
<td><?php echo $employee['premium']?></td>
|
||||
<td>
|
||||
<div class="btn-group dropdown">
|
||||
@ -82,4 +112,40 @@
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- end col -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
$('#tickets-table').DataTable({
|
||||
dom: "<'row'<'col-sm-0'f><'col-sm-9 text-right'B>>" +
|
||||
"<'row'<'col-sm-12'tr>>" +
|
||||
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
|
||||
"buttons": [{
|
||||
"extend": 'csv',
|
||||
"text": 'CSV',
|
||||
"title": 'Employee-List',
|
||||
"className": 'my_class',
|
||||
"exportOptions": {
|
||||
"columns": ':not(:last-child)'
|
||||
},
|
||||
}],
|
||||
"initComplete": function(settings, json) {
|
||||
$('.my_class').css({
|
||||
"position": "relative",
|
||||
"left": "82px"
|
||||
});
|
||||
},
|
||||
language: {
|
||||
search: "_INPUT_",
|
||||
searchPlaceholder: "Search..."
|
||||
},
|
||||
paging: true ,
|
||||
// pagingType: 'full_numbers'
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
@ -264,4 +264,6 @@ document.getElementById('toggleIcon').addEventListener('click', function() {
|
||||
icon.classList.toggle('mdi-chevron-up');
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
@ -7,6 +7,12 @@
|
||||
table.dataTable tbody td {
|
||||
padding: 4px 4px !important;
|
||||
}
|
||||
|
||||
.btn .btn-secondary .buttons-csv .buttons-html5 .my_class{
|
||||
position: relative;
|
||||
left: 79px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div class="row">
|
||||
@ -489,4 +495,35 @@ $('.close').click(function(){
|
||||
$('#table_data').empty();
|
||||
})
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
$('#tickets-table').DataTable({
|
||||
dom: "<'row'<'col-sm-0'f><'col-sm-9 text-right'B>>" +
|
||||
"<'row'<'col-sm-12'tr>>" +
|
||||
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
|
||||
"buttons": [{
|
||||
"extend": 'csv',
|
||||
"text": 'CSV',
|
||||
"title": 'Endorsement-List',
|
||||
"className": 'my_class',
|
||||
"exportOptions": {
|
||||
"columns": ':not(:last-child)'
|
||||
},
|
||||
}],
|
||||
"initComplete": function(settings, json) {
|
||||
$('.my_class').css({
|
||||
"position": "relative",
|
||||
"left": "79px"
|
||||
});
|
||||
},
|
||||
language: {
|
||||
search: "_INPUT_",
|
||||
searchPlaceholder: "Search..."
|
||||
},
|
||||
paging: true ,
|
||||
// pagingType: 'full_numbers'
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
@ -296,4 +296,34 @@ $('body').on('click', '.reload', function() {
|
||||
window.location.reload(true);
|
||||
}
|
||||
})
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
$('#tickets-table').DataTable({
|
||||
dom: "<'row'<'col-sm-0'f><'col-sm-9 text-right'B>>" +
|
||||
"<'row'<'col-sm-12'tr>>" +
|
||||
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
|
||||
"buttons": [{
|
||||
"extend": 'csv',
|
||||
"text": 'CSV',
|
||||
"title": 'Employee-Upload-List',
|
||||
"className": 'my_class',
|
||||
"exportOptions": {
|
||||
"columns": ':not(:last-child)'
|
||||
},
|
||||
}],
|
||||
"initComplete": function(settings, json) {
|
||||
$('.my_class').css({
|
||||
"position": "relative",
|
||||
"left": "79px"
|
||||
});
|
||||
},
|
||||
language: {
|
||||
search: "_INPUT_",
|
||||
searchPlaceholder: "Search..."
|
||||
},
|
||||
paging: true ,
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
@ -20,21 +20,21 @@
|
||||
<div class="form-group">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label>Client</label> <br />
|
||||
<label>Client<span class="text-danger">*</span></label> <br />
|
||||
<select name="client_id" class="form-control" id="client" required>
|
||||
<option value="">Select</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-4">
|
||||
<label>Policy</label> <br />
|
||||
<label>Policy<span class="text-danger">*</span></label> <br />
|
||||
<select name="client_policy_id" class="form-control" id="policy" required>
|
||||
<option value="">Select</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-4">
|
||||
<label>Insurer/TPA Data</label> <br />
|
||||
<label>Insurer/TPA Data<span class="text-danger">*</span></label> <br />
|
||||
<select name="insurer_or_tpa" class="form-control" id="insurer_or_tpa"
|
||||
required>
|
||||
<option value="">Select</option>
|
||||
@ -54,7 +54,7 @@
|
||||
<div class="form-row">
|
||||
|
||||
<div class="form-group col-md-4">
|
||||
<label>Action</label> <br />
|
||||
<label>Action<span class="text-danger">*</span></label> <br />
|
||||
<select name="action_type" class="form-control" id="action_type" required>
|
||||
<option value="">Select</option>
|
||||
<?php
|
||||
@ -70,7 +70,7 @@
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-4">
|
||||
<label>Event</label> <br />
|
||||
<label>Event<span class="text-danger">*</span></label> <br />
|
||||
<select name="event_type" class="form-control" id="upload-action-type"
|
||||
required>
|
||||
<option value="">Select</option>
|
||||
|
||||
@ -236,8 +236,8 @@
|
||||
$(window).on('load', function() {
|
||||
setTimeout(function() {
|
||||
$('.loader').fadeOut();
|
||||
$('.loader-mask').delay(350).fadeOut('slow');
|
||||
}, 1000);
|
||||
$('.loader-mask').fadeOut('slow');
|
||||
}, 2000);
|
||||
});
|
||||
</script>
|
||||
|
||||
@ -250,9 +250,8 @@
|
||||
<!-- Preloader -->
|
||||
<div class="loader-mask">
|
||||
<div class="loader">
|
||||
<div></div>
|
||||
<div></div>
|
||||
</div>
|
||||
<img src="<?= base_url()."public" ?>/assets/images/nhance-loader-fast.gif" height="40" width="40" alt="Loading...">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <img src="<?= base_url()."public" ?>/assets/images/nhance-loader-fast.gif" height="40" width="40" alt="Loading..."> -->
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user