diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php index 0efa458a..f5d79461 100644 --- a/app/Controllers/EmployeeController.php +++ b/app/Controllers/EmployeeController.php @@ -131,8 +131,8 @@ class EmployeeController extends AdminController // print_r($this->request->getPost('policies')); // print_r($this->request->getPost('upload-action-type')); // die(); - $empServiceController = new EmployeeServiceController(); - $res = $empServiceController->excelFileFormatValidation(['file_id' => '42']); + // $empServiceController = new EmployeeServiceController(); + // $res = $empServiceController->excelFileFormatValidation(['file_id' => '42']); // dd($res); // $empServiceController = new EmployeeServiceController(); @@ -249,13 +249,13 @@ class EmployeeController extends AdminController { $file_id = $this->request->uri->getSegment(3); $empServiceController = new EmployeeServiceController(); - $result['file_id'] = $file_id; // Render views and capture output $result = $empServiceController->getExcelErrorData($file_id); if ($result != 0) { + $result['file_id'] = $file_id; echo view('excel_errors', $result); } else if ($result == 0) { @@ -728,109 +728,109 @@ class EmployeeController extends AdminController // Get file data from the database $file_data = $this->fileModel->find($file_id); - $error = json_decode($file_data['reason']); - // echo '
';
-        //    print_r($error); die;
-        //    dd($error);
-    
-        // Check if the file exists
-        if (!$file_data) {
-            $error_message = "File not found";
-            $this->myLogger->logme('error', $error_message . ' for file id ' . $file_id);
-            return $error_message;
-        }
-    
-        $fileName = $file_data['file_name'];
-        $filePath = WRITEPATH . '/uploads/excel/' . $fileName;
-    
-        // Check if the file exists
-        if (!file_exists($filePath)) {
-            $error_message = "File not found";
-            $this->myLogger->logme('error', $error_message . ' for file id ' . $file_id);
-            return $error_message;
-        }
-    
-        // Load the Excel file
-        $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($filePath);
-        $sheet = $spreadsheet->getActiveSheet();
-
-        //  echo '
';
-
-        foreach ($error->error_data as $index => $error_data) {
-
-            $rowIndex = $index+1;
-
-            if( $error->error_type == 1 ){
-
-                foreach ($error_data as $key => $value) {
-               
-                    $colIndex = $value->col_idx+1;
-                    
-                    $originalValue = $sheet->getCell([$colIndex, $rowIndex])->getValue();
+        $error =  json_decode($file_data['reason']);
+            //    echo '
';
+            //    print_r($error); die;
+            //    dd($error);
         
-                    $newValue =  implode(', ',$value->error);
-                    $val = $originalValue . ' ( ' . $newValue . ' )';
-                    $sheet->setCellValue([$colIndex, $rowIndex],  $val);
-                
-                    $style = [
-                        'fill' => [
-                            'fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID,
-                            'startColor' => ['rgb' => 'ffad99'] // Red color
-                        ]
-                    ];
-                    
-                    $sheet->getStyle([$colIndex, $rowIndex])->applyFromArray($style);
-    
-                }
-            }else if( $error->error_type == 2){
-
-
-                foreach ($error_data as $key => $value) {
-               
-                    
-                    $originalValue = $sheet->getCell([1, $rowIndex])->getValue();
-        
-                    $newValue =  implode(', ',$value->error);
-                    $val = $originalValue . ' ( ' . $newValue . ' )';
-                    $sheet->setCellValue([$colIndex, $rowIndex],  $val);
-                
-                    $style = [
-                        'fill' => [
-                            'fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID,
-                            'startColor' => ['rgb' => 'ffad99'] // Red color
-                        ]
-                    ];
-                    $sheet->getStyle([$colIndex, $rowIndex])->applyFromArray($style);
-    
-                }
-
+            // Check if the file exists
+            if (!$file_data) {
+                $error_message = "File not found";
+                $this->myLogger->logme('error', $error_message . ' for file id ' . $file_id);
+                return $error_message;
             }
+        
+            $fileName = $file_data['file_name'];
+            $filePath = WRITEPATH . '/uploads/excel/' . $fileName;
+        
+            // Check if the file exists
+            if (!file_exists($filePath)) {
+                $error_message = "File not found";
+                $this->myLogger->logme('error', $error_message . ' for file id ' . $file_id);
+                return $error_message;
+            }
+        
+            // Load the Excel file
+            $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($filePath);
+            $sheet = $spreadsheet->getActiveSheet();
 
-       }
-    
+            //  echo '
';
 
-    
-        // Create a new filename for the modified Excel file
-        $newFileName = 'modified_' . $fileName;
-    
-        // Save the modified Excel file to a new location
-        $newFilePath = WRITEPATH . '/uploads/excel/' . $newFileName;
-        $writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
-        $writer->save($newFilePath);
-    
-        // Set headers to force download
-        $response = service('response');
-        $response->setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
-        $response->setHeader('Content-Disposition', 'attachment;filename="' . $newFileName . '"');
-        $response->setHeader('Cache-Control', 'max-age=0');
-        $response->setHeader('Content-Length', filesize($newFilePath));
-        $response->setBody(file_get_contents($newFilePath));
-    
-        // Delete the temporary file
-        unlink($newFilePath);
-    
-        // Return the response
-        return $response;
+            foreach ($error->error_data as $index => $error_data) {
+
+                $rowIndex = $index+1;
+
+                if( $error->error_type == 1 ){
+
+                    foreach ($error_data as $key => $value) {
+                
+                        $colIndex = $value->col_idx+1;
+                        
+                        $originalValue = $sheet->getCell([$colIndex, $rowIndex])->getValue();
+            
+                        $newValue =  implode(', ',$value->error);
+                        $val = $originalValue . ' ( ' . $newValue . ' )';
+                        $sheet->setCellValue([$colIndex, $rowIndex],  $val);
+                    
+                        $style = [
+                            'fill' => [
+                                'fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID,
+                                'startColor' => ['rgb' => 'ffad99'] // Red color
+                            ]
+                        ];
+                        
+                        $sheet->getStyle([$colIndex, $rowIndex])->applyFromArray($style);
+        
+                    }
+                }else if( $error->error_type == 2){
+
+
+                    foreach ($error_data as $key => $value) {
+                
+                        
+                        $originalValue = $sheet->getCell([1, $rowIndex])->getValue();
+            
+                        $newValue =  implode(', ',$value->error);
+                        $val = $originalValue . ' ( ' . $newValue . ' )';
+                        $sheet->setCellValue([$colIndex, $rowIndex],  $val);
+                    
+                        $style = [
+                            'fill' => [
+                                'fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID,
+                                'startColor' => ['rgb' => 'ffad99'] // Red color
+                            ]
+                        ];
+                        $sheet->getStyle([$colIndex, $rowIndex])->applyFromArray($style);
+        
+                    }
+
+                }
+
+        }
+        
+
+        
+            // Create a new filename for the modified Excel file
+            $newFileName = 'error_with_highlight_' . $fileName;
+        
+            // Save the modified Excel file to a new location
+            $newFilePath = WRITEPATH . '/uploads/excel/' . $newFileName;
+            $writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
+            $writer->save($newFilePath);
+        
+            // Set headers to force download
+            $response = service('response');
+            $response->setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
+            $response->setHeader('Content-Disposition', 'attachment;filename="' . $newFileName . '"');
+            $response->setHeader('Cache-Control', 'max-age=0');
+            $response->setHeader('Content-Length', filesize($newFilePath));
+            $response->setBody(file_get_contents($newFilePath));
+        
+            // Delete the temporary file
+            unlink($newFilePath);
+        
+            // Return the response
+            return $response;
     }
 
     public function generateIDCardForEmployee($rand_string)