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

This commit is contained in:
bitbucket 2024-04-16 13:24:34 +05:30
commit 54df411155
27 changed files with 2120 additions and 1211 deletions

View File

@ -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");
});
@ -236,6 +237,13 @@ $routes->group("/api", ["filter" => "authJWT"], function($routes){
$routes->get("/getEmployeeProfile", "EmployeeRestController::getEmployeeProfile/$1");
$routes->post("/editEmployeeProfile", "EmployeeRestController::editEmployeeProfile");
$routes->post("/calculatePremium", "EmployeeRestController::calculatePremium");
$routes->group("employeeRest", ["filter" => "authJWT"], function($routes){
$routes->get("getEmployeeProfile", "EmployeeRestController::getEmployeeProfile");

View File

@ -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;
@ -196,7 +196,8 @@ class ClientController extends AdminController
$subTypeOptions = [
1 => 'Deposit',
2 => 'Adjustment',
3 => 'Deletion',
3 => 'Refund',
4 => 'Debit',
// Add more options as needed
];
$data['subTypeOptions'] = $subTypeOptions;
@ -243,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';
@ -256,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();
@ -274,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);
@ -576,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;
@ -583,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');
@ -602,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);
@ -636,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);
@ -649,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');
@ -669,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);
@ -704,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'];
@ -719,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 = [];
@ -943,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);
@ -970,7 +977,7 @@ class ClientController extends AdminController
->where("employees.emp_status",'active')
->countAllResults();
if($emp_count = 0){
if($emp_count == 0){
$emp_count = true;
}else{
$emp_count = false;
@ -1252,7 +1259,7 @@ class ClientController extends AdminController
->where("employees.emp_status",'active')
->countAllResults();
if($emp_count = 0){
if($emp_count == 0){
$emp_count = true;
}else{
$emp_count = false;
@ -1366,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();
@ -1437,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);
@ -1451,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);
}
}

View File

@ -22,7 +22,8 @@ use App\Models\ClientDepositModel;
use App\Controllers\Jobs ;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
class EmpDataServiceController extends BaseController
{
@ -122,9 +123,27 @@ class EmpDataServiceController extends BaseController
// Define headers for the Excel file
$headers = [
'S.No', 'NAME OF EMP/DEP', 'EMP ID', 'EMP/DEP TYPE', 'RELATION', 'DOB', 'GENDER', 'PRE EXISTING AILMENTS',
'BASIC COVER SI', 'DATE OF COVERAGE', 'AGE', 'RELATIONSHIP', 'REMARKS', 'POLICY END DATE', 'NO OF DAYS', 'TPA ID', 'UHID',
'PREMIUM', 'PR0 RATA PREMIUM', 'GST', 'TOTAL'
'S.No',
'NAME OF EMP/DEP',
'EMP ID',
'EMP/DEP TYPE',
'RELATION',
'DOB',
'GENDER',
'PRE EXISTING AILMENTS',
'BASIC COVER SI',
'DATE OF COVERAGE',
'AGE',
'RELATIONSHIP',
'REMARKS',
'POLICY END DATE',
'NO OF DAYS',
'TPA ID',
'UHID',
'PREMIUM',
'PR0 RATA PREMIUM',
'GST',
'TOTAL'
];
// Generate Excel file
@ -445,95 +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'];
$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,
@ -554,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();
@ -601,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);
@ -654,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();
@ -678,7 +853,7 @@ class EmpDataServiceController extends BaseController
{
return 2;
}
$data = read_excel_file_to_array($file_name_with_path);
unset($data[0]);
$count = count($data);
@ -750,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;
@ -786,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();
@ -947,7 +1190,7 @@ class EmpDataServiceController extends BaseController
$data = [
'amount' => $amount->total_sum,
'sub_type_id' => 1,
'sub_type_id' => 4,
'client_id' => $arrayData['client_id'],
'insurer_id' => $insurer_id['insurer_id'],
'description' => $description,
@ -986,7 +1229,7 @@ class EmpDataServiceController extends BaseController
$data = [
'amount' => $amount->total_sum,
'sub_type_id' => 1,
'sub_type_id' => 4,
'client_id' => $arrayData['client_id'],
'insurer_id' => $insurer_id['insurer_id'],
'description' => $description,
@ -1027,7 +1270,7 @@ class EmpDataServiceController extends BaseController
$data = [
'amount' => $amount->total_sum,
'sub_type_id' => 1,
'sub_type_id' => 3,
'client_id' => $arrayData['client_id'],
'insurer_id' => $insurer_id['insurer_id'],
'description' => $description,
@ -1219,4 +1462,59 @@ class EmpDataServiceController extends BaseController
// -----------------------------------------------------------------------------------
public function readExcelToArray($file)
{
if ($file->isValid() && !$file->hasMoved()) {
$file = $file;
$reader = new Xlsx();
$spreadsheet = $reader->load($file->getPathname());
// Get the active sheet
$sheet = $spreadsheet->getActiveSheet();
// Iterate through rows to read data
$data = [];
foreach ($sheet->getRowIterator() as $row) {
$rowData = [];
foreach ($row->getCellIterator() as $cell) {
$rowData[] = $cell->getValue();
}
$data[] = $rowData;
}
return $data;
} else {
return false;
}
}
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;
}
}

View File

@ -158,7 +158,7 @@ class EmployeeController extends AdminController
// $this->fileModel->where('id', '12')->set(['status' => 'failed','reason' => $failure_reason])->update();
// dd($failure_reason);
// }
if($this->request->getMethod() == 'post')
{
//validate uploaded file
@ -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'));
}
@ -549,6 +559,19 @@ class EmployeeController extends AdminController
}
// @param int $client_policy_id
// this funciton initiate Inception/adition/DA of employees data only form enrollment app when passing
// client_policy_id pull draft and enrolled status employees and proceed to calculatin and make entry in DB
public function initiateManualEmployeesOnboardProcess($client_policy_id)
{
$empServiceController = new EmployeeServiceController();
$res = $empServiceController->employeesOnboardPreprocess(['client_policy_id' => $client_policy_id]);
dd($res);
}
public function downloadFileList($fileName = null)
{
// $actionType = $this->request->getGet();
@ -633,5 +656,6 @@ class EmployeeController extends AdminController
return $this->respond(['dataStatus' => false, 'code' => 500, 'data' => $html, 'file_data' => $file_name], 500);
}
}
}

