FIX_SI_ENHANCEMENT_QUERY : RV

This commit is contained in:
VENKATESHWARAN 2025-06-09 11:02:42 +05:30
parent 4937ae7b1d
commit 26dc9f1dfa
4 changed files with 259 additions and 126 deletions

View File

@ -1274,7 +1274,12 @@ class ClientController extends AdminController
$data['insurer_id'] = $insurerId; $data['insurer_id'] = $insurerId;
$tpaValue = (string) $this->request->getPost('tpa'); $tpaValue = (string) $this->request->getPost('tpa');
list($tpaBranchId, $tpaId) = explode('-', $tpaValue); if(!empty($tpaValue) || $tpaValue !== ''){
list($tpaBranchId, $tpaId) = explode('-', $tpaValue);
}else{
$tpaBranchId = null;
$tpaId = null;
}
$data['tpa_branch_id'] = $tpaBranchId; $data['tpa_branch_id'] = $tpaBranchId;
$data['client_id'] = $client_id; $data['client_id'] = $client_id;
@ -4825,20 +4830,24 @@ class ClientController extends AdminController
// ----------EMP DATA SERVICE CONTROLLER-------------------------------------------------------------------------------- // ----------EMP DATA SERVICE CONTROLLER--------------------------------------------------------------------------------
$batch_data = [ // $batch_data = [
'client_id' => 13, // 'client_id' => 29,
'client_policy_id' => 17, // 'client_policy_id' => 17,
'client_branch_id' => 15, // 'client_branch_id' => 15,
'insurer_or_tpa' => "insurer", // 'insurer_or_tpa' => "insurer",
'event_type' => "deletion", // 'event_type' => "deletion",
]; // ];
$batch_data = [ // $batch_data = [
'client_id' => 29, // 'client_id' => 89,
'client_policy_id' => 78, // 'client_policy_id' => 328,
'client_branch_id' => 46, // 'client_branch_id' => 88,
'insurer_or_tpa' => "insurer", // 'insurer_or_tpa' => "insurer",
]; // // 'insurer_or_tpa' => "tpa",
// 'event_type' => "si_enhancement",
// 'file_name' => "si_enhancement_test_file.xlsx",
// 'actions' => "export",
// ];
// $batch_data['insurer_or_tpa'] = 'insurer'; // $batch_data['insurer_or_tpa'] = 'insurer';
// $batch_data['insurer_or_tpa'] = 'tpa'; // $batch_data['insurer_or_tpa'] = 'tpa';
@ -4853,14 +4862,16 @@ class ClientController extends AdminController
// $EmpDataServiceController->sendMailForDownloadingECard($ids); // $EmpDataServiceController->sendMailForDownloadingECard($ids);
$EmpDataServiceController = new EmpDataServiceController(); $EmpDataServiceController = new EmpDataServiceController();
// $EmpDataServiceController->generateExcelForSIEnhancement($batch_data); die;
// $EmpDataServiceController->importDeletionValidation(['file_id' => 304]); //for live // $EmpDataServiceController->importDeletionValidation(['file_id' => 304]); //for live
// $EmpDataServiceController->importSIEnhancementUpdateEndorsementID(['file_id' => 1199]); //for live // $EmpDataServiceController->importSIEnhancementUpdateEndorsementID(['file_id' => 1199]); //for live
// $EmpDataServiceController->importSIEnhancementValidation(['file_id' => 1205]); //for live // $EmpDataServiceController->importSIEnhancementValidation(['file_id' => 1205]); //for live
// $EmpDataServiceController->importInceptionUpdateTPAandUHID(['file_id' => 214]); //for live // $EmpDataServiceController->importInceptionUpdateTPAandUHID(['file_id' => 214]); //for live
// $result = $this->employeePolicyModel->getDeletionEmployeeDataForExportExcel($batch_data); // $result = $this->employeePolicyModel->getDeletionEmployeeDataForExportExcel($batch_data);
// $result = $this->employeePolicyModel->getSIEnhancementEmployeesDataForExportExcel($batch_data); // $result = $this->employeePolicyModel->getSIEnhancementEmployeesDataForExportExcel($batch_data, 1);
// print_rr($result); die; // return $this->downloadInsurerExcelExport($batch_data);
// dd($result); die;
// $empServiceController = new EmployeeServiceController(); // $empServiceController = new EmployeeServiceController();
// $res = $empServiceController->employeesOnboardPreprocess(['file_id' => '741']); // $res = $empServiceController->employeesOnboardPreprocess(['file_id' => '741']);
@ -4869,7 +4880,7 @@ class ClientController extends AdminController
// $res = $PolicyTransactionController->validateInsurerStatement(['file_id' => '36']); // $res = $PolicyTransactionController->validateInsurerStatement(['file_id' => '36']);
// $empServiceController = new EmployeeServiceController(); // $empServiceController = new EmployeeServiceController();
// $res = $empServiceController->excelFileDataValidation(['file_id' => '319']); // $res = $empServiceController->excelFileDataValidation(['file_id' => '1101']);
// dd($res); // dd($res);
// $EmpDataServiceController = new EmpDataServiceController(); // $EmpDataServiceController = new EmpDataServiceController();

