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)