View File

@ -1290,4 +1290,42 @@ public function iAgreeForAddOn()
return $this->respond(['status' => 'success','code' => 200,'data' => [] ], 200);
}
//Post method - which receives client_policy id and empcode of the family.
//Pull records againest emp code and calculate premium
// retun array
public function calculatePremium()//family level
{
helper('excel_util_helper');
$client_policy_id = $this->request->getVar('client_policy_id');
$emp_code = $this->request->getVar('emp_code');
// dd($client_policy_id);
$client_id = ($this->clientPolicyModel->select('client_id')->find($client_policy_id))['client_id'];
// get policy and rack details
$policy_terms = $this->clientPolicyModel->getPolicyDetails($client_id,$client_policy_id);
$policy_terms = (array) $policy_terms[0];// convert obj to array
//get policy slab rates
$slab_details = $this->policesModel->getPolicySlabRatesForEmpOnboard($client_policy_id,$client_id);
$existing_famility_details = $this->employeeModel->getEmpFamilybyEmpCode(client_id: $client_id,client_policy_id: $client_policy_id,emp_code: $emp_code,emp_status:['active'],policy_status:['active']);
$file = ['id' => null,'client_id' => $client_id,'policy_id' => $client_policy_id,'action' => 'inception'];
// dd($this->employeeModel->getLastQuery());
// dd($existing_famility_details);die();
$employee_data_group_by_family = data_group_by_family($existing_famility_details,$data_source = 'db');
// dd($employee_data_group_by_family);
foreach ($employee_data_group_by_family as $emp_id => $family)
{
$transformed_famility_details = transform_db_data_to_excel($family);
$data = calculate_premimum($transformed_famility_details,$policy_terms,$slab_details,$file);
// dd($data);
$employee_data_group_by_family[$emp_id] = $data;
}
// dd ($employee_data_group_by_family);
return $this->respond(['status' => 'success','code' => (count($employee_data_group_by_family) ? 200 : 404),'data' => [$employee_data_group_by_family] ], 200);
}
}

View File

