From 3f963f06e6a67811b33c8dd7987b411ef6d94fc1 Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Fri, 28 Feb 2025 10:00:57 +0530 Subject: [PATCH 01/11] FIX_PRE_ENROLL : RV --- app/Controllers/ClientController.php | 7 +- app/Controllers/EmployeeController.php | 4 + app/Views/client_policy.php | 4 +- app/Views/employee_data_list.php | 210 ++++++++++++++++++++- app/Views/employee_list.php | 250 +++++++++++++++++-------- app/Views/layout/header.php | 20 +- 6 files changed, 399 insertions(+), 96 deletions(-) diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index 8fb1ea0..321770d 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -1021,7 +1021,12 @@ class ClientController extends AdminController $insurerValue = (string) $this->request->getPost('insurer'); - list($insurerBranchId, $insurerId) = explode('-', $insurerValue); + if ($insurerValue === null || $insurerValue === '') { + $insurerBranchId = null; + $insurerId = null; + } else { + list($insurerBranchId, $insurerId) = explode('-', $insurerValue); + } $data['insurer_branch_id'] = $insurerBranchId; diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php index 5f4e9b2..2e5d202 100755 --- a/app/Controllers/EmployeeController.php +++ b/app/Controllers/EmployeeController.php @@ -114,6 +114,10 @@ class EmployeeController extends AdminController // log_message('error',json_encode($data['employees'])); // Set getData in $data array with the processed $filterData $data['getData'] = $filterData; + + $html = view('employee_data_list', $data); + return $this->respond(['status' => true, 'html' => $html], 200); + } // dd($this->employeeModel->getLastQuery()); diff --git a/app/Views/client_policy.php b/app/Views/client_policy.php index 10ff476..4daedd0 100755 --- a/app/Views/client_policy.php +++ b/app/Views/client_policy.php @@ -76,10 +76,10 @@ -
+
diff --git a/app/Views/employee_data_list.php b/app/Views/employee_data_list.php index 1573b67..e3d9a6e 100755 --- a/app/Views/employee_data_list.php +++ b/app/Views/employee_data_list.php @@ -38,6 +38,44 @@ text-align: right; } +.readonly-select { + pointer-events: none; + background-color: #f0f0f0; + color: #666; +} + + + + @@ -141,15 +179,22 @@ @@ -259,14 +304,30 @@ + + + + diff --git a/app/Views/employee_list.php b/app/Views/employee_list.php index 255d827..976e2f6 100755 --- a/app/Views/employee_list.php +++ b/app/Views/employee_list.php @@ -135,31 +135,105 @@ table.dataTable tbody td { - + +
+ \ No newline at end of file From 47970b7d9877f61a5fda74d52338a847fcd19751 Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Sat, 1 Mar 2025 17:45:26 +0530 Subject: [PATCH 05/11] FIX_DASHBOARD_ISSUE : RV --- app/Controllers/DashboardController.php | 155 ++-- app/Controllers/EmployeeController.php | 30 +- app/Helpers/utility_helper.php | 4 + app/Views/enrollment_dash.php | 914 ++++++++++++------------ 4 files changed, 542 insertions(+), 561 deletions(-) diff --git a/app/Controllers/DashboardController.php b/app/Controllers/DashboardController.php index 34fee90..3722a30 100755 --- a/app/Controllers/DashboardController.php +++ b/app/Controllers/DashboardController.php @@ -98,19 +98,60 @@ class DashboardController extends AdminController public function dashboard() { - $data = []; + $data['page_name'] = 'Dashboard'; + + $db = db_connect(); + $sql = "SELECT + clients.id AS client_id, + clients.client_name, + clients.short_name, + client_branch.id AS client_branch_id, + client_branch.branch_name, + client_branch.branch_code, + + COUNT(employees.id) AS total_employees, + SUM(CASE WHEN employees.emp_status = 'draft' THEN 1 ELSE 0 END) AS draft_count, + SUM(CASE WHEN employees.emp_status IN ('enrolled', 'active') THEN 1 ELSE 0 END) AS enrolled_count, - $results = $this->clientModel->select('clients.id as client_id, clients.client_name, clients.short_name, - client_branch.id as client_branch_id, client_branch.branch_name, - client_branch.branch_code, employees.id as employee_id, - employees.name as employee_name, employees.relationship, - employees.emp_code, employees.emp_status, auth_history.user_type, client_policy.policy_type_id, client_policy.id as client_policy_id') - ->join('client_branch', 'clients.id = client_branch.client_id', 'left') - ->join('client_policy', 'client_branch.id = client_policy.client_branch_id', 'left') - ->join('employees', 'client_branch.id = employees.client_branch_id', 'left') - ->join('auth_history', 'employees.id = auth_history.user_id AND "employee" = auth_history.user_type', 'left') - ->findAll(); + SUM(CASE WHEN auth_history.user_id IS NOT NULL THEN 1 ELSE 0 END) AS logged_in_count, + SUM(CASE WHEN auth_history.user_id IS NULL THEN 1 ELSE 0 END) AS not_logged_in_count, + CASE + WHEN EXISTS ( + SELECT 1 FROM client_policy + WHERE client_policy.client_branch_id = client_branch.id + AND client_policy.is_active = 1 + AND client_policy.open_for_enrollment = 1 + ) THEN 1 + ELSE 0 + END AS open_or_close_enrollment + + FROM clients + LEFT JOIN client_branch ON clients.id = client_branch.client_id + LEFT JOIN employees ON client_branch.id = employees.client_branch_id + LEFT JOIN ( + SELECT user_id, user_type + FROM auth_history + WHERE user_type = 'employee' + GROUP BY user_id + ) AS auth_history ON employees.id = auth_history.user_id + + WHERE employees.relationship = 'Self' + AND employees.emp_status IN ('draft', 'enrolled', 'active') + AND employees.is_active = 1 + AND clients.is_active = 1 + AND client_branch.is_active = 1 + + GROUP BY clients.id, client_branch.id"; + + $query = $db->query($sql); + $results = $query->getResultArray(); + + + $data['client_branch_emp_list'] = $results; + $session = \Config\Services::session(); + $session->set('enrollment_data', json_encode($data)); + // $pendingActionsController = new PendingActionsController; // $pendingActionsData = $pendingActionsController->getPendingActionsForDashBoard(); // $businessTeamData = $this->policyTransactionModel->getBusinessReportList(); @@ -118,95 +159,6 @@ class DashboardController extends AdminController // $businessTeamStatusData = $this->data_construct_for_bds($businessTeamData); // $financeTeamStatusData = $this->data_construct_for_bds($financeTeamData); - $groupedData = []; - - foreach ($results as $row) { - $clientId = $row['client_id']; - $clientName = $row['client_name']; - $shortName = $row['short_name']; - $branchId = $row['client_branch_id']; - $branchName = $row['branch_name']; - $branchCode = $row['branch_code']; - - $clientPolicyId = $row['client_policy_id']; - $policyTypeId = $row['policy_type_id']; - $employeeId = ''; - if ($employeeId != $row['employee_id']) { - $employeeId = $row['employee_id']; - } else { - $employeeId = null; - } - $employeeName = $row['employee_name']; - $employeeRelationship = $row['relationship']; - $employeeEmpCode = $row['emp_code']; - $employeeEmpStatus = $row['emp_status']; - $employeeUserType = $row['user_type']; - - // Initialize the client entry if it doesn't exist - if (!isset($groupedData[$clientId])) { - $groupedData[$clientId] = [ - 'client_id' => $clientId, - 'client_name' => $clientName, - 'short_name' => $shortName, - 'branches' => [] - ]; - } - - // Initialize the branch entry if it doesn't exist - if (!isset($groupedData[$clientId]['branches'][$branchId])) { - $groupedData[$clientId]['branches'][$branchId] = [ - 'client_branch_id' => $branchId, - 'branch_name' => $branchName, - 'branch_code' => $branchCode, - 'emp_login' => 0, - 'emp_enroll' => 0, - 'client_policies' => [], - 'employees' => [] - ]; - } - - // Add the client policy to the branch's policies list if it exists, not already added, and policyTypeId is not equal to 1 - if ($clientPolicyId !== null && $policyTypeId != 1 && !in_array(['client_policy_id' => $clientPolicyId, 'policy_type_id' => $policyTypeId], $groupedData[$clientId]['branches'][$branchId]['client_policies'])) { - $groupedData[$clientId]['branches'][$branchId]['client_policies'][] = [ - 'client_policy_id' => $clientPolicyId, - 'policy_type_id' => $policyTypeId - ]; - } - - // Append employee error to the branch's employees list if relationship is 'Self' and not already added - $employeeKey = $employeeId . '-' . $employeeName; // unique key to identify an employee - if ($employeeId !== null && $employeeRelationship == 'Self' && !isset($groupedData[$clientId]['branches'][$branchId]['employees'][$employeeKey])) { - $groupedData[$clientId]['branches'][$branchId]['employees'][$employeeKey] = [ - 'employee_id' => $employeeId, - 'employee_name' => $employeeName, - 'relationship' => $employeeRelationship, - 'emp_code' => $employeeEmpCode, - 'emp_status' => $employeeEmpStatus, - 'user_type' => $employeeUserType - ]; - if (!empty($employeeUserType)) { - $groupedData[$clientId]['branches'][$branchId]['emp_login']++; - } - - // Increment emp_enroll if emp_status is not 'draft' - if ($employeeEmpStatus !== 'draft') { - $groupedData[$clientId]['branches'][$branchId]['emp_enroll']++; - } - } - } - - // Re-index the arrays to match the expected structure - foreach ($groupedData as &$client) { - foreach ($client['branches'] as &$branch) { - $branch['employees'] = array_values($branch['employees']); - } - $client['branches'] = array_values($client['branches']); - } - - $data['client_branch_emp_list'] = $groupedData; - $session = \Config\Services::session(); - $session->set('enrollment_data', json_encode($data)); - // echo "
";
         // $data['pendingActionsData'] = $pendingActionsData;
         // $data['businessTeamCount'] = count($businessTeamData) ?? 0;
         // $data['financeTeamCount'] = count($financeTeamData) ?? 0;
@@ -214,9 +166,8 @@ class DashboardController extends AdminController
         // $data['financeTeamStatusData'] = $financeTeamStatusData;
         // $data['policyStatus'] =  $this->policyStatus;
         // $data['colorShades'] =  $this->colorShades;
-        // dd($data);die;
 
-        $data['page_name'] = 'Dashboard';
+        // dd($data);
 
         echo view('layout/header',  $data);
         echo view('DashBoard', $data);
diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php
index e874d6f..22b1b6a 100755
--- a/app/Controllers/EmployeeController.php
+++ b/app/Controllers/EmployeeController.php
@@ -2199,33 +2199,39 @@ class EmployeeController extends AdminController
         }
     }
 