View File

@ -3355,6 +3355,17 @@ class LeadsController extends BaseController
if (!is_array($lead_data)) { if (!is_array($lead_data)) {
$lead_data = []; $lead_data = [];
} }
if (isset($lead_data['pincode']) && isset($lead_data['address'])) {
// Reorder keys: address first, then pincode, then the rest
$reordered = ['address' => $lead_data['address'], 'pincode' => $lead_data['pincode']];
// Remove existing keys
unset($lead_data['address'], $lead_data['pincode']);
// Merge reordered with the rest
$lead_data = $reordered + $lead_data;
}
$lead_data = array_merge(['Insured' => $rfq_data['client_name']], $lead_data); $lead_data = array_merge(['Insured' => $rfq_data['client_name']], $lead_data);
$policy_registration_data = []; $policy_registration_data = [];

View File

@ -597,17 +597,17 @@ class EmployeePolicyModel extends Model
public function getSIEnhancementEmployeesDataForExportExcel($ref_data, $return_type = 0) public function getSIEnhancementEmployeesDataForExportExcel($ref_data, $return_type = 0)
{ {
$client_id = $ref_data['client_id']; $client_id = $ref_data['client_id'];
$client_policy_id = $ref_data['client_policy_id']; $client_policy_id = $ref_data['client_policy_id'];
$client_branch_id = $ref_data['client_branch_id']; $client_branch_id = $ref_data['client_branch_id'];
$insurer_or_tpa = $ref_data['insurer_or_tpa']; $insurer_or_tpa = $ref_data['insurer_or_tpa'];
$endorsement_condition = "{$insurer_or_tpa}" === 'tpa' ? "AND (a.endorsement_id IS NOT NULL OR a.endorsement_id != '')" : "AND (a.endorsement_id IS NULL OR a.endorsement_id = '')"; $endorsement_condition = "{$insurer_or_tpa}" === 'tpa' ? "AND (a.endorsement_id IS NOT NULL OR a.endorsement_id != '')" : "AND (a.endorsement_id IS NULL OR a.endorsement_id = '')";
$query = $this->db->query(" $query = $this->db->query("
SELECT SELECT
a.id as endorsement_primarykey, a.id AS endorsement_primarykey,
a.group_key, a.group_key,
employee_polices.id AS primaryKey, employee_polices.id AS primaryKey,
employees.name AS emp_name, employees.name AS emp_name,
@ -616,10 +616,8 @@ class EmployeePolicyModel extends Model
employees.gender AS emp_gender, employees.gender AS emp_gender,
employees.relationship_code AS emp_relationship_code, employees.relationship_code AS emp_relationship_code,
employees.relationship AS emp_relationship, employees.relationship AS emp_relationship,
employees.emp_type as emp_type, employees.emp_type AS emp_type,
'SI' as event_type_data, 'SI' AS event_type_data,
employees.doj AS emp_doj, employees.doj AS emp_doj,
employees.mobile AS emp_mobile, employees.mobile AS emp_mobile,
employees.email_corporate AS emp_email_c, employees.email_corporate AS emp_email_c,
@ -627,103 +625,59 @@ class EmployeePolicyModel extends Model
employees.band AS emp_grade, employees.band AS emp_grade,
employees.designation AS emp_designation, employees.designation AS emp_designation,
employees.basic_pay AS emp_basic_pay, employees.basic_pay AS emp_basic_pay,
employee_polices.uhid AS uhid, employee_polices.uhid AS uhid,
employee_polices.pre_existing_alignments, employee_polices.pre_existing_alignments,
employee_polices.policy_end_date, employee_polices.policy_end_date,
employee_polices.basic_cover_si as old_basic_cover_si, employee_polices.basic_cover_si AS old_basic_cover_si,
employee_polices.premium as old_si_premium, employee_polices.premium AS old_si_premium,
employee_polices.rata_premimum as old_rata_premium, employee_polices.rata_premimum AS old_rata_premium,
employee_polices.age_band, employee_polices.age_band,
sidata.new_basic_cover_si,
batch_data.emp_policy_id,
batch_data.bl AS batch_list_batch_code,
batch_data.bf AS batch_files_batch_code,
sidata.new_basic_cover_si,
sidata.new_si_premium, sidata.new_si_premium,
sidata.old_si_premium, sidata.old_si_premium,
sidata.date_of_coverage, sidata.date_of_coverage,
DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1 AS no_of_days, DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1 AS no_of_days,
ROUND(sidata.new_si_premium - sidata.old_si_premium, 2) AS difference_premium, ROUND(sidata.new_si_premium - sidata.old_si_premium, 2) AS difference_premium,
ROUND((sidata.new_si_premium - sidata.old_si_premium) * (DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365, 2) AS pro_rata_premium,
ROUND(((sidata.new_si_premium - sidata.old_si_premium) * (DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365) * 0.18, 2) AS gst,
ROUND( ROUND(
((sidata.new_si_premium - sidata.old_si_premium) * (sidata.new_si_premium - sidata.old_si_premium) *
(DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365) + (DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365,
2
) AS pro_rata_premium,
ROUND(
(
(sidata.new_si_premium - sidata.old_si_premium) *
(DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365
) * 0.18,
2
) AS gst,
ROUND(
(
(sidata.new_si_premium - sidata.old_si_premium) *
(DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365
) +
ROUND( ROUND(
((sidata.new_si_premium - sidata.old_si_premium) * (
(DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365) * 0.18, 2 (sidata.new_si_premium - sidata.old_si_premium) *
), 2 (DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365
) * 0.18,
2
),
2
) AS total ) AS total
FROM
FROM
emp_endorsement a emp_endorsement a
LEFT JOIN LEFT JOIN employees ON employees.emp_code = a.emp_code
employees ON employees.emp_code = a.emp_code LEFT JOIN employee_polices ON employees.id = employee_polices.employee_id
LEFT JOIN
employee_polices ON employees.id = employee_polices.employee_id
LEFT JOIN ( LEFT JOIN (
SELECT SELECT
aa.emp_code, emp_code,
aa.new_value as 'new_basic_cover_si', CAST(MAX(CASE WHEN field_name = 'basic_cover_si' THEN new_value END) AS UNSIGNED) AS new_basic_cover_si,
bb.new_value as 'new_si_premium', CAST(MAX(CASE WHEN field_name = 'premium' THEN new_value END) AS DECIMAL(10,2)) AS new_si_premium,
bb.old_value as 'old_si_premium', CAST(MAX(CASE WHEN field_name = 'premium' THEN old_value END) AS DECIMAL(10,2)) AS old_si_premium,
cc.new_value as 'date_of_coverage' MAX(CASE WHEN field_name = 'si_enhancement_date' THEN new_value END) AS date_of_coverage
FROM ( FROM emp_endorsement
SELECT GROUP BY emp_code
a1.emp_code, ) AS sidata ON a.emp_code = sidata.emp_code
a1.field_name,
a1.new_value,
a1.old_value
FROM
emp_endorsement as a1
WHERE
a1.field_name = 'basic_cover_si'
) aa
LEFT JOIN (
SELECT
b1.emp_code,
b1.field_name,
b1.new_value,
b1.old_value
FROM
emp_endorsement as b1
WHERE
b1.field_name = 'premium'
) bb ON aa.emp_code = bb.emp_code
LEFT JOIN (
SELECT
c1.emp_code,
c1.field_name,
c1.new_value,
c1.old_value
FROM
emp_endorsement as c1
WHERE
c1.field_name = 'si_enhancement_date'
) cc ON aa.emp_code = cc.emp_code
) as sidata ON a.emp_code = sidata.emp_code
LEFT JOIN (
SELECT DISTINCT
batch_list.emp_policy_id,
batch_list.batch_code AS bl,
batch_files.batch_code AS bf
FROM
batch_files
LEFT JOIN
batch_list ON batch_files.batch_code = batch_list.batch_code
WHERE
batch_files.event_type = 'si_enhancement'
AND batch_files.actions = 'export'
AND batch_files.insurer_or_tpa = '{$insurer_or_tpa}'
) AS batch_data ON employee_polices.id = batch_data.emp_policy_id
WHERE employee_polices.client_policy_id = '{$client_policy_id}' WHERE employee_polices.client_policy_id = '{$client_policy_id}'
AND employees.client_branch_id = '{$client_branch_id}' AND employees.client_branch_id = '{$client_branch_id}'
$endorsement_condition $endorsement_condition
@ -736,20 +690,177 @@ class EmployeePolicyModel extends Model
group by group_key group by group_key
"); ");
// Get the result set // Get the result set
$results = $query->getResult(); $results = $query->getResult();
if($return_type == 1){ if ($return_type == 1) {
$results = $query->getResultArray(); $results = $query->getResultArray();
}else{ } else {
$results = $query->getResult(); $results = $query->getResult();
} }
// dd($this->db->getLastQuery());
return $results;
// dd($this->db->getLastQuery());
return $results;
} }
// DO NOT DELETE this SI ENHANCEMENT QUERY FUNCTION
// public function getSIEnhancementEmployeesDataForExportExcel($ref_data, $return_type = 0)
// {
// $client_id = $ref_data['client_id'];
// $client_policy_id = $ref_data['client_policy_id'];
// $client_branch_id = $ref_data['client_branch_id'];
// $insurer_or_tpa = $ref_data['insurer_or_tpa'];
// $endorsement_condition = "{$insurer_or_tpa}" === 'tpa' ? "AND (a.endorsement_id IS NOT NULL OR a.endorsement_id != '')" : "AND (a.endorsement_id IS NULL OR a.endorsement_id = '')";
// $query = $this->db->query("
// SELECT
// a.id as endorsement_primarykey,
// a.group_key,
// employee_polices.id AS primaryKey,
// employees.name AS emp_name,
// employees.emp_code AS emp_code,
// employees.dob AS emp_dob,
// employees.gender AS emp_gender,
// employees.relationship_code AS emp_relationship_code,
// employees.relationship AS emp_relationship,
// employees.emp_type as emp_type,
// 'SI' as event_type_data,
// employees.doj AS emp_doj,
// employees.mobile AS emp_mobile,
// employees.email_corporate AS emp_email_c,
// employees.email_personal AS emp_email_p,
// employees.band AS emp_grade,
// employees.designation AS emp_designation,
// employees.basic_pay AS emp_basic_pay,
// employee_polices.uhid AS uhid,
// employee_polices.pre_existing_alignments,
// employee_polices.policy_end_date,
// employee_polices.basic_cover_si as old_basic_cover_si,
// employee_polices.premium as old_si_premium,
// employee_polices.rata_premimum as old_rata_premium,
// employee_polices.age_band,
// batch_data.emp_policy_id,
// batch_data.bl AS batch_list_batch_code,
// batch_data.bf AS batch_files_batch_code,
// sidata.new_basic_cover_si,
// sidata.new_si_premium,
// sidata.old_si_premium,
// sidata.date_of_coverage,
// DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1 AS no_of_days,
// ROUND(sidata.new_si_premium - sidata.old_si_premium, 2) AS difference_premium,
// ROUND((sidata.new_si_premium - sidata.old_si_premium) * (DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365, 2) AS pro_rata_premium,
// ROUND(((sidata.new_si_premium - sidata.old_si_premium) * (DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365) * 0.18, 2) AS gst,
// ROUND(
// ((sidata.new_si_premium - sidata.old_si_premium) *
// (DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365) +
// ROUND(
// ((sidata.new_si_premium - sidata.old_si_premium) *
// (DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365) * 0.18, 2
// ), 2
// ) AS total
// FROM
// emp_endorsement a
// LEFT JOIN
// employees ON employees.emp_code = a.emp_code
// LEFT JOIN
// employee_polices ON employees.id = employee_polices.employee_id
// LEFT JOIN (
// SELECT
// aa.emp_code,
// aa.new_value as 'new_basic_cover_si',
// bb.new_value as 'new_si_premium',
// bb.old_value as 'old_si_premium',
// cc.new_value as 'date_of_coverage'
// FROM (
// SELECT
// a1.emp_code,
// a1.field_name,
// a1.new_value,
// a1.old_value
// FROM
// emp_endorsement as a1
// WHERE
// a1.field_name = 'basic_cover_si'
// ) aa
// LEFT JOIN (
// SELECT
// b1.emp_code,
// b1.field_name,
// b1.new_value,
// b1.old_value
// FROM
// emp_endorsement as b1
// WHERE
// b1.field_name = 'premium'
// ) bb ON aa.emp_code = bb.emp_code
// LEFT JOIN (
// SELECT
// c1.emp_code,
// c1.field_name,
// c1.new_value,
// c1.old_value
// FROM
// emp_endorsement as c1
// WHERE
// c1.field_name = 'si_enhancement_date'
// ) cc ON aa.emp_code = cc.emp_code
// ) as sidata ON a.emp_code = sidata.emp_code
// LEFT JOIN (
// SELECT DISTINCT
// batch_list.emp_policy_id,
// batch_list.batch_code AS bl,
// batch_files.batch_code AS bf
// FROM
// batch_files
// LEFT JOIN
// batch_list ON batch_files.batch_code = batch_list.batch_code
// WHERE
// batch_files.event_type = 'si_enhancement'
// AND batch_files.actions = 'export'
// AND batch_files.insurer_or_tpa = '{$insurer_or_tpa}'
// ) AS batch_data ON employee_polices.id = batch_data.emp_policy_id
// WHERE employee_polices.client_policy_id = '{$client_policy_id}'
// AND employees.client_branch_id = '{$client_branch_id}'
// $endorsement_condition
// AND a.actions = 'si'
// AND a.status != 'truncated'
// AND employee_polices.is_active = 1
// AND employee_polices.status = 'active'
// AND employees.is_active = 1
// AND employees.emp_status = 'active'
// group by group_key
// ");
// // Get the result set
// $results = $query->getResult();
// if($return_type == 1){
// $results = $query->getResultArray();
// }else{
// $results = $query->getResult();
// }
// // dd($this->db->getLastQuery());
// return $results;
// }
// DO NOT DELETE this DELETION QUERY FUNCTION // DO NOT DELETE this DELETION QUERY FUNCTION
// public function getDeletionEmployeeDataForExportExcel($ref_data, $return_type = 0) // public function getDeletionEmployeeDataForExportExcel($ref_data, $return_type = 0)

View File

@ -627,10 +627,10 @@
} }
}); });
if (isDuplicate) { // if (isDuplicate) {
toastr.warning('This value is already selected in another dropdown.', 'Warning'); // toastr.warning('This value is already selected in another dropdown.', 'Warning');
selectElement.value = ''; // selectElement.value = '';
} // }
} }
$('.close').click(function() $('.close').click(function()