From a399b976f36c5ff55d466fa4a0b6bff42852a12e Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Fri, 5 Apr 2024 13:41:08 +0530 Subject: [PATCH] CHANGE_EXPORT_EXCEL : RV --- app/Controllers/EmpDataServiceController.php | 100 ++++++++++++++----- app/Models/EmployeePolicyModel.php | 21 ++-- 2 files changed, 87 insertions(+), 34 deletions(-) diff --git a/app/Controllers/EmpDataServiceController.php b/app/Controllers/EmpDataServiceController.php index 48a03584..a45837f3 100644 --- a/app/Controllers/EmpDataServiceController.php +++ b/app/Controllers/EmpDataServiceController.php @@ -162,9 +162,17 @@ class EmpDataServiceController extends BaseController public function generateExcelForCorrection($export_data) { + $ids = []; $objects = $this->employeePolicyModel->getCorrectionEmployeesDataForExportExcel($export_data); - // dd($objects); + + foreach ($objects as $obj) { + $ids[] = $obj->id; + } + + // echo '
';
+            // print_r($objects); die;
+
             $count = count($objects);
             $export_data['count'] = $count;
             $this->myLogger->logme('error','Correction export data count : {data}', ['data'=> $count ]);
@@ -201,6 +209,14 @@ class EmpDataServiceController extends BaseController
                 $return = $this->batchFilesAndBatchListEntry($export_data, $objects);
                 if($return){
     
+                    foreach ($ids as $key => $id) {
+                        $group_key = $this->empEndorsementModel->select('group_key')->where('id', $id)->first();
+                        if ($group_key) {
+                            $this->empEndorsementModel->where('group_key', $group_key)->set('status', 'inprogress')->update();
+                        }
+                    }
+        
+
                     // Set the appropriate headers for Excel file download
                     header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
                     header('Content-Disposition: attachment;filename="' . $export_data['file_name'] . '"');
@@ -228,9 +244,15 @@ class EmpDataServiceController extends BaseController
 
         public function generateExcelForSIEnhancement($export_data)
         {
-
+            $ids = [];
             $objects = $this->employeePolicyModel->getSIEnhancementEmployeesDataForExportExcel($export_data);
             
+            foreach ($objects as $obj) {
+                $ids[] = $obj->endorsement_primarykey;
+            }
+
+            // echo '
';
+            // print_r($ids); die;
             // dd($objects);
             
             $count = count($objects);
@@ -279,6 +301,13 @@ class EmpDataServiceController extends BaseController
             if($value){
                 $return = $this->batchFilesAndBatchListEntry($export_data, $objects);
                 if($return){
+
+                    foreach ($ids as $key => $id) {
+                        $group_key = $this->empEndorsementModel->select('group_key')->where('id', $id)->first();
+                        if ($group_key) {
+                            $this->empEndorsementModel->where('group_key', $group_key)->set('status', 'inprogress')->update();
+                        }
+                    }
     
                     // Set the appropriate headers for Excel file download
                     header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
@@ -306,8 +335,18 @@ class EmpDataServiceController extends BaseController
 
         public function generateExcelForDeletion($export_data)
         {
-            // dd($export_data['client_id']);
+            $ids = [];
+
             $objects = $this->employeePolicyModel->getDeletionEmployeeDataForExportExcel($export_data);
+
+            foreach ($objects as $obj) {
+                $ids[] = $obj->endorsement_primarykey;
+            }
+
+            // echo '
';
+            // print_r($ids); 
+            // print_r($objects); die;
+
             $count = count($objects);
             $export_data['count'] = $count;
 
@@ -350,6 +389,13 @@ class EmpDataServiceController extends BaseController
             if($value){
                 $return = $this->batchFilesAndBatchListEntry($export_data, $objects);
                 if( $return){
+
+                    foreach ($ids as $key => $id) {
+                        $group_key = $this->empEndorsementModel->select('group_key')->where('id', $id)->first();
+                        if ($group_key) {
+                            $this->empEndorsementModel->where('group_key', $group_key)->set('status', 'inprogress')->update();
+                        }
+                    }
     
                     // Set the appropriate headers for Excel file download
                     header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
@@ -560,7 +606,7 @@ class EmpDataServiceController extends BaseController
 
                         // $this->employeePolicyModel->updateCorrectionData($emp_code, $uhid, $endorsement_id);
 
-                        $queryData =  $this->empEndorsementModel->select('emp_endorsement.*')
+                        $queryData =  $this->empEndorsementModel->select('emp_endorsement.*, employees.id as emp_id')
                                 ->join('employees', 'employees.id = emp_endorsement.pk')
                                 ->join('employee_polices', 'employee_polices.employee_id = employees.id')
                                 ->where('employees.emp_code', $emp_code)
@@ -578,7 +624,11 @@ class EmpDataServiceController extends BaseController
                             $emp_id = $endorsementData['emp_id'];
                             $field_name = $endorsementData['field_name'];
                             $new_value = $endorsementData['new_value'];
-                            $this->empEndorsementModel->where('id', $emp_endoresment_id)->set('endorsement_id', $endorsement_id)->update();
+                            $endoresment_udate_data = [
+                                'endorsement_id' => $endorsement_id,
+                                'status' => 'complete',
+                            ];
+                            $this->empEndorsementModel->where('id', $emp_endoresment_id)->set($endoresment_udate_data)->update();
                             $this->employeeModel->where('id', $emp_id)->set($field_name, $new_value)->update();
                         }
 
@@ -617,7 +667,7 @@ class EmpDataServiceController extends BaseController
             $import_data['created_by'] = get_session_userid();
             $import_data['file_name'] = $filename;
             $insert = $this->batchFileModel->insert($import_data);
-            $batch_file_batch_code = $this->batchFileModel->where('id', 2)->first();
+            $batch_file_batch_code = $this->batchFileModel->where('id', $insert)->first();
 
             $batch_code_for_batch_list['batch_code'] = $batch_file_batch_code['batch_code'];
             $batch_code_for_batch_list['created_by'] = get_session_userid();
@@ -725,8 +775,6 @@ class EmpDataServiceController extends BaseController
             $this->cashDepositCalculationForSIEnhancement($depositeData);
 
             return 1;
-
-
         }
 
 
@@ -801,18 +849,18 @@ class EmpDataServiceController extends BaseController
                             array_push($employeeIds, $id);
                         }
 
-                        $updateData = [
-                            'emp_code' =>$emp_code,
-                            'client_id' =>$client_id,
-                            'client_policy_id' =>$client_policy_id,
-                            'emp_name' =>$emp_name,
-                            'endorsement_id' =>$endorsement_id,
-                        ];
+                        // $updateData = [
+                        //     'emp_code' =>$emp_code,
+                        //     'client_id' =>$client_id,
+                        //     'client_policy_id' =>$client_policy_id,
+                        //     'emp_name' =>$emp_name,
+                        //     'endorsement_id' =>$endorsement_id,
+                        // ];
 
-                        $this->employeePolicyModel->updateEndoresmentIdForDeletion($updateData);
+                        // $this->employeePolicyModel->updateEndoresmentIdForDeletion($updateData);
 
                         $deletionDataForEmployee = $this->empEndorsementModel
-                        ->select('emp_endorsement.new_value, employees.id')
+                        ->select('emp_endorsement.new_value, emp_endorsement.id as ee_id, employees.id')
                         ->join('employees', 'emp_endorsement.emp_code = employees.emp_code')
                         ->join('employee_polices', 'employee_polices.employee_id = employees.id')
                         ->where('emp_endorsement.emp_code', $emp_code)
@@ -824,6 +872,13 @@ class EmpDataServiceController extends BaseController
 
                         $deletionDataForEmployee['updated_by'] = get_session_userid();
                         $this->employeeModel->save($deletionDataForEmployee);
+
+                        $e_Data = [
+                            'endorsement_id'=> $endorsement_id,
+                            'status'=> 'complete',
+                        ];
+                        $group_key = $this->empEndorsementModel->select('group_key')->where('id', $deletionDataForEmployee['ee_id'])->first();
+                        $this->empEndorsementModel->where('group_key', $group_key)->set($e_Data)->update();
                         
                         $fetchData = [
                             'emp_code'=> $emp_code,
@@ -834,11 +889,6 @@ class EmpDataServiceController extends BaseController
                         $deletionDataForEmployeePolicy = $this->employeePolicyModel->fetchEmpEndorsementData($fetchData);
                         $deletionDataForEmployeePolicy['updated_by'] = get_session_userid();
                         $this->employeePolicyModel->save($deletionDataForEmployeePolicy);
-
-                        // echo '
';
-                        // print_r($deletionDataForEmployeePolicy); die;
-                        
-                        $this->employeePolicyModel->save($deletionDataForEmployeePolicy);
                         
                         // $query = $this->employeePolicyModel->getLastQuery();
                         // echo $query . "
"; @@ -961,8 +1011,8 @@ class EmpDataServiceController extends BaseController // print_r($arrayData); if (!empty($arrayData)) { - echo '
';
-                print_r($arrayData); die;
+                // echo '
';
+                // print_r($arrayData); die;
                 $amount = $this->employeePolicyModel->query("
                 SELECT
                     SUM(ROUND((employee_polices.premium * DATEDIFF(employee_polices.policy_end_date, employee_polices.date_of_exit)) / 365, 2) +
@@ -970,7 +1020,7 @@ class EmpDataServiceController extends BaseController
                 FROM employee_polices
                 WHERE id IN (" . implode(',', $arrayData['employeeIds']) . ")
                 ")->getRow();
-                print_r($amount);die;
+
                 $insurer_id = $this->clientPolicyModel->where('id', $arrayData['client_policy_id'])->first();       
                 $description = 'The following amount of ' . $amount->total_sum . ' has been credited for the ' . $arrayData['count'] . ' employees at ' . remove_underscore_capitalize_first_letter($arrayData['event']) . ' to ' . remove_underscore_capitalize_first_letter($arrayData['policy_name']) . '.';
 
diff --git a/app/Models/EmployeePolicyModel.php b/app/Models/EmployeePolicyModel.php
index a54e91c3..8340dbf5 100644
--- a/app/Models/EmployeePolicyModel.php
+++ b/app/Models/EmployeePolicyModel.php
@@ -235,6 +235,7 @@ class EmployeePolicyModel extends Model
 
         $query = $this->db->query("
                 SELECT 
+                    a.id as endorsement_primarykey,
                     employee_polices.id AS primaryKey,
                     employees.name AS emp_name,
                     employees.emp_code AS emp_code,
@@ -341,6 +342,7 @@ class EmployeePolicyModel extends Model
 
             $query = $this->db->query("
             SELECT 
+                a.id as endorsement_primarykey,
                 employee_polices.id as primaryKey, 
                 employees.name AS emp_name,
                 employees.emp_code AS emp_code,
@@ -456,7 +458,7 @@ class EmployeePolicyModel extends Model
             UPDATE emp_endorsement 
             JOIN employees ON employees.id = emp_endorsement.pk
             JOIN employee_polices ON employees.id = employee_polices.employee_id
-            SET emp_endorsement.endorsement_id = '$endorsement_id'
+            SET emp_endorsement.endorsement_id = '$endorsement_id', emp_endorsement.status = 'complete'
             WHERE employees.emp_code = '$emp_code'
             AND employee_polices.uhid = '$uhid'
         ";
@@ -468,15 +470,15 @@ class EmployeePolicyModel extends Model
         
         $client_id = $update_data['client_id'];
         $client_policy_id = $update_data['client_policy_id'];
-        $emp_name = $update_data['name'];
+        $emp_name = $update_data['emp_name'];
         $emp_code = $update_data['emp_code'];
-        $endorsement_id = $update_data['uhid'];
+        $endorsement_id = $update_data['endorsement_id'];
 
         $sql = "
                 UPDATE emp_endorsement
                 JOIN employee_polices ON employee_polices.id = emp_endorsement.pk
                 JOIN employees ON employee_polices.employee_id = employees.id
-                SET emp_endorsement.endorsement_id = '$endorsement_id'
+                SET emp_endorsement.endorsement_id = '$endorsement_id', emp_endorsement.status = 'complete'
                 WHERE emp_endorsement.emp_code = '$emp_code'
                 AND employees.client_id = '$client_id'
                 AND employee_polices.client_policy_id = '$client_policy_id'
@@ -488,19 +490,20 @@ class EmployeePolicyModel extends Model
     }
 
 
-    public function updateEndoresmentIdForDeletion($update_data){
+    public function updateEndoresmentIdForDeletion($update_data)
+    {
         
         $client_id = $update_data['client_id'];
         $client_policy_id = $update_data['client_policy_id'];
-        $emp_name = $update_data['name'];
+        $emp_name = $update_data['emp_name'];
         $emp_code = $update_data['emp_code'];
-        $endorsement_id = $update_data['uhid'];
+        $endorsement_id = $update_data['endorsement_id'];
 
         $sql = "
                 UPDATE emp_endorsement
                 JOIN employee_polices ON employee_polices.id = emp_endorsement.pk
                 JOIN employees ON employee_polices.employee_id = employees.id
-                SET emp_endorsement.endorsement_id = '$endorsement_id'
+                SET emp_endorsement.endorsement_id = '$endorsement_id', emp_endorsement.status = 'complete'
                 WHERE employees.emp_code = '$emp_code'
                 AND employees.client_id = '$client_id'
                 AND employee_polices.client_policy_id = '$client_policy_id'
@@ -513,7 +516,7 @@ class EmployeePolicyModel extends Model
     public function fetchEmpEndorsementData($fetch_data)
     {
         $client_policy_id = $fetch_data['client_policy_id'];
-        $emp_name = $fetch_data['name'];
+        $emp_name = $fetch_data['emp_name'];
         $emp_code = $fetch_data['emp_code'];
 
         // Your raw SQL query