+    //UPDATE EMPLOYEE
     public function update_emp_data()
     {
         $data = $this->request->getPost();
         // print_rr($data);die();
         // $data['dob'] = date('Y-m-d', strtotime($data['dob']));
-        $data['dob'] = change_date_format($data['dob'], 'd/m/Y', 'Y-m-d');
+        if (isset($data['dob'])) {
+            $data['dob'] = change_date_format($data['dob'], null, 'Y-m-d');
+        }
         // print_rr($data); die;
 
         // Fetch current employee data
         $employee_data = $this->employeeModel->where('id', $data['employee_primary_id'])->first();
-    
+
         if ($employee_data['relationship'] == 'Self') {
 
-            if ($employee_data['gender'] != $data['gender']) {
+            if (isset($data['gender'])) {
 
-                $spouse_gender = ($data['gender'] == 'M') ? 'F' : 'M';
-                $this->employeeModel
-                    ->where('emp_code', $employee_data['emp_code'])
-                    ->where('relationship', 'Spouse')
-                    ->set(['gender' => $spouse_gender])
-                    ->update();
+                if ($employee_data['gender'] != $data['gender']) {
+
+                    $spouse_gender = ($data['gender'] == 'M') ? 'F' : 'M';
+                    $this->employeeModel
+                        ->where('emp_code', $employee_data['emp_code'])
+                        ->where('relationship', 'Spouse')
+                        ->set(['gender' => $spouse_gender])
+                        ->update();
+                }
             }
         }
-    
+
         // Update the employee data
         $result = $this->employeeModel->where('id', $data['employee_primary_id'])->set($data)->update();
-    
+
         if ($result) {
             return $this->respond(['status' => true, 'code' => 200, 'data' => $data, 'message' => 'Employee updated successfully'], 200);
         } else {
@@ -2688,7 +2694,7 @@ class EmployeeController extends AdminController
 
             $emp_history['created_at'] =  date("d-m-Y H:i:s", strtotime($emp_history['created_at']));
         }
-        
+
         unset($emp_history); 
         
         $emp_pol_pk = $this->employeePolicyModel->select('id')->where('employee_id',$emp_id)->first()['id'];
diff --git a/app/Helpers/utility_helper.php b/app/Helpers/utility_helper.php
index 79523f6..ca22481 100755
--- a/app/Helpers/utility_helper.php
+++ b/app/Helpers/utility_helper.php
@@ -544,6 +544,10 @@ if (!function_exists('change_date_format')) {
             'Y/m/d',     // 2024/12/01
             'Y.m.d',     // 2024.12.01
             'Y,m,d',     // 2024,12,01
+
+            'd/m/Y',     // 01/01/2025
+            'd-m-Y',     // 01-01-2025
+
         ];
 
         try {
diff --git a/app/Views/enrollment_dash.php b/app/Views/enrollment_dash.php
index 468ba7c..c6aa284 100755
--- a/app/Views/enrollment_dash.php
+++ b/app/Views/enrollment_dash.php
@@ -1,9 +1,9 @@
-
 
-
+
@@ -14,7 +14,8 @@
- +
@@ -25,36 +26,46 @@ $currentItem = 0; // Counter for items $isActive = true; // Variable to set the first item as active foreach ($client_branch_emp_list as $clients) { - foreach ($clients['branches'] as $branches) { + // Start a new carousel item if needed if ($currentItem % $itemsPerSlide == 0) { if (!$isActive) echo '
'; // Close previous carousel item - echo '