MERGE_TEST_OPD_FULL&REPORTED_ISSUES

This commit is contained in:
Ubuntu 2025-12-30 14:28:30 +05:30
commit 63c12f195f
5 changed files with 62 additions and 2 deletions

View File

@ -6103,7 +6103,7 @@ class ClientController extends AdminController
$empServiceController = new EmployeeServiceController();
// $res = $empServiceController->excelFileFormatValidation(['file_id' => '1248']);
// $res = $empServiceController->excelFileDataValidation(['file_id' => '1248']);
// $res = $empServiceController->excelFileDataValidation(['file_id' => '1252']);
// $res = $empServiceController->employeesOnboardPreprocess(['file_id' => 1183]);
// $res = $empServiceController->employeesOnboardPreprocess(['file_id' => 1169]);
// $res = $empServiceController->employeesOnboardProcess(['file_id' => 835]);

View File

@ -4075,7 +4075,7 @@ class EmployeeController extends AdminController
'policy' => $client_policy_id,
'batch_no' => $batch_no,
'last_emp_id' => $last_emp_id,
'mode' => $execution_mode
'mode' => $execution_mode,
'is_dry_run' => $is_dry_run
]));

View File

@ -1196,6 +1196,20 @@ class EmployeeServiceController extends AdminController
}
}
// check the employee code if dublicate exist
if(($file['action'] == 'inception' || $file['action'] == 'missed_inception' || $file['action'] == 'addition' || $file['action'] == 'enrollment'))
{
$res = check_emp_code_duplication($family, $file);
// dd($res);
if($res['status'])
{
foreach ($res['row_ids'] as $row_id) {
array_push($result['error_summary'],26);
$result['error_data'][ $row_id ]['emp_id']['error'][] = "Employee Code is already exist in the system";
}
}
}
//check self avaialbe either same policy DB level(i.e.) gMC parents
if($file['action'] == 'dependent_addition' || ($policy_details['policy_type_id'] == 3 && !$is_self_available_in_policy_terms)) // 3 is GMC parents as base policy not as dep addon)
{

View File

@ -514,6 +514,47 @@ if (!function_exists('name_and_empid_check_in_db')) {
}
}
if (!function_exists('check_emp_code_duplication')) {
function check_emp_code_duplication($family_data, $actionArr)
{
$employeeModel = new EmployeeModel();
$row_ids = [];
$status = false;
$client_id = $actionArr['client_id'];
$policy_id = $actionArr['policy_id'];
$client_branch_id = $actionArr['client_branch_id'];
$current_action = $actionArr['action'];
foreach ($family_data as $rkey => $row) {
if ($current_action != 'dependent_addition' || (isset($row['temp']) && $row['temp']['source'] != 'db')) {
$res = $employeeModel
->join('client_policy cp', "employees.client_id = cp.client_id")
->join('employee_polices ep', "cp.id = ep.client_policy_id AND employees.id = ep.employee_id")
->where("cp.id", $policy_id)
->where("employees.client_id", $client_id)
->where("employees.client_branch_id", $client_branch_id)
->where("employees.is_active", 1)
->where("employees.emp_status", 'active')
->where("ep.is_active", 1)
->where("ep.status", 'active')
->where('TRIM(emp_code)', trim($row[1]))
->findAll();
if(count($res) > 0){
$row_ids[] = $row[0];
}
}
}
if(!empty($row_ids)){
$status = true;
}
return ['status' => $status, 'row_ids' => $row_ids];
}
}
if (!function_exists('check_dependent_conflict')) {
function check_dependent_conflict($family_data, $policy_terms, $actionArr, $is_lgbtq)
{

View File

@ -548,6 +548,11 @@ function fetchFileError(file_id) {
"<strong>Rule conflict: Twofold relationship found within family</strong> <span class='badge badge-danger float-right'>" +
err_count + "</span>";
break;
case 26:
file_error_html +=
"<strong>Duplicate Employee code found</strong> <span class='badge badge-danger float-right'>" +
err_count + "</span>";
break;
case 100:
hasError14 = true;
error_code = 14;