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

This commit is contained in:
vadivelJ96 2025-08-07 11:20:16 +05:30
commit aea961737e
14 changed files with 627 additions and 364 deletions

View File

@ -608,6 +608,8 @@ class ClientController extends AdminController
$data['policy_types'] = $this->policyTypeModel->findAll();
$data['policy_type'] = ['1' => 'Base Policy', '2' => 'SI Topup', '3' => 'Dependent Addon'];
$data['client_type'] = ['1' => 'Group', '2' => 'Retail'];
$data['clients'] = $this->clientModel->where('is_active', 1)->findAll();
$data['insurers'] = $this->insurerModel->where('is_active', 1)->findAll();
// echo "<pre>";
// print_r($data); die;
@ -2178,6 +2180,7 @@ class ClientController extends AdminController
$insurer_id = $client_policy_data['insurer_id'];
$client_id = $client_policy_data['client_id'];
$insurer_branch_id = $client_policy_data['insurer_branch_id'];
if (!empty($client_policy_data['policy_start_date'])) {
$client_policy_data['source_policy_start_date'] = change_date_format($client_policy_data['policy_start_date'], 'Y-m-d', 'd/m/Y');
@ -2198,7 +2201,8 @@ class ClientController extends AdminController
->findAll();
$client_policy_list = $this->clientPolicyModel->getPolicyTypeForPolicyBinding($client_id);
$cd_data = $this->CDMasterModel->where('client_id', $client_id)->where('insurer_id', $insurer_id)->where('is_active', 1)->findAll();
// $cd_data = $this->CDMasterModel->where('client_id', $client_id)->where('insurer_id', $insurer_id)->where('is_active', 1)->findAll();
$cd_data = $this->get_cd_ac($client_id, $insurer_id, $insurer_branch_id, "internal");
// $client_policy_data['policy_end_date'] = date('d/m/Y', strtotime($client_policy_data['policy_end_date']));
$fromDate = new \DateTime($client_policy_data['policy_end_date']);
$fromDate->modify('+1 year');
@ -2604,9 +2608,7 @@ class ClientController extends AdminController
'special_condition_input' => true,
'multiple_sum_insured' => true,
];
// $data = [];
foreach ($fields as $field => $needsCleanup) {
$value = $this->request->getPost($field);
@ -2617,7 +2619,6 @@ class ClientController extends AdminController
}
}
$data['enrollment_display_key'] = $this->enrollmentGMCDisplayValueTransform();
// print_r($data);die;
@ -3572,7 +3573,7 @@ class ClientController extends AdminController
return $this->respond(['status' => true, 'code' => 200, 'message' => 'Additionaly Rack Rate Data Remove Successfully'], 200);
}
public function get_cd_ac($client_id, $insurer_id, $insurer_branch_id)
public function get_cd_ac($client_id, $insurer_id, $insurer_branch_id, $return_type = null)
{
// Get client data
$client_data = $this->clientModel
@ -3604,6 +3605,14 @@ class ClientController extends AdminController
$cd_data = array_merge($cd_data, $client_cd_data);
if($return_type == "internal"){
if(!empty($cd_data)){
return $cd_data;
}else{
return [];
}
}
if (!empty($cd_data)) {
return $this->respond([
'status' => true,
@ -4213,7 +4222,7 @@ class ClientController extends AdminController
$client_data = [
'client_type' => $postData['client_type'],
'client_name' => $postData['client_name'],
'short_name' => $postData['short_name'],
'short_name' => $postData['short_name'] ?? $postData['client_name'],
'pan' => $postData['pan'],
'client_code' => generate_client_code(),
];
@ -5031,24 +5040,24 @@ class ClientController extends AdminController
// ---------- EMP SERVICE CONTROLLER --------------------------------------------------------------------------------
$employeeRestController = new EmployeeServiceController();
// $employeeRestController->excelFileDataValidation(['file_id' => 1629]); die;
// $employeeRestController->employeesOnboardPreprocess(['file_id' => 726]);
// $employeeRestController->employeesOnboardProcess(['file_id' => 835]);
// $employeeRestController->employeesEnrollmentInsert(['file_id' => 836]);
// $r = Jobs::addJob(['job_name' => 'employeesEnrollmentInsert','payload' => ['file_id' => 721]]);
$empServiceController = new EmployeeServiceController();
// $res = $empServiceController->excelFileFormatValidation(['file_id' => '865']);
// $res = $empServiceController->excelFileDataValidation(['file_id' => '865']);
// $res = $empServiceController->employeesOnboardPreprocess(['file_id' => 726]);
// $res = $empServiceController->employeesOnboardProcess(['file_id' => 835]);
// $res = $empServiceController->employeesEnrollmentInsert(['file_id' => 836]);
// $res = $empServiceController->employeesSIEnhanceProcess(['file_id' => '978']);
// $res = $empServiceController->employeeDisembark(['file_id' => '1681']); dd( $res);
// $res = $empServiceController->employeeDisembark(['file_id' => '1681']);
// $res = $empServiceController->employeesCorrectionProcess(['file_id' => '1681']);
// dd( $res);
// ---------- POLICY TRANSACTION CONTROLLER --------------------------------------------------------------------------------
$policyTransactionController = new PolicyTransactionController();
// $res = $policyTransactionController->validateInsurerStatement(['file_id' => '17']);
// $res = $policyTransactionController->updateInsurerStatement(['file_id' => '22']);
// dd('-----', $res);
// ----------EMP DATA SERVICE CONTROLLER--------------------------------------------------------------------------------
$batch_data = [
@ -5079,44 +5088,26 @@ class ClientController extends AdminController
// $client_policy_data = $this->clientPolicyModel->getPolicyDetailsForRemainder($client_id=159, $client_branch_id=126);
// $dashBoardController->sendRemainderMail($client_policy_data);
// $EmpDataServiceController = new EmpDataServiceController();
// $emp_data = $this->employeePolicyModel->getEmployeePolicyForEcard(12);
// $ids = array_column($emp_data, 'id');
// $EmpDataServiceController->sendMailForDownloadingECard($ids);
$EmpDataServiceController = new EmpDataServiceController();
// $return = $EmpDataServiceController->generateExcelForDeletion($batch_data); dd($return); die;
// $EmpDataServiceController->generateExcelForSIEnhancement($batch_data); die;
// $EmpDataServiceController->importInceptionFileValidation(['file_id' => 1932]); die;
// $EmpDataServiceController->importDeletionValidation(['file_id' => 304]); //for live
// $EmpDataServiceController->importSIEnhancementUpdateEndorsementID(['file_id' => 1199]); //for live
// $result = $EmpDataServiceController->importSIEnhancementValidation(['file_id' => 2496]); //for live
// $EmpDataServiceController->importInceptionUpdateTPAandUHID(['file_id' => 214]); //for live
// $result = $this->employeePolicyModel->getDeletionEmployeeDataForExportExcel($batch_data, 1); dd($result);
// $result = $this->employeePolicyModel->getSIEnhancementEmployeesDataForExportExcel($batch_data, 1);
// $res = $EmpDataServiceController->generateExcelForDeletion($batch_data); dd($return); die;
// $res = $EmpDataServiceController->generateExcelForSIEnhancement($batch_data); die;
// $res = $EmpDataServiceController->importInceptionFileValidation(['file_id' => 1932]); die;
// $res = $EmpDataServiceController->importDeletionValidation(['file_id' => 304]); //for live
// $res = $EmpDataServiceController->importSIEnhancementUpdateEndorsementID(['file_id' => 1199]); //for live
// $res = $EmpDataServiceController->importSIEnhancementValidation(['file_id' => 2496]); //for live
// $res = $EmpDataServiceController->importInceptionUpdateTPAandUHID(['file_id' => 214]); //for live
// $res = $EmpDataServiceController->importInceptionUpdateTPAandUHID(['file_id' => 310]); dd($res);//for live
// $res = $EmpDataServiceController->getInceptionBasePremium(["13332","13333","13334","13335","13336"]); dd($res);//for live
// $res = $EmpDataServiceController->getDeletionBasePremium(["13248","13250","13249","13247"], json_decode('{"employeeIds":["13248","13250","13249","13247"],"client_id":"3927","client_policy_id":"6183","client_branch_id":"1874","cd_ac_no":"CD9751909505","endorsement_no":"END1238","count":4,"event_name":"deletion","policy_name":"GMC","user_id":"48"}', true)); dd($res);//for live
// $res = $EmpDataServiceController->makeEntryForBDSPolicyTransaction(json_decode('{"client_policy_id":"6187","endorsement_no":null,"emp_count":5,"action_type":"inception","no_of_insured":3,"no_of_dependent":0}', true)); dd($res);//for live
// $res = $EmpDataServiceController->sendMailForDownloadingECard($ids);
// $res = $this->employeePolicyModel->getDeletionEmployeeDataForExportExcel($batch_data, 1); dd($result);
// $res = $this->employeePolicyModel->getSIEnhancementEmployeesDataForExportExcel($batch_data, 1);
// return $this->downloadInsurerExcelExport($batch_data);
// dd($result); die;
// $empServiceController = new EmployeeServiceController();
// $res = $empServiceController->employeesOnboardPreprocess(['file_id' => '741']);
// $PolicyTransactionController = new PolicyTransactionController();
// $res = $PolicyTransactionController->validateInsurerStatement(['file_id' => '36']);
// $empServiceController = new EmployeeServiceController();
// $res = $empServiceController->excelFileDataValidation(['file_id' => '1101']);
// dd($res);
// $EmpDataServiceController = new EmpDataServiceController();
// $EmpDataServiceController->importInceptionFileValidation(['file_id' => 160]);
// $EmpDataServiceController = new EmpDataServiceController();
// $EmpDataServiceController->importInceptionUpdateTPAandUHID(['file_id' => 162]);
// $EmpDataServiceController->importInceptionFileValidation(['file_id' => 162]);
// $EmpDataServiceController->importDeletionValidation(['file_id' => 171]);
// $EmpDataServiceController->importDeletionUpdateEndorsementID(['file_id' => 171]);
// $EmpDataServiceController->importCorrectionUpdateEndorsementID(['file_id' => 188]);
// dd($res); die;
// $params = [
// 'client_policy_id' => 6090,

View File

@ -43,6 +43,7 @@ use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Reader\Exception as SpreadsheetReaderException;
use PhpParser\Node\Expr\Cast\Double;
use Kint\Kint;
use function PHPUnit\Framework\returnSelf;
@ -1576,6 +1577,7 @@ class EmpDataServiceController extends BaseController
if ($insurer_or_tpa == 'tpa' && in_array($client_policy_data['policy_type_id'], [1,2,3,4,5])) {
//verify the TPA ID is not null
if ($excel_data[$key][13] === null) {
$missing_id[$key][] = [
'row' => $key,
@ -1585,6 +1587,8 @@ class EmpDataServiceController extends BaseController
];
}
} else if ($insurer_or_tpa == 'insurer') {
//verify the UHID or Risk ID is not null
if ($excel_data[$key][14] === null) {
$missing_id[$key][] = [
'row' => $key,
@ -1716,7 +1720,7 @@ class EmpDataServiceController extends BaseController
];
}
if ($insurer_or_tpa == 'tpa' && in_array($client_policy_data['policy_type_id'], [1,2,3,4,5])) {
if ($insurer_or_tpa == 'tpa') {
if ($emp_value['uhid'] != $excel_data[$key][14]) {
$errors[$key][] = [
@ -1895,6 +1899,9 @@ class EmpDataServiceController extends BaseController
$emp_endorsement_table_data = [];
$enrollment_file_id = null;
$endorsement_id = null;
$no_of_insured = [];
$no_of_dependent = [];
$emp_count = count($excel_data);
$db = \Config\Database::connect();
@ -1914,7 +1921,7 @@ class EmpDataServiceController extends BaseController
$totals = $totals + floatval($amount);
$query = $db->table('employee_polices');
$query->select('employee_polices.id');
$query->select('employee_polices.id, employees.id as emp_id, employees.emp_code, employees.name as emp_name, employees.relationship');
$query->join('employees', 'employees.id = employee_polices.employee_id');
$query->where('employee_polices.client_policy_id', $client_policy_id);
$query->where('employees.client_id', $client_id);
@ -1935,11 +1942,20 @@ class EmpDataServiceController extends BaseController
$query->limit(1);
$result = $query->get()->getRowArray();
// Kint::dump($result);
if (isset($result['id']) && $result['id'] !== null) {
$emp_policy_ids[] = $result['id']; //for cash deposite
$emp_details[] = array('id' => $result['id'], 'tpa_id' => $value[13], 'uhid' => $value[14]);
if (strtolower($result['relationship']) == 'self') {
$no_of_insured[] = ['emp_id' => $result['emp_id'], 'emp_code' => $result['emp_code'], 'emp_name' => $result['emp_name'] ];
}else{
$no_of_dependent[] = ['emp_id' => $result['emp_id'], 'emp_code' => $result['emp_code'], 'emp_name' => $result['emp_name'] ];
}
}
if(in_array($file['event_type'], ['missed_inception']) && isset($value[18])){
$endorsement_id = $value[18];
@ -2001,7 +2017,7 @@ class EmpDataServiceController extends BaseController
}
// dd($emp_endorsement_table_data, $enrollment_file_id);
// dd($emp_endorsement_table_data, $enrollment_file_id, $no_of_insured, $no_of_dependent);
//update the employee policy data (TPAID or UHID)
$return = $this->employeePolicyModel->bulkUpdate($emp_details);
@ -2021,6 +2037,10 @@ class EmpDataServiceController extends BaseController
$this->myLogger->logme('error', 'Inception Update TPA and UHID -- batch file status : {data}', ['data' => $status_val]);
$this->myLogger->logme('error', 'Inception Update TPA and UHID -- total amount for cash deposite : {data}', ['data' => $totals]);
//get the BASE PREMIUM and GST for BDS Entry
$base_bremium_and_gst = $this->getInceptionBasePremium($emp_policy_ids);
$this->myLogger->logme('error', 'Inception Base Premium and GST :'. json_encode($base_bremium_and_gst ?? []));
//update CD transaction entry if only insurer
if ($file['insurer_or_tpa'] == 'insurer') {
@ -2063,6 +2083,10 @@ class EmpDataServiceController extends BaseController
'endorsement_no' => $endorsement_id ?? null,
'emp_count' => $emp_count ?? null,
'action_type' => $file['event_type'] ?? null,
'no_of_insured' => count($no_of_insured ?? []) ?? null,
'no_of_dependent' => count($no_of_dependent ?? []) ?? null,
'base_premium' => $base_bremium_and_gst['base_premium'] ?? null,
'gst' => $base_bremium_and_gst['gst'] ?? null,
]]);
// $this->cashDepositCalculationForInception($depositeData);
@ -3005,6 +3029,8 @@ class EmpDataServiceController extends BaseController
$endorsement_id = '';
$enrollment_file_id = '';
$endorsement_details = [];
$no_of_insured = [];
$no_of_dependent = [];
$totals = 0;
foreach ($excel_data as $key => $value) {
@ -3017,7 +3043,14 @@ class EmpDataServiceController extends BaseController
$result = $this->empEndorsementModel
->select('emp_endorsement.*, employees.id as emp_id, employee_polices.id as emp_policy_id')
->select('
emp_endorsement.*,
employees.id as emp_id,
employees.name as emp_name,
employees.emp_code,
employees.relationship,
employee_polices.id as emp_policy_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)
@ -3043,6 +3076,11 @@ class EmpDataServiceController extends BaseController
$emp_policy_ids[] = array('id' => $result['emp_policy_id'], 'is_active' => 0);
$employeeIds[] = $result['emp_policy_id'];
$endorsement_details[] = array('id' => $result['id'], 'group_key' => $result['group_key'], 'endorsement_id' => $value[19], 'status' => 'complete');
if (strtolower($result['relationship']) == 'self') {
$no_of_insured[] = ['emp_id' => $result['emp_id'], 'emp_code' => $result['emp_code'], 'emp_name' => $result['emp_name'] ];
}else{
$no_of_dependent[] = ['emp_id' => $result['emp_id'], 'emp_code' => $result['emp_code'], 'emp_name' => $result['emp_name'] ];
}
}
$empData = $this->employeePolicyModel
@ -3110,6 +3148,11 @@ class EmpDataServiceController extends BaseController
$this->myLogger->logme('error', 'SI Enhancement Update Endorsement ID -- Employee count : {data}', ['data' => $emp_count]);
$this->myLogger->logme('error', 'SI Enhancement Update Endorsement ID -- Batch File status : {data}', ['data' => $status_val]);
//get the BASE PREMIUM and GST for BDS Entry
$base_bremium_and_gst = $this->getInceptionBasePremium($employeeIds);
$this->myLogger->logme('error', 'SI Enhancement Base Premium and GST :'. json_encode($base_bremium_and_gst ?? []));
//call the cash deposite function
if ($file['insurer_or_tpa'] == 'insurer') {
@ -3133,6 +3176,10 @@ class EmpDataServiceController extends BaseController
'endorsement_no' => $endorsement_id ?? null,
'emp_count' => $emp_count ?? null,
'action_type' => $file['event_type'] ?? null,
'no_of_insured' => count($no_of_insured ?? []) ?? null,
'no_of_dependent' => count($no_of_dependent ?? []) ?? null,
'base_premium' => $base_bremium_and_gst['base_premium'] ?? null,
'gst' => $base_bremium_and_gst['gst'] ?? null,
]]);
}
@ -3521,6 +3568,8 @@ class EmpDataServiceController extends BaseController
$employee_policy_table_primaryKey = [];
$endorsement_id = '';
$enrollment_file_id = null; //files table primary key
$no_of_insured = [];
$no_of_dependent = [];
$totals = 0;
@ -3554,6 +3603,12 @@ class EmpDataServiceController extends BaseController
$employee_policy_table_data[] = array('id' => $result['emp_policy_primarykey'], 'date_of_exit' => change_date_format($result['date_of_exit']), 'reason_for_exit' => $result['reason_for_exit'], 'claim_status' => $result['claim_status'], 'status' => $result['status']);
// $employees_table_data[] = array('id' => $result['employees_id'], 'emp_status' => $result['status']);
$emp_endorsement_table_data[] = array('id' => $result['emp_endorsement_primarykey'], 'group_key' => $result['group_key'], 'endorsement_id' => $value[15], 'status' => 'complete');
if (strtolower($result['relationship']) == 'self') {
$no_of_insured[] = ['emp_id' => $result['employees_primarykey'], 'emp_code' => $result['emp_code'], 'emp_name' => $result['emp_name'] ];
}else{
$no_of_dependent[] = ['emp_id' => $result['employees_primarykey'], 'emp_code' => $result['emp_code'], 'emp_name' => $result['emp_name'] ];
}
}
}
@ -3603,6 +3658,9 @@ class EmpDataServiceController extends BaseController
$this->myLogger->logme('error', 'Deletion Update Endorsement ID -- Employee count : {data}', ['data' => $emp_count]);
$this->myLogger->logme('error', 'Deletion Update Endorsement ID -- Batch File status : {data}', ['data' => $status_val]);
$base_bremium_and_gst = $this->getDeletionBasePremium($employee_policy_table_primaryKey, ['client_policy_id' => $client_policy_id]);
$this->myLogger->logme('error', 'Deletion Base Premium and GST :'. json_encode($base_bremium_and_gst ?? []));
//call the cash deposite function
if ($file['insurer_or_tpa'] == 'insurer') {
@ -3626,6 +3684,10 @@ class EmpDataServiceController extends BaseController
'endorsement_no' => $endorsement_id ?? null,
'emp_count' => $emp_count ?? null,
'action_type' => $file['event_type'] ?? null,
'no_of_insured' => count($no_of_insured ?? []) ?? null,
'no_of_dependent' => count($no_of_dependent ?? []) ?? null,
'base_premium' => $base_bremium_and_gst['base_premium'] ?? null,
'gst' => $base_bremium_and_gst['gst'] ?? null,
]]);
}
@ -4290,8 +4352,6 @@ class EmpDataServiceController extends BaseController
}
/**
* Below function retrieves the policy name associated with a given client policy ID.
*
@ -4308,8 +4368,6 @@ class EmpDataServiceController extends BaseController
}
/**
* Below function converts row data into column data format for SI enhancement.
*
@ -4866,8 +4924,8 @@ class EmpDataServiceController extends BaseController
$this->myLogger->logme("error", "Policy transaction inserted successfully: " . json_encode(['insert_id' => $insert_id]));
//do not remove this commented item
// $coShareDetails = $this->ConstructPTShareData($policy_data, $insert_id);
// $pt_co_share_id = $this->PTCOShareDetailsModel->insert($coShareDetails);
$coShareDetails = $this->ConstructPTShareData($policy_data, $insert_id, $params);
$pt_co_share_id = $this->PTCOShareDetailsModel->insert($coShareDetails);
// $this->myLogger->logme("error", "PT Co share data inserted successfully: " . json_encode(['pt_co_share_id' => $pt_co_share_id]));
@ -4903,11 +4961,12 @@ class EmpDataServiceController extends BaseController
private function constructBDSData($policy_data, $lead_data, $params)
{
$this->myLogger->logme("error", "constructBDSData Params: " . json_encode(['policy_data' => $policy_data, 'lead_data' => $lead_data, 'params' => $params]));
$action_type_string = $params['action_type'];
if(in_array($params['action_type'], ['dependent_addition', 'missed_inception'])){
if(in_array($params['action_type'], ['dependent_addition', 'missed_inception'])){
$action_type_string = "addition";
}
}
$policyTransactionData = [
@ -4928,9 +4987,9 @@ class EmpDataServiceController extends BaseController
'policy_end_date' => $policy_data['policy_end_date'] ?? null,
'data_received_date' => $policy_data['data_received_date'] ?? null,
'closure_date' => $policy_data['closure_date'] ?? null,
'emp_count' => $policy_data['emp_count'] ?? null,
'dependent_count' => $policy_data['dependent_count'] ?? null,
'revenue_type' => ($lead_data['lead_type'] == 1 ? "NA" : ($lead_data['lead_type'] == 2 ? "EA" : "EANR") ) ?? null,
'emp_count' => $params['no_of_insured'] ?? null,
'dependent_count' => $params['no_of_dependent'] ?? null,
'revenue_type' => isset($lead_data['lead_type']) ?($lead_data['lead_type'] == 1 ? "NA" : ($lead_data['lead_type'] == 2 ? "EA" : "EANR") ) : null,
'co_share' => $policy_data['co_share'] ?? 0,
'pre_payable_by' => $policy_data['pre_payable_by'] ?? 1,
'renewal_date' => $policy_data['policy_end_date'] ?? null,
@ -4939,7 +4998,8 @@ class EmpDataServiceController extends BaseController
'is_cd_reduce_from_bds' => 0,
'client_type_id' => 0,
'status' => "co_insurer_pending",
// 'status' => "co_insurer_pending",
'status' => "completed",
'action_type' => $action_type_string ?? null,
'endorsement_no' => $params['endorsement_no'] ?? null,
@ -4954,18 +5014,23 @@ class EmpDataServiceController extends BaseController
return $policyTransactionData;
}
private function ConstructPTShareData($policy_data, $pt_id)
private function ConstructPTShareData($policy_data, $pt_id, $params)
{
$coShareData = [
'pt_id' => $pt_id,
'insurer_id' => $policy_data['insurer_id'],
'insurer_branch_id' => $policy_data['insurer_branch_id'],
'bp_amt' => $params['base_premium'],
'cop_amt' => $params['base_premium'],
'bp_gst_amt' => $params['gst'],
'bp_sgst' => 9,
'bp_cgst' => 9,
'co_share_type' => 1,
'co_share_per' => 100,
];
$this->myLogger->logme("error", "Constructed PT co-share data: " . json_encode($coShareData));
return $coShareData;
}
@ -5113,8 +5178,117 @@ class EmpDataServiceController extends BaseController
}
// --------------------------------------------------------------------------------------------------------------------------------
public function getInceptionBasePremium($ids)
{
$this->myLogger->logme('error', 'getInceptionBasePremium called with the params : ' . json_encode($ids ?? ""));
// Validate input
if (empty($ids) || !is_array($ids)) {
return ['base_premium' => 0, 'gst' => 0];
}
// Sanitize IDs to ensure they are integers
$sanitizedIds = array_filter(array_map('intval', $ids), function ($id) {
return $id > 0;
});
if (empty($sanitizedIds)) {
return ['base_premium' => 0, 'gst' => 0];
}
// Use parameter binding for security
$placeholders = str_repeat('?,', count($sanitizedIds) - 1) . '?';
$amount = $this->employeePolicyModel->query("
SELECT SUM(employee_polices.rata_premimum) AS base_premium,
SUM(employee_polices.gst) AS gst
FROM employee_polices
JOIN employees ON employees.id = employee_polices.employee_id
WHERE employee_polices.id IN ($placeholders)
", $sanitizedIds)->getRowArray();
$this->myLogger->logme('error', 'Get Last Executed Query : '.db_connect()->getLastQuery());
// Ensure we return proper numeric values
return [
'base_premium' => round($amount['base_premium'] ?? 0, 2),
'gst' => round($amount['gst'] ?? 0, 2)
];
}
public function getDeletionBasePremium($ids, $params)
{
$this->myLogger->logme('error', 'getDeletionBasePremium called with the params : ' . json_encode(['emp_policy_id' => $ids ?? [], 'params' => $params ?? []] ?? ""));
// Validate input
if (empty($ids) || !is_array($ids)) {
return ['base_premium' => 0, 'gst' => 0];
}
// Sanitize IDs to ensure they are integers
$sanitizedIds = array_filter(array_map('intval', $ids), function ($id) {
return $id > 0;
});
if (empty($sanitizedIds)) {
return ['base_premium' => 0, 'gst' => 0];
}
// Validate client_policy_id parameter
if (empty($params['client_policy_id'])) {
return ['base_premium' => 0, 'gst' => 0];
}
$get_insurer_id_from_client_policy = $this->clientPolicyModel
->select('insurers.deletion_add_day')
->join('insurers', 'client_policy.insurer_id = insurers.id')
->where('client_policy.id', intval($params['client_policy_id']))
->first();
$add_one_day = 0;
if (isset($get_insurer_id_from_client_policy['deletion_add_day']) && $get_insurer_id_from_client_policy['deletion_add_day'] == 1) {
$add_one_day = 1;
}
// Use parameter binding for security
$placeholders = str_repeat('?,', count($sanitizedIds) - 1) . '?';
// Prepare parameters array (ids repeated twice for both IN clauses)
$queryParams = array_merge($sanitizedIds, $sanitizedIds);
$amount = $this->employeePolicyModel->query("
SELECT
SUM(ROUND(
((employee_polices.rata_premimum * (DATEDIFF(employee_polices.policy_end_date, emp_endorsement.new_value) + ?)) / 365),
2
)) AS base_premium,
SUM(ROUND(
(((employee_polices.rata_premimum * (DATEDIFF(employee_polices.policy_end_date, emp_endorsement.new_value) + ?)) / 365) * 0.18),
2
)) AS gst
FROM
employee_polices
JOIN
employees ON employees.id = employee_polices.employee_id
JOIN
emp_endorsement ON emp_endorsement.pk = employee_polices.id
WHERE
employee_polices.id IN ($placeholders)
AND emp_endorsement.pk IN ($placeholders)
AND employee_polices.claim_status = 0
AND emp_endorsement.field_name = 'date_of_exit'
AND emp_endorsement.is_active = 1
AND emp_endorsement.actions = 'd'
AND emp_endorsement.status != 'truncated'
", array_merge([$add_one_day, $add_one_day], $queryParams))->getRowArray();
$this->myLogger->logme('error', 'Get Last Executed Query : '.db_connect()->getLastQuery());
// Ensure we return proper numeric values with rounding
return [
'base_premium' => round($amount['base_premium'] ?? 0, 2),
'gst' => round($amount['gst'] ?? 0, 2)
];
}
}

View File

@ -1209,6 +1209,10 @@ class PolicyTransactionController extends BaseController
$client_branch_id = $issue_type['client_branch_id'];
}
// if($data['bro_payable_by'] == ""){
// $data['bro_payable_by'] = $issue_type['bro_payable_by'];
// }
if (!$data['id']) {
$data += [
@ -1224,7 +1228,7 @@ class PolicyTransactionController extends BaseController
'policy_end_date' => $issue_type['policy_end_date'] ?? null,
'revenue_type' => $issue_type['revenue_type'] ?? null,
'co_share' => $issue_type['co_share'] ?? 0,
'bro_payable_by' => $issue_type['bro_payable_by'] ?? 0,
'bro_payable_by' => $data['bro_payable_by'] == "" ? $issue_type['bro_payable_by'] ?? 0 : $data['bro_payable_by'],
'installment' => $issue_type['installment'] ?? null,
'installment_data' => $issue_type['installment_data'] ?? null,
'location' => $issue_type['location'] ?? null,
@ -2279,7 +2283,9 @@ class PolicyTransactionController extends BaseController
// if all good return true, otherwise return false with messssage
foreach ($excel_data as $excel_key => $excel_row) {
$is_row_empty = check_row_is_empty_or_null($excel_row);
if (!$is_row_empty) {
// $excel_row = ExcelSanitizeHelper::sanitizeArrayData($excel_row);
$is_source_found = 0;
// Kint::dump($excel_key,$excel_row[1],$excel_row[2]);
@ -2297,8 +2303,17 @@ class PolicyTransactionController extends BaseController
// Kint::dump($excel_key,$policy_no,$endorsement_no,$policy_start_date,$policy_end_date);//die();
foreach ($source_data as $source_key => $source_row) {
$source_endorsement_no = $source_row['endorsement_no'] !== null ? $source_row['endorsement_no'] : null;
// Kint::dump($source_endorsement_no);
if (($policy_no == $source_row['policy_no']) && $endorsement_no == $source_endorsement_no && change_date_format($policy_start_date, 'd-m-Y', 'Y-m-d') == $source_row['policy_start_date'] && change_date_format($policy_end_date, 'd-m-Y', 'Y-m-d') == $source_row['policy_end_date'] && $client_name == $source_row['client_name'])
// Kint::dump($source_row, $source_endorsement_no, $policy_no, $endorsement_no);
// if (($policy_no == $source_row['policy_no']) && $endorsement_no == $source_endorsement_no && change_date_format($policy_start_date, 'd-m-Y', 'Y-m-d') == $source_row['policy_start_date'] && change_date_format($policy_end_date, 'd-m-Y', 'Y-m-d') == $source_row['policy_end_date'] && $client_name == $source_row['client_name'])
// {
// $is_source_found = 1;
// $line_items = $line_items + 1;
// unset($source_data[$source_key]);
// continue 2;
// }
if (($policy_no == $source_row['policy_no']) && $endorsement_no == $source_endorsement_no)
{
$is_source_found = 1;
$line_items = $line_items + 1;
@ -2395,7 +2410,8 @@ class PolicyTransactionController extends BaseController
foreach ($source_data as $source_key => $source_row) {
// Kint::dump(change_date_format($excel_row[3],'d-m-Y','Y-m-d'));
$source_endorsement_no = $source_row['endorsement_no'] !== null ? $source_row['endorsement_no'] : null;
if (($policy_no == $source_row['policy_no']) && $endorsement_no == $source_endorsement_no && change_date_format($policy_start_date, 'd-m-Y', 'Y-m-d') == $source_row['policy_start_date'] && change_date_format($policy_end_date, 'd-m-Y', 'Y-m-d') == $source_row['policy_end_date'] && $client_name == $source_row['client_name']) {
// if (($policy_no == $source_row['policy_no']) && $endorsement_no == $source_endorsement_no && change_date_format($policy_start_date, 'd-m-Y', 'Y-m-d') == $source_row['policy_start_date'] && change_date_format($policy_end_date, 'd-m-Y', 'Y-m-d') == $source_row['policy_end_date'] && $client_name == $source_row['client_name']) {
if (($policy_no == $source_row['policy_no']) && $endorsement_no == $source_endorsement_no) {
$is_source_found = 1;
//calculate percentage first

View File

@ -1251,6 +1251,9 @@ class EmployeePolicyModel extends Model
ee.id as emp_endorsement_primarykey,
ep.id as emp_policy_primarykey,
e.id as employees_primarykey,
e.relationship,
e.emp_code,
e.name as emp_name,
ee.file_id,
ee.group_key,
(
@ -2098,4 +2101,6 @@ class EmployeePolicyModel extends Model
// var_dump($this->db->getLastQuery());
return $data;
}
}

View File

@ -81,7 +81,7 @@
</div>
<div id="cdButtonWrapper" class="form-group text-right m-b-0">
<button class="btn btn-primary waves-effect waves-light mr-1" id="btnSubmit">Submit</button>
<button class="btn btn-primary waves-effect waves-light mr-1" id="cd_master_btn_Submit">Submit</button>
<!-- <button type="button" class="btn btn-secondry waves-effect waves-light mr-1" data-dismiss="modal" aria-hidden="true">Close</button> -->
</div>
</form>
@ -129,10 +129,10 @@
if(res.status == true){
toastr.warning(res.message, 'warning');
// $('#cd_ac_no').val('');
$('#btnSubmit').prop('disabled',true);
$('#cd_master_btn_Submit').prop('disabled',true);
return;
}
$('#btnSubmit').prop('disabled',false);
$('#cd_master_btn_Submit').prop('disabled',false);
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
@ -283,7 +283,7 @@
$('#opening_bal').val('');
// $('#CDMasterForm').attr('action', '<?php echo base_url('master/cash_deposite/create');?>');
$('#title').html('Add Opening Amount');
$('#btnSubmit').html('Submit');
$('#cd_master_btn_Submit').html('Submit');
var myModal = new bootstrap.Modal(document.getElementById('con-close-modal'));
myModal.show();

View File

@ -280,15 +280,15 @@ table.dataTable thead th {
$('#insurer_branch_id').val(res.data.insurer_id).change();
$('#insurer_branch_id').prop("disabled", true);
$('#opening_date').val(res.data.opening_date);
$('#cd_ac_no').val(res.data.cd_ac_no);
//$('#cd_ac_no').prop("disabled", true);
$('#cd_ac_no_for_cd_master').val(res.data.cd_ac_no);
//$('#cd_ac_no_for_cd_master').prop("disabled", true);
$('#opening_bal').val(res.data.opening_bal);
if(res.cd_transaction_count <= 1){
$('#opening_bal').prop("disabled", false)
}else{
$('#opening_bal').prop("disabled", true)
}
$('#btnSubmit').html('Update');
$('#cd_master_btn_Submit').html('Update');
},
error: function (xhr, status, error) {

View File

@ -113,7 +113,7 @@ input:checked + .slider:before {
</div> -->
<div class="form-group col-md-4">
<label for="parent_client_id">Parent Group<span class="text-danger">*</span></label>
<label for="parent_client_id">Parent Group<span class="text-danger"></span></label>
<select class="form-control" id="parent_client_id" name="parent_client_id">
<option value="" >Select Parent</option>
<?php foreach($clients as $value) { ?>

View File

@ -147,6 +147,7 @@
<label for="cd_ac_no">CD Account Number<span id="tpa_danger" class="text-danger">*</span></label>
<select class="form-control" id="cd_ac_no" name="cd_ac_no" required>
<option value="">Select CD Account Number</option>
<option value="add_cd">+ Add New CD</option>
</select>
</div>

View File

@ -472,13 +472,9 @@
newRow.className = 'form-row dynamic-form-row';
newRow.innerHTML = `
<div class="form-group col-md-4">
<label for="excel_column_name">Header Name<span class="text-danger">*</span></label>
<input id="excel_column_name" value="${data !== null && data !== undefined && data !== '' ? data.column_name : ''}" class="form-control" type="text" name="excel_column_name[]" placeholder="Excel Header Column Name">
</div>
<div class="form-group col-md-3">
<label for="db_column_name">DataBase Column Name<span class="text-danger"></span></label>
<select class="form-control db-column-name-select dbColumn" name="db_column_name[]" onchange="checkForDuplicates(this)" ${data !== null && data !== undefined && data !== '' && data.default_value != "" && data.default_value != null ? 'disabled' : ''}>
<select class="form-control db-column-name-select dbColumn" name="db_column_name[]" onchange="checkForDuplicates(this); handleDbColumnChange(this)" ${data !== null && data !== undefined && data !== '' && data.default_value != "" && data.default_value != null ? 'disabled' : ''}>
<option value="" selected >Select</option>
<?php if (!empty($db_column_name)){ ?>
<?php foreach ($db_column_name as $key => $value) { ?>
@ -488,6 +484,11 @@
</select>
</div>
<div class="form-group col-md-4">
<label for="excel_column_name">Header Name<span class="text-danger">*</span></label>
<input id="excel_column_name" value="${data !== null && data !== undefined && data !== '' ? data.column_name : ''}" class="form-control" type="text" name="excel_column_name[]" placeholder="Excel Header Column Name">
</div>
<div class="form-group col-md-3">
<label for="default_value">Default Value<span class="text-danger"></span></label>
<input id="default_value" value="${data != null && data != undefined && data != '' && data.default_value != "" && data.default_value != null ? data.default_value : ''}" class="form-control" type="text" name="default_value[]" placeholder="Excel Default value">
@ -719,5 +720,43 @@
}
});
function handleDbColumnChange(element) {
console.log('=== SELECT CHANGE EVENT TRIGGERED ===');
let $defaultInput = $(element);
console.log('1. Current select element:', $defaultInput);
console.log('2. Current select value:', $defaultInput.val());
let $row = $defaultInput.closest('.form-row, .row');
console.log('3. Found row element:', $row);
console.log('4. Row exists:', $row.length > 0);
// Updated to find input instead of select for excel_column_name
let $excelInput = $row.find('input[name="excel_column_name[]"]');
console.log('5. Target input element:', $excelInput);
console.log('6. Target input exists:', $excelInput.length > 0);
console.log('7. Current target input value:', $excelInput.val());
// Get the selected option's text (the display text, not the value)
let selectedText = $defaultInput.find('option:selected').text().trim();
console.log('8. Selected option text:', selectedText);
console.log('9. Selected text length:', selectedText.length);
// Also get the selected value for comparison
let selectedValue = $defaultInput.val();
console.log('10. Selected option value:', selectedValue);
if (selectedText !== '' && selectedText !== 'Select') {
console.log('11. Setting target input value to:', selectedText);
$excelInput.val(selectedText);
console.log('12. Target input value after setting:', $excelInput.val());
} else {
console.log('11. Selected text is empty or "Select", clearing target input');
// $excelInput.val("");
console.log('12. Target input value after clearing:', $excelInput.val());
}
console.log('=== EVENT HANDLING COMPLETE ===');
}
</script>

View File

@ -86,7 +86,7 @@
</div>
<div class="form-group col-md-6">
<label for="branch_code">Mobile<span class="text-danger">*</span></label>
<label for="branch_code">Mobile<span class="text-danger"></span></label>
<input type="text" class="form-control" id="mobile" maxlength="10" name="mobile" onkeypress="return onlyNumbers(event)">
</div>
<div class="form-group col-md-12">

View File

@ -1136,286 +1136,289 @@
let jsonObject = JSON.parse(response.data);
disableUnwantedTerms(jsonObject);
Object.keys(jsonObject).forEach(function(key) {
if(jsonObject){
Object.keys(jsonObject).forEach(function(key) {
if (key.includes("special_condition_label") || key.includes(
"special_condition_input")) {
if (key.includes("special_condition_label")) {
for (let index = 0; index < jsonObject[key]
.length; index++) {
specialCondition();
}
}
//console.log('key', key)
let elements = document.getElementsByName(`${key}[]`);
//console.log(elements)
if (elements) {
elements.forEach((element, index) => {
//console.log()
if (jsonObject[key][index] == undefined) {
element.value = " ";
if (key.includes("special_condition_label") || key.includes("special_condition_input")) {
if (key.includes("special_condition_label")) {
if (jsonObject[key] && Array.isArray(jsonObject[key])) {
for (let index = 0; index < jsonObject[key].length; index++) {
specialCondition();
}
} else {
element.value = jsonObject[key][index];
console.warn(`jsonObject[${key}] is not a valid array.`);
}
}
if (key.includes("special_condition_label")) {
let checkbox = $(element).closest('.form-group').find('input[name="special_condition_display[]"]');
console.log("First element:", element);
//console.log('key', key)
let elements = document.getElementsByName(`${key}[]`);
//console.log(elements)
if (checkbox.length) {
console.log("Checkbox found:", checkbox);
if (elements) {
elements.forEach((element, index) => {
//console.log()
if (jsonObject[key][index] == undefined) {
element.value = " ";
} else {
element.value = jsonObject[key][index];
// Correct way to set the 'id' attribute
let formattedValue = jsonObject[key][index].replace(/[\s\-\/,&]+/g, '').toLowerCase();
console.log('formattedValue', formattedValue);
checkbox.attr('id', formattedValue + '_display');
if (key.includes("special_condition_label")) {
let checkbox = $(element).closest('.form-group').find('input[name="special_condition_display[]"]');
console.log("First element:", element);
console.log("Updated Checkbox:", checkbox);
} else {
console.log("Checkbox not found for:", element);
if (checkbox.length) {
console.log("Checkbox found:", checkbox);
// Correct way to set the 'id' attribute
let formattedValue = jsonObject[key][index].replace(/[\s\-\/,&]+/g, '').toLowerCase();
console.log('formattedValue', formattedValue);
checkbox.attr('id', formattedValue + '_display');
console.log("Updated Checkbox:", checkbox);
} else {
console.log("Checkbox not found for:", element);
}
}
}
}
});
}
}
// if (key.includes("multiple_sum_insured")) {
// jsonObject[key].forEach((value, index) => {
// appendGMCSIAddMore(value);
// });
// }
if (key.includes("multiple_sum_insured") && key != "") {
if (Array.isArray(jsonObject[key])) {
jsonObject[key].forEach((value, index) => {
appendGMCSIAddMore(value);
});
} else {
console.log(`${key} is not an array.`);
}
}
if (key === "family_floater") {
if (jsonObject[key] === "Floater") {
setTimeout(() => {
$("#familyFloaterYes").prop("checked", true);
}, 100); // delay in milliseconds
} else {
$("#familyFloaterNo").prop("checked", true);
}
});
}
}
// if (key.includes("multiple_sum_insured")) {
// jsonObject[key].forEach((value, index) => {
// appendGMCSIAddMore(value);
// });
// }
if (key.includes("multiple_sum_insured") && key != "") {
if (Array.isArray(jsonObject[key])) {
jsonObject[key].forEach((value, index) => {
appendGMCSIAddMore(value);
});
} else {
console.log(`${key} is not an array.`);
}
}
if (key === "family_floater") {
if (jsonObject[key] === "Floater") {
setTimeout(() => {
$("#familyFloaterYes").prop("checked", true);
}, 100); // delay in milliseconds
} else {
$("#familyFloaterNo").prop("checked", true);
}
if (key.includes("family_floaters")) {
let checkboxes = document.querySelectorAll(
`input[name="${key}[]"]`);
if (jsonObject[key]) {
console.log(jsonObject[key]);
if (jsonObject[key].childrens) {
$('#children').val(jsonObject[key].childrens);
}
if (jsonObject[key].self == 0) {
$('#self').prop('checked', false);
}
if (jsonObject[key].spouse == 0) {
$('#spouse').prop('checked', false);
} else {
$('#spouse').prop('checked', true);
}
if (jsonObject[key]['either-parents-pil'] == 1) {
$('#family_floaters').val('EPORPIL');
} else if (jsonObject[key].parents == 1 && jsonObject[key][
'parents-in-law'
] == 1) {
$('#family_floaters').val('2EPORPIL');
} else if (jsonObject[key].parents == 2 && jsonObject[key][
'parents-in-law'
] == 2) {
$('#family_floaters').val('4EPORPIL');
} else if (jsonObject[key].parents == 1) {
$('#family_floaters').val('1P');
} else if (jsonObject[key].parents == 2) {
$('#family_floaters').val('2P');
} else if (jsonObject[key]['parents-in-law'] == 1) {
$('#family_floaters').val('1PIL');
} else if (jsonObject[key]['parents-in-law'] == 2) {
$('#family_floaters').val('2PIL');
} else if (jsonObject[key]['either-parents-pil'] == 2) {
$('#family_floaters').val('2EPORPIL');
}
}
}
if (key.includes("family_floaters")) {
let checkboxes = document.querySelectorAll(
`input[name="${key}[]"]`);
if (jsonObject[key]) {
console.log(jsonObject[key]);
console.log(jsonObject[key]);
if (jsonObject[key].childrens) {
$('#children').val(jsonObject[key].childrens);
}
if (jsonObject[key].self == 0) {
$('#self').prop('checked', false);
}
if (jsonObject[key].spouse == 0) {
$('#spouse').prop('checked', false);
} else {
$('#spouse').prop('checked', true);
}
let elements = document.getElementsByName(key);
if (elements && elements.length > 0) {
let element = elements[
0]; // Assuming you want to update the first element with the name
if (jsonObject[key]['either-parents-pil'] == 1) {
$('#family_floaters').val('EPORPIL');
} else if (jsonObject[key].parents == 1 && jsonObject[key][
'parents-in-law'
] == 1) {
$('#family_floaters').val('2EPORPIL');
} else if (jsonObject[key].parents == 2 && jsonObject[key][
'parents-in-law'
] == 2) {
$('#family_floaters').val('4EPORPIL');
} else if (jsonObject[key].parents == 1) {
$('#family_floaters').val('1P');
} else if (jsonObject[key].parents == 2) {
$('#family_floaters').val('2P');
} else if (jsonObject[key]['parents-in-law'] == 1) {
$('#family_floaters').val('1PIL');
} else if (jsonObject[key]['parents-in-law'] == 2) {
$('#family_floaters').val('2PIL');
} else if (jsonObject[key]['either-parents-pil'] == 2) {
$('#family_floaters').val('4EPORPIL');
}
}
if (element.tagName === 'INPUT' && (element.type ===
'checkbox' || element.type === 'radio')) {
}
if (element.type === 'checkbox') {
element.checked = jsonObject[key] ===
'1'; // Assuming jsonObject[key] is '1' or '0' for checkbox
} else if (element.type === 'radio') {
if (element.value === jsonObject[key]) {
element.checked = element.value === jsonObject[key];
if (element.name === "family_floater") {
element.parentElement.nextElementSibling.style
.display = '';
element.parentElement.parentElement
.parentElement.nextElementSibling.style
.display = '';
// alert('family floater');
} else if (element.name ===
"waiverofpreexistingdiseases") {
element.parentElement.parentElement
.nextElementSibling.style.display = '';
element.parentElement.parentElement
.nextElementSibling.nextElementSibling.style
.display = '';
element.parentElement.parentElement
.nextElementSibling.nextElementSibling
.nextElementSibling.style.display = '';
element.parentElement.parentElement
.nextElementSibling.nextElementSibling
.nextElementSibling.nextElementSibling.style
.display = '';
} else if (element.name === "ayudhtreatmentcover") {
element.parentElement.parentElement
.nextElementSibling.style.display = '';
} else if (element.name === "ailmentcapping") {
element.parentElement.parentElement
.nextElementSibling.style.display = '';
} else if (element.name === "copayzonewisecopay") {
element.parentElement.parentElement
.nextElementSibling.style.display = '';
} else if (element.name === "cataract") {
element.parentElement.parentElement
.nextElementSibling.style.display = '';
}
let elements = document.getElementsByName(key);
if (elements && elements.length > 0) {
let element = elements[
0]; // Assuming you want to update the first element with the name
if (element.tagName === 'INPUT' && (element.type ===
'checkbox' || element.type === 'radio')) {
if (element.type === 'checkbox') {
element.checked = jsonObject[key] ===
'1'; // Assuming jsonObject[key] is '1' or '0' for checkbox
} else if (element.type === 'radio') {
if (element.value === jsonObject[key]) {
element.checked = element.value === jsonObject[key];
if (element.name === "family_floater") {
element.parentElement.nextElementSibling.style
.display = '';
element.parentElement.parentElement
.parentElement.nextElementSibling.style
.display = '';
// alert('family floater');
} else if (element.name ===
"waiverofpreexistingdiseases") {
element.parentElement.parentElement
.nextElementSibling.style.display = '';
element.parentElement.parentElement
.nextElementSibling.nextElementSibling.style
.display = '';
element.parentElement.parentElement
.nextElementSibling.nextElementSibling
.nextElementSibling.style.display = '';
element.parentElement.parentElement
.nextElementSibling.nextElementSibling
.nextElementSibling.nextElementSibling.style
.display = '';
} else if (element.name === "ayudhtreatmentcover") {
element.parentElement.parentElement
.nextElementSibling.style.display = '';
} else if (element.name === "ailmentcapping") {
element.parentElement.parentElement
.nextElementSibling.style.display = '';
} else if (element.name === "copayzonewisecopay") {
element.parentElement.parentElement
.nextElementSibling.style.display = '';
} else if (element.name === "cataract") {
element.parentElement.parentElement
.nextElementSibling.style.display = '';
} else {
element.nextElementSibling.checked = element.value;
}
}
} else if (key === "Wellness" || key ===
"additionalsicknessbenefit") {
let wysiwygElement = element.previousElementSibling
.querySelector('.jodit-wysiwyg');
if (wysiwygElement) {
let pTag = wysiwygElement.querySelector(
'p'); // Find the <p> tag inside the wysiwyg element
if (pTag) {
// pTag.innerHTML = ''; // Clear the content inside the <p> tag
pTag.innerHTML = jsonObject[
key]; // Add your new content inside the <p> tag
}
}
console.log(jsonObject[key]);
} else {
console.log(jsonObject[key]);
if (jsonObject[key] === undefined || jsonObject[key] === "" || jsonObject[key] === null) {
element.value = " ";
} else {
element.nextElementSibling.checked = element.value;
element.value = jsonObject[key];
}
}
} else if (key === "Wellness" || key ===
"additionalsicknessbenefit") {
let wysiwygElement = element.previousElementSibling
.querySelector('.jodit-wysiwyg');
if (wysiwygElement) {
let pTag = wysiwygElement.querySelector(
'p'); // Find the <p> tag inside the wysiwyg element
if (pTag) {
// pTag.innerHTML = ''; // Clear the content inside the <p> tag
pTag.innerHTML = jsonObject[
key]; // Add your new content inside the <p> tag
}
}
console.log(jsonObject[key]);
} else {
console.log(jsonObject[key]);
if (jsonObject[key] === undefined || jsonObject[key] === "" || jsonObject[key] === null) {
element.value = " ";
} else {
element.value = jsonObject[key];
}
}
}
if (key.includes("age_ratio")) {
if (key.includes("age_ratio")) {
$('#self_min_age').val(jsonObject[key].self.min);
$('#self_max_age').val(jsonObject[key].self.max);
$('#self_min_age').val(jsonObject[key].self.min);
$('#self_max_age').val(jsonObject[key].self.max);
$('#spouse_min_age').val(jsonObject[key].spouse.min);
$('#spouse_max_age').val(jsonObject[key].spouse.max);
$('#spouse_min_age').val(jsonObject[key].spouse.min);
$('#spouse_max_age').val(jsonObject[key].spouse.max);
$('#child_min_age').val(jsonObject[key].child.min);
$('#child_max_age').val(jsonObject[key].child.max);
$('#child_min_age').val(jsonObject[key].child.min);
$('#child_max_age').val(jsonObject[key].child.max);
$('#other_member_min_age').val(jsonObject[key].elders.min);
$('#other_member_max_age').val(jsonObject[key].elders.max);
}
$('#other_member_min_age').val(jsonObject[key].elders.min);
$('#other_member_max_age').val(jsonObject[key].elders.max);
}
// if (key.includes("is_payable_employee")) {
// if (key.includes("is_payable_employee")) {
// if (jsonObject[key]) {
// if (jsonObject[key]) {
// if (jsonObject[key].self == 0) {
// $('#is_payable_employee_for_self').prop('checked',
// false);
// } else {
// $('#is_payable_employee_for_self').prop('checked',
// true);
// }
// if (jsonObject[key].self == 0) {
// $('#is_payable_employee_for_self').prop('checked',
// false);
// } else {
// $('#is_payable_employee_for_self').prop('checked',
// true);
// }
// if (jsonObject[key].spouse == 0) {
// $('#is_payable_employee_for_spouse').prop('checked',
// false);
// } else {
// $('#is_payable_employee_for_spouse').prop('checked',
// true);
// }
// if (jsonObject[key].spouse == 0) {
// $('#is_payable_employee_for_spouse').prop('checked',
// false);
// } else {
// $('#is_payable_employee_for_spouse').prop('checked',
// true);
// }
// if (jsonObject[key].childern == 0) {
// $('#is_payable_employee_for_child').prop('checked',
// false);
// } else {
// $('#is_payable_employee_for_child').prop('checked',
// true);
// }
// if (jsonObject[key].childern == 0) {
// $('#is_payable_employee_for_child').prop('checked',
// false);
// } else {
// $('#is_payable_employee_for_child').prop('checked',
// true);
// }
// // if (jsonObject[key].elders == 0) {
// // $('#is_payable_employee_for_elders').prop('checked',
// // false);
// // } else {
// // $('#is_payable_employee_for_elders').prop('checked',
// // true);
// // }
// // if (jsonObject[key].elders == 0) {
// // $('#is_payable_employee_for_elders').prop('checked',
// // false);
// // } else {
// // $('#is_payable_employee_for_elders').prop('checked',
// // true);
// // }
// }
// }
// }
// }
if (key.includes("enrollment_display_key") && key != "") {
if (key.includes("enrollment_display_key") && key != "") {
console.log('enrollment_display_key');
console.log(jsonObject[key]);
console.log('enrollment_display_key');
console.log(jsonObject[key]);
processJsonObject(jsonObject);
}
processJsonObject(jsonObject);
}
});
});
}
}
$("#sum_insured").trigger("keyup");
@ -1450,6 +1453,11 @@
}
var family_floaters = $('#family_floaters').val();
console.log("========================================================");
console.log("family_floaters", family_floaters);
console.log("========================================================");
if (family_floaters != 0) {
$('.other-member-age').css('display', '');
} else {
@ -1880,36 +1888,40 @@
}
function disableUnwantedTerms(jsonObject) {
// alert("Disabling unwanted terms");
fields.forEach(function(key) {
// If key NOT in jsonObject, then hide and disable its associated elements
if (!jsonObject.hasOwnProperty(key)) {
const elements = document.getElementsByName(key);
console.log("Disabling unwanted terms");
console.log("jsonObject : ", jsonObject);
elements.forEach(element => {
element.style.display = "none";
element.disabled = true;
if(jsonObject){
fields.forEach(function(key) {
// If key NOT in jsonObject, then hide and disable its associated elements
if (!jsonObject?.hasOwnProperty(key)) {
const elements = document.getElementsByName(key);
const label = document.querySelector(`label[for="${element.id}"]`);
if (label) {
label.style.display = "none";
}
elements.forEach(element => {
element.style.display = "none";
element.disabled = true;
const displayElement = document.getElementById(`${element.id}_display`);
if (displayElement) {
displayElement.checked = false;
displayElement.disabled = true;
displayElement.style.display = "none";
}
const label = document.querySelector(`label[for="${element.id}"]`);
if (label) {
label.style.display = "none";
}
const rowDiv = element.closest('.row');
if (rowDiv) {
rowDiv.style.display = "none";
}
const displayElement = document.getElementById(`${element.id}_display`);
if (displayElement) {
displayElement.checked = false;
displayElement.disabled = true;
displayElement.style.display = "none";
}
const rowDiv = element.closest('.row');
if (rowDiv) {
rowDiv.style.display = "none";
}
});
}
});
}
});
}
function autoSaveGmcTerms()

View File

@ -427,7 +427,7 @@
<td id="agree_tp_td">Agreed TEP %</td>
</tr>
<?php if (in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team())) { ?>
<?php if (in_array(get_role_id(), [1,5]) || in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team())) { ?>
<tr id="table_tr_17" <?= in_array(FINANCE_TEAM_ID, user_team()) ? 'style="display:none"' : '' ?>>
<td>Agreed Amount</td>
@ -445,7 +445,7 @@
<td>Standard TEP %</td>
</tr>
<?php if (in_array(FINANCE_TEAM_ID, user_team()) || in_array(MANAGEMENT_TEAM_ID, user_team())) { ?>
<?php if (in_array(in_array(get_role_id(), [1,5]) || FINANCE_TEAM_ID, user_team()) || in_array(MANAGEMENT_TEAM_ID, user_team())) { ?>
<tr id="table_tr_21">
<td>Actual BP Amount</td>
@ -520,6 +520,8 @@
<script>
var team_id = [];
var role_id = <?php echo get_role_id(); ?>;
console.log(" role_id : ", role_id);
var insurer_count_array = [];
$(document).ready(function(){
@ -653,7 +655,7 @@ $(document).ready(function(){
$('#ct_type').val(2)
$('#cd_ac_pk').val(res.is_copay_yes.cd_ac_pk);
$('#cd_ac_no').val(res.cd_master_data.cd_ac_no ?? "");
$('#bro_payable_by').val(res.data[0].bro_payable_by)
$('#bro_payable_by').val(res.data[0].bro_payable_by);
if(res.is_copay_yes && res.is_copay_yes.co_share == 1){
// console.log('copay yes', res.is_copay_yes);
@ -1044,14 +1046,18 @@ function amountCalculation(input) {
console.log('############################## AMOUNT CALCULATION ############################################')
console.log('amountCalculation : ' + input);
let selectedOption = $('#client_policy_id').find('option:selected');
console.log("selectedOption", selectedOption);
let bap = selectedOption.data('bap');
console.log("bap", bap);
const event = window.event;
console.log("Event id:", event.target.id);
// Retrieve and parse the values or default to 0 if not a number
let bp = parseFloat($('#base_premium_' + input).val()) || 0;
console.log("bp base premium", bp);
let ncpa = parseFloat($('#non_comm_per_amt_' + input).val()) || 0;
console.log("ncpa non comm base premium", ncpa);
var tp = 0;
if(bap == 'Motor'){
@ -1693,7 +1699,7 @@ function addInsurerColumn() {
$('#insurerTable tbody tr').each(function(index) {
let newCell = '';
if(team_id.includes('6') || team_id.includes('4')){
if(role_id == 1 || role_id == 5 || team_id.includes('6') || team_id.includes('4')){
switch(index) {
@ -2092,7 +2098,7 @@ function populateTable(dataArray, status = false) {
let insurer = data.insurer_branch_id + '-' + data.insurer_id;
if(team_id.includes('6') || team_id.includes('4')){
if(role_id == 1 || role_id == 5 || team_id.includes('6') || team_id.includes('4')){
switch (rowIndex) {
case 0: // Insurer selection
cell.find('select').val(insurer);

View File

@ -718,7 +718,7 @@
<td id="agree_tp_td">Agreed TEP %</td>
</tr>
<?php if (in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team())) { ?>
<?php if (in_array(get_role_id(), [1,5]) || in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team())) { ?>
<tr id="table_tr_17" <?= in_array(FINANCE_TEAM_ID, user_team()) ? 'style="display:none"' : '' ?>>
<td>Agreed Amount</td>
@ -736,7 +736,7 @@
<td>Standard TEP %</td>
</tr>
<?php if (in_array(FINANCE_TEAM_ID, user_team()) || in_array(MANAGEMENT_TEAM_ID, user_team())) { ?>
<?php if (in_array(get_role_id(), [1,5]) || in_array(FINANCE_TEAM_ID, user_team()) || in_array(MANAGEMENT_TEAM_ID, user_team())) { ?>
<tr id="table_tr_21">
<td>Actual BP Amount</td>
@ -1168,6 +1168,7 @@
var team_id = [];
var role_id = <?php echo get_role_id(); ?>;
let isClientFormSubmitting = false;
let isVehicleFormSubmitting = false;
var insurer_count_array = [];
@ -1399,6 +1400,9 @@ $(document).ready(function(){
$('#email2').prop('required', true);
$('#aadhar').prop('required', true);
$('#short_name').closest('.form-group').hide();
$('#short_name').removeAttr('required');
} else {
$('.branchdiv').show();
@ -1408,7 +1412,7 @@ $(document).ready(function(){
$('#client_branch_id').prop('required', true);
$('#branch_code').prop('required', true);
$('#name').prop('required', true);
$('#mobile').prop('required', true);
$('#mobile').prop('required', false);
$('#gst').prop('required', true);
$('#email').prop('required', true);
@ -1417,6 +1421,9 @@ $(document).ready(function(){
$('#email2').prop('required', false);
$('#aadhar').prop('required', false);
$('#short_name').closest('.form-group').show();
$('#short_name').attr('required', 'required');
}
var myModal = new bootstrap.Modal(document.getElementById('upload_enrollment_model'));
@ -3729,7 +3736,7 @@ $('#client_type').change(function() {
$('#client_branch_id').prop('required', true);
$('#branch_code').prop('required', true);
$('#name').prop('required', true);
$('#mobile').prop('required', true);
$('#mobile').prop('required', false);
$('#gst').prop('required', true);
$('#email').prop('required', true);
@ -4049,7 +4056,7 @@ function addInsurerColumn() {
let newCell = '';
if(team_id.includes('6') || team_id.includes('4')){
if(role_id == 1 || role_id == 5 || team_id.includes('6') || team_id.includes('4')){
switch(index) {
@ -4461,7 +4468,7 @@ function populateTable(dataArray, cd_ac_pk) {
let insurer = data.insurer_branch_id + '-' + data.insurer_id;
if(team_id.includes('6') || team_id.includes('4')){
if(role_id == 1 || role_id == 5 || team_id.includes('6') || team_id.includes('4')){
switch (rowIndex) {
case 0: // Insurer selection
cell.find('select').val(insurer).change().toggleClass('readonly-select', !!disable_td);

View File

@ -188,9 +188,9 @@ table.dataTable tbody td {
</select>
</div>
<div class="form-group col-md-3">
<!-- <div class="form-group col-md-3" style="display: none;">
<label for="client_branch">Issuer<span class="text-danger">*</span></label>
<select class="form-control" id="issuer_for_search" name="issuer" required>
<select class="form-control" id="issuer_for_search" name="issuer">
<option value="0">Select Issuer</option>
<?php
if (isset($issuer) && count($issuer)) {
@ -200,10 +200,7 @@ table.dataTable tbody td {
}
?>
</select>
</div>
</div>
<div class="form-row">
</div> -->
<div class="form-group col-md-3">
<label for="email"> Status <span class="text-danger"></span></label>
@ -217,7 +214,13 @@ table.dataTable tbody td {
}
?>
</select>
</div>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-3">
<label>Date Type<span class="text-danger"></span></label>
@ -1216,6 +1219,15 @@ $(document).ready(function(){
if($('#client_type').val()){
$('#client_id').val('').change();
if($('#client_type').val() == 2){
$('#short_name').closest('.form-group').hide();
$('#short_name').removeAttr('required');
} else {
$('#short_name').closest('.form-group').show();
$('#short_name').attr('required', 'required');
}
var myModal = new bootstrap.Modal(document.getElementById('upload_enrollment_model'));
myModal.show();
}else{
@ -1512,7 +1524,7 @@ function fetchEmpolyeeList(event)
var insurer_id = $('#insurer_id_for_search').val();
var policy_type_id = $('#policy_type_for_search').val();
var date_type = $('#date_type').val();
var issuer = $('#issuer_for_search').val();
var issuer = $('#issuer_for_search').val() || 0;
var status = $('#policy_status_for_search').val();
console.log(start_date + '-' + end_date);