@ -349,7 +349,7 @@ class EmployeeServiceController extends AdminController
//if action is DA then get all familiy members,transfrom them into excel array, addd data source as db or excel
if($file['action'] == 'dependent_addition')
{
$existing_famility_details = $this->employeeModel->getEmpFamilybyEmpCode(emp_code: $emp_id,client_id: $file['client_id'],client_policy_id: $file ['policy_id'],emp_status: 'active');
$existing_famility_details = $this->employeeModel->getEmpFamilybyEmpCode(emp_code: $emp_id,client_id: $file['client_id'],client_policy_id: $file ['policy_id'],emp_status: ['active'],policy_status:['active']);
// dd($existing_famility_details);
//transsform familiy details from db columns to exxcel row with column indexs for checking remaining functionalitites
$existing_famility_details = transform_db_data_to_excel($existing_famility_details,$file);
@ -531,7 +531,7 @@ class EmployeeServiceController extends AdminController
//if action is DA then get all familiy members,transfrom them into excel array, addd data source as db or excel
if($file['action'] == 'dependent_addition')
{
$existing_famility_details = $this->employeeModel->getEmpFamilybyEmpCode(emp_code: $emp_id,client_id: $file['client_id'],client_policy_id: $file ['policy_id'],emp_status: 'active');
$existing_famility_details = $this->employeeModel->getEmpFamilybyEmpCode(emp_code: $emp_id,client_id: $file['client_id'],client_policy_id: $file ['policy_id'],emp_status: ['active'],policy_status:['active']);
// dd($existing_famility_details);
//transsform familiy details from db columns to exxcel row with column indexs for checking remaining functionalitites
$existing_famility_details = transform_db_data_to_excel($existing_famility_details,$file);
@ -566,7 +566,7 @@ class EmployeeServiceController extends AdminController
//get policy slab rates
$slab_details = $this->policiesModel->getPolicySlabRatesForEmpOnboard($client_policy_id,$client_id);
$existing_famility_details = $this->employeeModel->getEmpFamilybyEmpCode(client_id: $client_id,client_policy_id: $client_policy_id,emp_status: 'enrolled');
$existing_famility_details = $this->employeeModel->getEmpFamilybyEmpCode(client_id: $client_id,client_policy_id: $client_policy_id,emp_status: ['enrolled','draft'],policy_status:['enrolled','draft']);
$file = ['id' => null,'client_id' => $client_id,'policy_id' => $client_policy_id,'action' => 'inception'];
// dd($this->employeeModel->getLastQuery());
@ -663,7 +663,7 @@ class EmployeeServiceController extends AdminController
else
{
$family = $this->employeeModel->getEmpFamilybyEmpCode(emp_code: $row[1],client_id: $file['client_id'],client_policy_id: $file ['policy_id'],emp_status: 'active');
$family = $this->employeeModel->getEmpFamilybyEmpCode(emp_code: $row[1],client_id: $file['client_id'],client_policy_id: $file ['policy_id'],emp_status: ['active'],policy_status: ['active']);
// Kint::dump($family);
foreach ($family as $key => $emp) {

View File

@ -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();

View File

@ -268,39 +268,25 @@ if (! function_exists('transform_objects_to_array_for_deletion')) {
if (!function_exists('add_totals_row')) {
function add_totals_row(Spreadsheet $spreadsheet, array $data, array $headers)
{
//find the index value
$rata = array_search('PRO RATA PREMIUM', $headers);
$gst = array_search('GST', $headers);
$total = array_search('TOTAL', $headers);
function add_totals_row(Spreadsheet $spreadsheet, array $data)
{
// Calculate GST, Pro Rata Premium, and Total sums
$gstSum = 0;
$proRataPremiumSum = 0;
$totalSum = 0;
foreach ($data as $row) {
$gstSum += $row[$gst];
$proRataPremiumSum += $row[$rata];
$totalSum += $row[$total];
$gstSum += $row[18];
$proRataPremiumSum += $row[19];
$totalSum += $row[20];
}
$cellValue = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
$prev_index = $rata - 1;
$cellValueTotal = $cellValue[$prev_index];
$cellValueRata = $cellValue[$rata];
$cellValueGST = $cellValue[$gst];
$cellValueTotalSum = $cellValue[$total];
// Add a new row with sums
$lastRow = count($data) + 1; // To get the last row number
$spreadsheet->getActiveSheet()->setCellValue($cellValueTotal . ($lastRow + 1), 'TOTALS');
$spreadsheet->getActiveSheet()->setCellValue($cellValueRata . ($lastRow + 1), $proRataPremiumSum);
$spreadsheet->getActiveSheet()->setCellValue($cellValueGST . ($lastRow + 1), $gstSum);
$spreadsheet->getActiveSheet()->setCellValue($cellValueTotalSum . ($lastRow + 1), $totalSum);
$spreadsheet->getActiveSheet()->setCellValue('R' . ($lastRow + 1), 'TOTALS');
$spreadsheet->getActiveSheet()->setCellValue('S' . ($lastRow + 1), $gstSum);
$spreadsheet->getActiveSheet()->setCellValue('T' . ($lastRow + 1), $proRataPremiumSum);
$spreadsheet->getActiveSheet()->setCellValue('U' . ($lastRow + 1), $totalSum);
}
}
@ -543,4 +529,4 @@ if (!function_exists('format_Excel_BasedOn_Client'))
return $data;
}
}
}

View File

@ -80,6 +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)
->where('client_policy.policy_status', 1)
->get()
->getResult();
@ -118,6 +119,7 @@ class ClientPolicyModel extends Model
}
public function getinsurerswithclientid($id){
return $this->db->table('client_policy')
@ -146,6 +148,7 @@ class ClientPolicyModel extends Model
}
public function getinsurerswithinsurenceid($insurerId){
return $this->db->table('client_policy')
@ -159,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
@ -181,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
@ -265,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;
}
}

