FIX_EXCEL_ERROR_FILE_ID_ERROR : RV
This commit is contained in:
parent
6f319144f6
commit
e17fd43594
@ -131,8 +131,8 @@ class EmployeeController extends AdminController
|
|||||||
// print_r($this->request->getPost('policies'));
|
// print_r($this->request->getPost('policies'));
|
||||||
// print_r($this->request->getPost('upload-action-type'));
|
// print_r($this->request->getPost('upload-action-type'));
|
||||||
// die();
|
// die();
|
||||||
$empServiceController = new EmployeeServiceController();
|
// $empServiceController = new EmployeeServiceController();
|
||||||
$res = $empServiceController->excelFileFormatValidation(['file_id' => '42']);
|
// $res = $empServiceController->excelFileFormatValidation(['file_id' => '42']);
|
||||||
// dd($res);
|
// dd($res);
|
||||||
|
|
||||||
// $empServiceController = new EmployeeServiceController();
|
// $empServiceController = new EmployeeServiceController();
|
||||||
@ -249,13 +249,13 @@ class EmployeeController extends AdminController
|
|||||||
{
|
{
|
||||||
$file_id = $this->request->uri->getSegment(3);
|
$file_id = $this->request->uri->getSegment(3);
|
||||||
$empServiceController = new EmployeeServiceController();
|
$empServiceController = new EmployeeServiceController();
|
||||||
$result['file_id'] = $file_id;
|
|
||||||
|
|
||||||
// Render views and capture output
|
// Render views and capture output
|
||||||
$result = $empServiceController->getExcelErrorData($file_id);
|
$result = $empServiceController->getExcelErrorData($file_id);
|
||||||
|
|
||||||
if ($result != 0) {
|
if ($result != 0) {
|
||||||
|
|
||||||
|
$result['file_id'] = $file_id;
|
||||||
echo view('excel_errors', $result);
|
echo view('excel_errors', $result);
|
||||||
} else if ($result == 0) {
|
} else if ($result == 0) {
|
||||||
|
|
||||||
@ -728,109 +728,109 @@ class EmployeeController extends AdminController
|
|||||||
// Get file data from the database
|
// Get file data from the database
|
||||||
$file_data = $this->fileModel->find($file_id);
|
$file_data = $this->fileModel->find($file_id);
|
||||||
|
|
||||||
$error = json_decode($file_data['reason']);
|
$error = json_decode($file_data['reason']);
|
||||||
// echo '<pre>';
|
// echo '<pre>';
|
||||||
// print_r($error); die;
|
// print_r($error); die;
|
||||||
// dd($error);
|
// 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 '<pre>';
|
|
||||||
|
|
||||||
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);
|
// Check if the file exists
|
||||||
$val = $originalValue . ' ( ' . $newValue . ' )';
|
if (!$file_data) {
|
||||||
$sheet->setCellValue([$colIndex, $rowIndex], $val);
|
$error_message = "File not found";
|
||||||
|
$this->myLogger->logme('error', $error_message . ' for file id ' . $file_id);
|
||||||
$style = [
|
return $error_message;
|
||||||
'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);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$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 '<pre>';
|
||||||
|
|
||||||
|
|
||||||
|
foreach ($error->error_data as $index => $error_data) {
|
||||||
// Create a new filename for the modified Excel file
|
|
||||||
$newFileName = 'modified_' . $fileName;
|
$rowIndex = $index+1;
|
||||||
|
|
||||||
// Save the modified Excel file to a new location
|
if( $error->error_type == 1 ){
|
||||||
$newFilePath = WRITEPATH . '/uploads/excel/' . $newFileName;
|
|
||||||
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
|
foreach ($error_data as $key => $value) {
|
||||||
$writer->save($newFilePath);
|
|
||||||
|
$colIndex = $value->col_idx+1;
|
||||||
// Set headers to force download
|
|
||||||
$response = service('response');
|
$originalValue = $sheet->getCell([$colIndex, $rowIndex])->getValue();
|
||||||
$response->setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
|
|
||||||
$response->setHeader('Content-Disposition', 'attachment;filename="' . $newFileName . '"');
|
$newValue = implode(', ',$value->error);
|
||||||
$response->setHeader('Cache-Control', 'max-age=0');
|
$val = $originalValue . ' ( ' . $newValue . ' )';
|
||||||
$response->setHeader('Content-Length', filesize($newFilePath));
|
$sheet->setCellValue([$colIndex, $rowIndex], $val);
|
||||||
$response->setBody(file_get_contents($newFilePath));
|
|
||||||
|
$style = [
|
||||||
// Delete the temporary file
|
'fill' => [
|
||||||
unlink($newFilePath);
|
'fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID,
|
||||||
|
'startColor' => ['rgb' => 'ffad99'] // Red color
|
||||||
// Return the response
|
]
|
||||||
return $response;
|
];
|
||||||
|
|
||||||
|
$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)
|
public function generateIDCardForEmployee($rand_string)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user