diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index f2efbf1b..26d3ac81 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -6274,45 +6274,74 @@ class ClientController extends AdminController } } else { - foreach ($hrAccessTableData as $access) { - foreach ($merged as $hr) { - if ($hr['post_hr_id'] == $access['post_hr_id']) { - - $allowed_modules = json_decode($access['allowed_modules'], true) ?? null; - if ($allowed_modules == null) { - $allowed_pre_modules = null; - $allowed_post_modules = null; - } else { + // First create a map of HR data by post_hr_id for quick lookup + $hrMap = []; + foreach ($merged as $hr) { + $hrMap[$hr['post_hr_id']] = $hr; + } + + // Process access data first + foreach ($hrAccessTableData as $access) { + $post_hr_id = $access['post_hr_id']; + + // Check if this HR exists in our merged data + if (isset($hrMap[$post_hr_id])) { + $hr = $hrMap[$post_hr_id]; + $temp_arr_key = $hr['hr_mobile'] . $hr['hr_mail']; + + // Parse allowed modules + $allowed_modules = json_decode($access['allowed_modules'], true) ?? null; $allowed_pre_modules = $allowed_modules['pre'] ?? []; $allowed_post_modules = $allowed_modules['post'] ?? []; + + $result[$temp_arr_key] = [ + 'hr_access_table_pk' => $access['id'] ?? null, + 'post_client_id' => $access['post_client_id'] ?? null, + 'pre_hr_id' => $hr['pre_hr_id'] ?? null, + 'post_hr_id' => $hr['post_hr_id'] ?? null, + 'allowed_pre_modules' => $allowed_pre_modules, + 'allowed_post_modules' => $allowed_post_modules, + 'allowed_pre_policies' => json_decode($access['allowed_pre_policies'], true) ?? [], + 'allowed_active_policies' => json_decode($access['allowed_active_policies'], true) ?? [], + 'allowed_cd' => json_decode($access['allowed_cd'], true) ?? [], + 'hr_name' => $hr['hr_name'], + 'hr_mobile' => $hr['hr_mobile'], + 'hr_mail' => $hr['hr_mail'] + ]; + + // Remove from map so we know it's been processed + unset($hrMap[$post_hr_id]); } - - $result[] = [ - 'hr_access_table_pk' => $access['id'] ?? null, - 'post_client_id' => $access['post_client_id'] ?? null, + } + + // Now process any remaining HRs that didn't have access records + foreach ($hrMap as $hr) { + $temp_arr_key = $hr['hr_mobile'] . $hr['hr_mail']; + + $result[$temp_arr_key] = [ + 'hr_access_table_pk' => null, + 'post_client_id' => $client_id ?? null, 'pre_hr_id' => $hr['pre_hr_id'] ?? null, 'post_hr_id' => $hr['post_hr_id'] ?? null, - 'allowed_pre_modules' => $allowed_pre_modules, - 'allowed_post_modules' => $allowed_post_modules, - 'allowed_pre_policies' => json_decode($access['allowed_pre_policies'], true) ?? [], - 'allowed_active_policies' => json_decode($access['allowed_active_policies']) ?? [], - 'allowed_cd' => json_decode($access['allowed_cd'], true) ?? [], - 'hr_name' => $hr['hr_name'], - 'hr_mobile' => $hr['hr_mobile'], - 'hr_mail' => $hr['hr_mail'] + 'allowed_pre_modules' => [], + 'allowed_post_modules' => [], + 'allowed_pre_policies' => [], + 'allowed_active_policies' => [], + 'allowed_cd' => [], + 'hr_name' => $hr['hr_name'] ?? null, + 'hr_mobile' => $hr['hr_mobile'] ?? null, + 'hr_mail' => $hr['hr_mail'] ?? null, ]; - break; } - } - } } + - $resultData['hr_access_data'] = $result; + $resultData['hr_access_data'] = array_values($result); $resultData['pre_policy_data'] = $data['pre_policy_data']; $resultData['post_policy_data'] = $data['post_policy_data']; $resultData['post_cd_data'] = $data['post_cd_data']; - - // dd($resultData); + // echo '**********************************************'; + // print_rr($resultData);die(); return $resultData; } diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index 8a77865c..78e99a86 100755 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -2376,41 +2376,45 @@ class EmployeeRestController extends AdminController $hr_id = $this->request->getGet('hr_id'); $HRAccessData = $this->getHRAccessData($hr_id,'post_enrollment'); - - if(isset($HRAccessData['allowed_active_policies'])) + // print_rr($HRAccessData);die(); + if(isset($HRAccessData['allowed_cd'])) { - $policyId = json_decode($HRAccessData['allowed_active_policies'],true); + $allowed_cd = json_decode($HRAccessData['allowed_cd'],true); }else{ - $policyId = []; + $allowed_cd = []; } - - if(count($policyId) == 0){ - return $this->respond(['status' => 'failed','code' => (count($policyId) ? 200 : 404),'data' => [] ], 200); + // $allowed_cd = [125]; + // print_r($allowed_cd);die(); + if(count($allowed_cd) == 0){ + return $this->respond(['status' => 'failed','code' => (count($allowed_cd) ? 200 : 404),'data' => [] ], 200); } $clientId = $this->request->getGet('client_id'); $clientController = new ClientController; - $result = $clientController->deposit($clientId , $requestFrom = 'rest' , $policyId); - + $result = $clientController->deposit($clientId , $requestFrom = 'rest' , []); + // print_rr($result);die(); $data = []; foreach ($result['clientData'] as $key => $value) { - $temp['client_id'] = $value->client_id; - $temp['insurer_id'] = $value->insurer_id; - $temp['cd_ac_pk'] = $value->cd_ac_pk; - $temp['insurer_name'] = $value->insurer_name; - $temp['cd_master_account_no'] = $value->cd_master_account_no; - if (isset($result['balances'][$temp['insurer_id']])) { - $balance = $result['balances'][$temp['insurer_id']]->balance; - $temp['balance'] = $balance; - } else { - $temp['balance'] = "N/A"; + if( in_array($value->cd_ac_pk, $allowed_cd) ) + { + $temp['client_id'] = $value->client_id; + $temp['insurer_id'] = $value->insurer_id; + $temp['cd_ac_pk'] = $value->cd_ac_pk; + $temp['insurer_name'] = $value->insurer_name; + $temp['cd_master_account_no'] = $value->cd_master_account_no; + if (isset($result['balances'][$temp['insurer_id']])) { + $balance = $result['balances'][$temp['insurer_id']]->balance; + $temp['balance'] = $balance; + } else { + $temp['balance'] = "N/A"; + } + + array_push($data,$temp); } - - array_push($data,$temp); } diff --git a/app/Controllers/RestAuthenticationController.php b/app/Controllers/RestAuthenticationController.php index 4aa0d89d..478d563b 100755 --- a/app/Controllers/RestAuthenticationController.php +++ b/app/Controllers/RestAuthenticationController.php @@ -23,6 +23,7 @@ use App\Models\AuthHistoryModel; use App\Models\LevelContactModel; use App\Models\HRAccessControlModel; use App\Models\ClientModel; +use App\Models\UserActivityHistoryModel; use Firebase\JWT\JWT; // require_once('../vendor/autoload.php'); @@ -39,6 +40,7 @@ class RestAuthenticationController extends AdminController protected $hrModel; protected $hrAccessControlModel; protected $clientModel; + protected $userActivityHistoryModel; public function __construct() @@ -51,6 +53,7 @@ class RestAuthenticationController extends AdminController $this->hrModel = new LevelContactModel(); $this->hrAccessControlModel = new HRAccessControlModel(); $this->clientModel = new ClientModel(); + $this->userActivityHistoryModel = new UserActivityHistoryModel(); } @@ -1231,6 +1234,13 @@ class RestAuthenticationController extends AdminController ], 404); } + public function logHrActivity() + { + $json = $this->request->getJSON(); + print_r($json);die(); + // $this->userActivityHistoryModel->insert(); + } + } \ No newline at end of file diff --git a/app/Models/UserActivityHistoryModel.php b/app/Models/UserActivityHistoryModel.php new file mode 100644 index 00000000..e56fcadd --- /dev/null +++ b/app/Models/UserActivityHistoryModel.php @@ -0,0 +1,18 @@ +