View File

@ -88,7 +88,7 @@ class EmployeeModel extends Model
}
public function getEmpFamilybyEmpCode(string $client_policy_id = null,string $emp_code = null,string $client_id = null,string $emp_status = null)
public function getEmpFamilybyEmpCode(string $client_policy_id = null,string $emp_code = null,string $client_id = null,array $emp_status = [],array $policy_status = [])
{
$result = $this->select(['employees.id as emp_id', 'employees.client_id', 'employees.relationship', 'employees.relationship_code', 'employees.change_event', 'employees.emp_code', 'employees.name', 'employees.email_personal', 'employees.email_corporate', 'employees.mobile', 'employees.gender', 'employees.dob', 'employees.doj', 'employees.basic_pay', 'employees.band', 'employees.designation', 'employees.emp_status','employee_polices.id as emp_policy_id', 'employee_polices.employee_id', 'employee_polices.client_policy_id', 'employee_polices.tpa_id', 'employee_polices.uhid', 'employee_polices.batch_code', 'employee_polices.status', 'employee_polices.pre_existing_alignments', 'employee_polices.basic_cover_si', 'employee_polices.date_coverage', 'employee_polices.policy_end_date', 'employee_polices.days', 'employee_polices.premium', 'employee_polices.rata_premimum', 'employee_polices.gst', 'employee_polices.date_of_exit', 'employee_polices.reason_for_exit'])
->join('employee_polices', 'employee_polices.employee_id = employees.id')
@ -98,17 +98,18 @@ class EmployeeModel extends Model
})
->where('employee_polices.is_active',1)
->where('employees.emp_status', ($emp_status !== null ? $emp_status : 'active'))
// ->where('employees.emp_status', ($emp_status !== null ? $emp_status : 'active'))
// ->where('employees.emp_code',$emp_code)
->when($emp_code, function($query) use ($emp_code){
return $query->where('employees.emp_code',$emp_code);
})
// ->when($emp_status, function($query) use ($emp_status){
// $emp_status = ($emp_status !== null ? $emp_status : 'active');
// dd($emp_status);
// return $query->where('employees.emp_status', $emp_status);
// })
->when(count($emp_status), function($query) use ($emp_status){
return $query->whereIn('employees.emp_status', $emp_status);
})
->when(count($policy_status), function($query) use ($policy_status){
return $query->whereIn('employee_polices.status', $policy_status);
})
->when($client_id, function($query) use ($client_id){
return $query->where('employees.client_id',$client_id);
})

View File

@ -679,4 +679,5 @@ class EmployeePolicyModel extends Model
->whereIn('employee_polices.status', ['draft', 'enrolled'])
->get()->getResultArray();
}
}

View File

@ -24,6 +24,7 @@ class PolicyPremium1Model extends Model
"created_by",
"updated_by",
'is_active',
'premium_type',
];
}

View File

@ -23,6 +23,7 @@ class PolicyPremium2Model extends Model
"created_by",
"updated_by",
'is_active',
'premium_type',
];

View File

@ -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>

View File

@ -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>
@ -136,6 +138,14 @@
var policy_PrimaryKey = $('#client_id_policy').val();
var policy_client = $('#policy_PrimaryKey').val();
$(document).ready(function() {
// Initialize select2
$("#insurer").select2();
$("#policy").select2();
$("#tpa").select2();
$("#base_policy").select2();
});
$(document).ready(function() {
$('#policy_status_field').hide()
@ -151,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);
}
});
@ -181,16 +190,21 @@ $(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();
$('#first').hide();
$('#second').hide();
$('#base_policy_id').hide();
$('#base_policy').prop('required', false);
})
@ -201,10 +215,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();
@ -345,7 +359,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)
@ -378,7 +392,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);
@ -398,63 +411,66 @@ $("#policy_form").submit(function(event) {
});
});
/********* To get th POLICY base on Insurer *******/
$('#insurer').change(function() {
var id = $(this).val();
var parts = id.split('-');
var secondPart = parts[1];
var url = "<?= base_url("util/police-by-insurer/") ?>" + secondPart;
$(document).ready(function() {
/********* To get th POLICY base on Insurer *******/
$('#insurer').change(function() {
var id = $(this).val();
var parts = id.split('-');
var secondPart = parts[1];
var url = "<?= base_url("util/police-by-insurer/") ?>" + secondPart;
$.get(url, function(res) {
// res = JSON.parse(res)//
// console.log(res)
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 +
'">' + item.name + '</option>';
$.get(url, function(res) {
// res = JSON.parse(res)//
// console.log(res)
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 +
'">' + item.name + '</option>';
});
$('#policy').html(OptionsHTML);
}).fail(function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
});
$('#policy').html(OptionsHTML);
}).fail(function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
});
});
/********* set the Policy_Type_id for Form Submit *******/
$('#policy').change(function() {
$(document).ready(function() {
/********* set the Policy_Type_id for Form Submit *******/
$('#policy').change(function() {
var id = $(this).val();
var dataId = $(this).children('option:selected').attr('data-id');
console.log('id', id)
$('#policy_type_id').val(dataId);
var id = $(this).val();
var dataId = $(this).children('option:selected').attr('data-id');
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
// }
// });
// if(dataId == 1){
// appendPolicyFormFields(1);
// }else if (dataId >= 1){
// appendPolicyFormFields(2);
// }
$('#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);
// }else if (dataId >= 1){
// appendPolicyFormFields(2);
// }
});
// get the client policy data for edit
$('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();
@ -463,13 +479,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) {
@ -482,9 +499,12 @@ $('body').on('click', '.btnPolicyEdit', function() {
$('.btnBack').show();
$('.btnAdd').hide();
$('#insurer').val(res.data.insurer_branch_id + '-' + res.data.insurer_id);
$('#tpa').val(res.data.tpa_branch_id + '-' + res.data.tpa_id);
$('#policy').val(res.data.policy_id);
$('#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_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);
$('#start_date').val(rearrangeDateFormat(res.data.policy_start_date));
@ -492,27 +512,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>';
@ -522,13 +540,16 @@ $('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();
}, 3000);
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
@ -542,6 +563,7 @@ $('body').on('click', '.btnPolicyEdit', function() {
});
});
$('body').on('click', '.btnOpenEnroll', function() {
var client_policy_id = $(this).attr('data-id');
@ -959,19 +981,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()
@ -980,7 +1024,8 @@ function fetchClientPolicyList(){
type: "GET",
dataType: 'json',
success: function(res) {
console.log(res)
console.log('one',res)
setTimeout(function() {
$('.loader').fadeOut();
@ -1012,4 +1057,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>

View File

@ -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>

View File

@ -10,7 +10,7 @@ table.dataTable tbody td {
</style>
<div class="row">
<div class="col-xl-6">
<div class="col-xl-12">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
@ -75,6 +75,17 @@ table.dataTable tbody td {
<div id="loader" class="loader" style="display:none;">SPINNER</div>
<script>
$(document).ready(function() {
// Initialize select2
$("#clients").select2();
$("#policies").select2();
// if ($('.select2-selection__arrow').length > 0) {
// $('.select2-selection__arrow').removeClass('select2-selection__arrow').addClass('fa fa-chevron-down');
// }
});
// Declare a global variable to store API response data
var clientPolicies = [];
var client_id = '<?= isset($getData) ? $getData['client_id'] : '0' ?>';
@ -181,18 +192,19 @@ function appendPolicies(data) {
});
}
$(document).ready(function() {
$('#clients').on('change', function() {
var selectedClient = $(this).val();
console.log('selectedClient', selectedClient);
// $('#selectedOptionInfo').text('Selected option: ' + selectedOption);
$('#clients').on('change', function() {
var selectedClient = $(this).val();
console.log(selectedClient);
// $('#selectedOptionInfo').text('Selected option: ' + selectedOption);
// Check if the selected option exists in apiData
var foundPolicies = clientPolicies.find(function(item) {
return item.id === selectedClient;
// Check if the selected option exists in apiData
var foundPolicies = clientPolicies.find(function(item) {
return item.id === selectedClient;
});
console.log(foundPolicies.policies);
appendPolicies(foundPolicies.policies);
});
console.log(foundPolicies.policies);
appendPolicies(foundPolicies.policies);
});
@ -252,4 +264,6 @@ document.getElementById('toggleIcon').addEventListener('click', function() {
icon.classList.toggle('mdi-chevron-up');
});
</script>

View File

@ -1,14 +1,7 @@
<?php //echo fancy_date_time_format('2024-01-01 15:40:32');echo '<br>';?>
<?php //echo fancy_date_time_format('2024-02-01 15:40:32');echo '<br>';?>
<!-- <?php echo fancy_date_time_format('2024-02-10 15:40:32');echo '<br>';?> -->
<!-- <?php echo fancy_date_time_format('2024-02-13 14:40:32');echo '<br>';?> -->
<!-- <?php echo fancy_date_time_format('2024-02-13 14:58:00');echo '<br>';?> -->
<div class="tab-pane fade active show" id="general-q-tab">
<div class="row">
<div class="col-xl-6">
<div class="col-xl-12">
<div id="accordion1" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
@ -20,7 +13,8 @@
<div id="collapseTwo" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion1">
<div class="card-body">
<!-- <div class="text-center"> -->
<form class="parsley-examples" id="emp-upload-form" action="<?php echo base_url().'employee/upload'?>" method="post">
<form class="parsley-examples" id="emp-upload-form"
action="<?php echo base_url().'employee/upload'?>" method="post">
<input type="hidden" name="<?= csrf_token() ?>" value="<?= csrf_hash() ?>"
id="csrf_token">
@ -85,12 +79,14 @@
</div>
<div class="form-group col-md-2" style="margin-top: 26px;position: relative;left: 65px;"> OR </div>
<div class="form-group col-md-2"
style="margin-top: 26px;position: relative;left: 65px;"> OR </div>
<div class="form-group col-md-4" style="margin-top: 18px;">
<a class="btn btn-primary waves-effect waves-light justify-content-end"
id="fetch_enrolled_data" data-toggle="modal" data-target="#full-width-modal"
title="Download Sample Excel">Featch Enrolled Data</a>
id="fetch_enrolled_data" data-toggle="modal"
data-target="#full-width-modal" title="Download Sample Excel">Featch
Enrolled Data</a>
</div>
@ -125,7 +121,7 @@
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body" id="emp_data">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary">Save changes</button>
@ -155,6 +151,12 @@
<script>
$('#file_upload').hide();
$(document).ready(function() {
// Initialize select2
$("#client_id").select2();
$("#policy_id").select2();
});
// Declare a global variable to store API response data
var clientPolicies = [];
@ -472,17 +474,21 @@ function appendPolicies(data) {
});
}
$('#client_id').on('change', function() {
var selectedClient = $(this).val();
console.log(selectedClient);
// $('#selectedOptionInfo').text('Selected option: ' + selectedOption);
$(document).ready(function() {
// Check if the selected option exists in apiData
var foundPolicies = clientPolicies.find(function(item) {
return item.id === selectedClient;
$('#client_id').on('change', function() {
var selectedClient = $(this).val();
console.log(selectedClient);
// $('#selectedOptionInfo').text('Selected option: ' + selectedOption);
// Check if the selected option exists in apiData
var foundPolicies = clientPolicies.find(function(item) {
return item.id === selectedClient;
});
console.log(foundPolicies.policies);
appendPolicies(foundPolicies.policies);
});
console.log(foundPolicies.policies);
appendPolicies(foundPolicies.policies);
});
// Function to convert object to query parameters
@ -567,7 +573,7 @@ document.getElementById('toggleIcon1').addEventListener('click', function() {
icon.classList.toggle('mdi-chevron-up');
});
$('#fetch_enrolled_data').click(function(){
$('#fetch_enrolled_data').click(function() {
$('#emp_data').empty();
var client_id = $('#client_id').val();
@ -592,11 +598,11 @@ $('#fetch_enrolled_data').click(function(){
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
var uri = '<?= base_url('util/featch-emp-list')?>?'+queryString
var uri = '<?= base_url('util/featch-emp-list')?>?' + queryString
console.log(uri)
$.ajax({
url:uri,
url: uri,
data: {
client_id: client_id,
policy_id: policy_id
@ -624,12 +630,12 @@ $('#fetch_enrolled_data').click(function(){
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something went wrong', 'Warning');
toastr.warning('Something went wrong', 'Warning');
}, 1000);
}
});
})
//--------------------------------------------------------------------------------------
</script>

View File

@ -7,10 +7,16 @@
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">
<div class="col-xl-6">
<div class="col-xl-12">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
@ -173,6 +179,13 @@ table.dataTable tbody td {
<script>
$(document).ready(function() {
// Initialize select2
$("#clients").select2();
$("#policies").select2();
});
// Declare a global variable to store API response data
var clientPolicies = [];
var client_id = '<?= isset($getData) ? $getData['client_id'] : '0' ?>';
@ -274,17 +287,21 @@ function appendPolicies(data) {
});
}
$('#clients').on('change', function() {
var selectedClient = $(this).val();
console.log(selectedClient);
// $('#selectedOptionInfo').text('Selected option: ' + selectedOption);
$(document).ready(function() {
// Check if the selected option exists in apiData
var foundPolicies = clientPolicies.find(function(item) {
return item.id === selectedClient;
$('#clients').on('change', function() {
var selectedClient = $(this).val();
console.log(selectedClient);
// $('#selectedOptionInfo').text('Selected option: ' + selectedOption);
// Check if the selected option exists in apiData
var foundPolicies = clientPolicies.find(function(item) {
return item.id === selectedClient;
});
console.log(foundPolicies.policies);
appendPolicies(foundPolicies.policies);
});
console.log(foundPolicies.policies);
appendPolicies(foundPolicies.policies);
});
// Function to convert object to query parameters
@ -478,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>

View File

@ -25,7 +25,7 @@
<th class="font-weight-medium">SNO</th>
<th class="font-weight-medium">File name</th>
<th class="font-weight-medium">Client</th>
<th class="font-weight-medium">policy</th>
<th class="font-weight-medium">Policy</th>
<th class="font-weight-medium">Event</th>
<th class="font-weight-medium">User/Time</th>
<th class="font-weight-medium">Status</th>
@ -79,7 +79,7 @@
class="mdi mdi-upload mr-2 text-muted font-18 vertical-middle"></i>Re-Upload</a>
<?php } ?>
<a class="dropdown-item"
href="<?= base_url("util/download-file-list/").$file['file_name']; ?>"><i
href="<?= base_url("util/download-file-list/").$file['id']; ?>"><i
class="mdi mdi-download mr-2 text-muted font-18 vertical-middle"></i>Download</a>
<a data-id="<?php echo $file['id']?>" data-toggle="modal"
@ -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>

View File

@ -1,7 +1,7 @@
<div class="tab-pane fade" id="KYC-DOC-tab">
<div class="row">
<div class="col-xl-6">
<div class="col-xl-12">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
@ -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>
@ -134,6 +134,14 @@
<script>
$(document).ready(function() {
// Initialize select2
$("#client").select2();
$("#policy").select2();
});
// Declare a global variable to store API response data
var clientPolicies = [];
@ -288,6 +296,8 @@ function appendPolicies2(data) {
});
}
$(document).ready(function() {
$('#client').on('change', function() {
var selectedClient = $(this).val();
console.log(selectedClient);
@ -301,6 +311,8 @@ $('#client').on('change', function() {
appendPolicies2(foundPolicies.policies);
});
});
// Function to convert object to query parameters
function objectToQueryString2(obj) {
return Object.keys(obj).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`).join('&');

View File

@ -496,6 +496,8 @@
<!-- Jodit Js -->
<script src="<?= base_url()."public"; ?>/assets/js/jodit.min.js"></script>
<!-- select2 -->
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>

View File

@ -50,6 +50,9 @@
<!-- Sweet Alert CDN -->
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.10.4/dist/sweetalert2.all.min.js"></script>
<!-- select2 -->
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/css/select2.min.css" rel="stylesheet" type="text/css">
<link rel="manifest" href="../manifest.json">
@ -215,12 +218,26 @@
</style>
<style>
.select2-container--default .select2-selection--single {
height: 37px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
line-height: 35px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
top: 7px !important;
}
</style>
<script>
$(window).on('load', function() {
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}, 1000);
$('.loader-mask').fadeOut('slow');
}, 2000);
});
</script>
@ -233,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..."> -->

View File

@ -69,6 +69,11 @@
<script>
$(document).ready(function() {
$("#insurer_id").select2();
});
$(document).ready(function () {
var policy_type_PrimaryKey = $('#policy_type_id').val();
@ -288,7 +293,7 @@ $(document).ready(function () {
$('#branch_table').hide();
$('.btnBack').show();
$('#btnBranchAdd').hide();
$('#insurer_id').val(res.policies.insurer_id);
$('#insurer_id').val(res.policies.insurer_id).change();
$('#name').val(res.policies.name);
$('#policy_type_PrimaryKey').val(res.policies.id);

View File

@ -495,19 +495,16 @@
</div>
</div>
<!-- <hr> -->
<!-- <div class="form-row" id="grid_content_input">
</div> -->
<br>
</div>
<div class="form-group text-right m-b-0" style="margin-top: -49px;">
<div class="form-group text-right m-b-0" style="margin-top: -49px;" id="group_btn_1">
<a href="#" class="button-like" id="myButtonSpecialCondition" title="Special Condition">Special Condition</a>
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" id="btnGridSubmit" style="margin-top: 100px;">Submit</button>
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" id="btnGridSubmit1" style="margin-top: 100px;">Submit</button>
</div>
</form>
</div>
@ -660,7 +657,7 @@ var grid_html = '';
data: {client_policy_id: client_policy_id},
success: function(response) {
console.log('response',response);
console.log('count', response.count);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
@ -668,16 +665,23 @@ var grid_html = '';
$('#nameOfThePolicyInGMC').html(' - ' + response.policy_name.name);
$('gmc_emp_count').val(response.count);
if(response.count){
console.log('count--1', response.count);
$('emp_count').val(response.count)
if(response.count === false){
$("#btnGPATermsSubmit").prop("disabled", true);
}else{
$("#btnGPATermsSubmit").prop("disabled", false);
}
if (response && response.hasOwnProperty('count')) {
if (response.count === false) {
console.log('count -- 2', response.count);
console.log(document.getElementById('btnGridSubmit1'))
$("#btnGridSubmit1").hide();
$("#myButtonSpecialCondition").hide();
} else {
$("#btnGridSubmit1").show();
$("#myButtonSpecialCondition").show();
console.log('count -- ', response.count);
}
} else {
console.error('Response object does not have a "count" property or is invalid.');
}
}
if (response) {
let jsonObject = JSON.parse(response.data);

View File

@ -279,8 +279,7 @@
</div>
</div>
<br>
<div class="form-group text-right m-b-0" style="margin-top: -49px;">
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" id="btnGPATermsSubmit" style="margin-top: 100px;">Submit</button>
</div>
@ -464,22 +463,21 @@
success: function(res) {
console.log(res);
console.log('count', res.count);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}, 1000);
$('#nameOfThePolicyInGPA').html(' - ' + res.policy_name.name);
if(res.count){
$('#emp_count').val(res.count)
if(res.count === false){
$("#btnGPATermsSubmit").prop("disabled", true);
$("#btnGPATermsSubmit").hide();
}else{
$("#btnGPATermsSubmit").prop("disabled", false);
$("#btnGPATermsSubmit").show();
}
}
if (res) {

File diff suppressed because it is too large Load Diff