Procházet zdrojové kódy

eliminacion de logs, codigo hardcodeado e integracion de los endpoints dentro del middlware, listo para integracion a rama principal y consumo

EmilianoOrtiz před 3 měsíci
rodič
revize
2eccc5d543

+ 8 - 62
sistema-mantenimiento-back/app/Http/Controllers/ValidateLoadArchivesController.php

@@ -4,7 +4,6 @@ namespace App\Http\Controllers;
 
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Validator;
-use Illuminate\Support\Facades\Log;
 use Illuminate\Support\Facades\DB;
 use PhpOffice\PhpSpreadsheet\IOFactory;
 use ZipArchive;
@@ -93,10 +92,7 @@ class ValidateLoadArchivesController extends Controller
      */
     public function validateFiles(Request $request)
     {
-        Log::info('=== INICIANDO VALIDACIÓN DE ARCHIVOS ===');
-        
         // Validate request inputs
-        Log::info('Paso 1: Validando tipos de archivo');
         $validator = Validator::make($request->all(), [
             'id_user' => 'required|string',
             'linea' => 'required|integer',
@@ -105,7 +101,6 @@ class ValidateLoadArchivesController extends Controller
         ]);
 
         if ($validator->fails()) {
-            Log::error('Error en validación de tipos de archivo', $validator->errors()->toArray());
             return $this->responseController->makeResponse(
                 true,
                 'Se encontraron uno o más errores.',
@@ -113,74 +108,54 @@ class ValidateLoadArchivesController extends Controller
                 400
             );
         }
-        Log::info('✓ Tipos de archivo válidos');
+
+        $idUser = $this->encryptionController->decrypt($request->input('id_user'));
+        if(!$idUser){
+            return $this->responseController->makeResponse(true, "El id del usuario que realizó la petición no fue encriptado correctamente", [], 400);
+        }
 
         // Validate Excel file headers structure
-        Log::info('Paso 2: Validando encabezados de Excel');
         $excelValidation = $this->validateExcelHeaders($request->file('excel_file'));
         if ($excelValidation['error']) {
-            Log::error('Error en encabezados Excel: ' . $excelValidation['message']);
             return $this->responseController->makeResponse(true, $excelValidation['message'], [], 400);
         }
-        Log::info('✓ Encabezados de Excel válidos');
         
         // Extract and validate file listings from Excel
-        Log::info('Paso 3: Extrayendo listado de archivos del Excel');
         $filesValidation = $this->extractAndValidateFiles($request->file('excel_file'));
         if ($filesValidation['error']) {
-            Log::error('Error extrayendo archivos Excel: ' . $filesValidation['message']);
             return $this->responseController->makeResponse(true, $filesValidation['message'], [], 400);
         }
-        Log::info('✓ Archivos extraídos: ' . count($filesValidation['files']) . ' archivos encontrados');
 
         // Validate ZIP file integrity
-        Log::info('Paso 4: Validando integridad del archivo ZIP');
         $zipValidation = $this->validateZipFile($request->file('zip_file'));
         if ($zipValidation['error']) {
-            Log::error('Error validando ZIP: ' . $zipValidation['message']);
             return $this->responseController->makeResponse(true, $zipValidation['message'], [], 400);
         }
-        Log::info('✓ Archivo ZIP válido');
 
         // Compare Excel file listings with ZIP contents
-        Log::info('Paso 5: Comparando listados Excel vs ZIP y validando tamaños');
         $comparison = $this->compareExcelWithZip($filesValidation['files'], $request->file('zip_file'));
         
         // Check for file size validation errors
         if (isset($comparison['error'])) {
-            Log::error('Error en validación de tamaños: ' . $comparison['error']);
             return $this->responseController->makeResponse(true, $comparison['error'], [], 400);
         }
         
-        Log::info('✓ Comparación completada', [
-            'valid' => $comparison['valid'],
-            'missing_in_zip' => count($comparison['missing_in_zip'] ?? []),
-            'extra_in_zip' => count($comparison['extra_in_zip'] ?? [])
-        ]);
-        
         // Upload temp files if validation is successful
         if ($comparison['valid']) {
-            Log::info('Paso 6: Subiendo archivos temporales');
             $tempFiles = $this->uploadTempFiles($request);
             if ($tempFiles['error']) {
-                Log::error('Error subiendo archivos temporales: ' . $tempFiles['message']);
                 return $this->responseController->makeResponse(true, $tempFiles['message'], [], 400);
             }
-            Log::info('✓ Archivos temporales subidos');
             
             // Extract and save individual files as temp
-            Log::info('Paso 7: Extrayendo y guardando archivos individuales como temporales');
-            $individualTempFiles = $this->extractAndSaveIndividualFilesAsTemp($request->file('zip_file'), $request->input('linea'), "0000000001");
+            $individualTempFiles = $this->extractAndSaveIndividualFilesAsTemp($request->file('zip_file'), $request->input('linea'), $idUser);
             if ($individualTempFiles === false) {
                 return $this->responseController->makeResponse(true, 'Error procesando archivos individuales', [], 400);
             }
-            Log::info('✓ Archivos individuales guardados como temporales: ' . count($individualTempFiles));
             
             $comparison['temp_files'] = $tempFiles['files'];
             $comparison['individual_temp_files'] = $individualTempFiles;
         }
-        
-        Log::info('=== VALIDACIÓN COMPLETADA EXITOSAMENTE ===');
         return $this->responseController->makeResponse(false, 'Validación completada.', $comparison);
     }
 
@@ -191,10 +166,8 @@ class ValidateLoadArchivesController extends Controller
     private function validateExcelHeaders($file)
     {
         try {
-            Log::info('  - Cargando archivo Excel: ' . $file->getClientOriginalName());
             $spreadsheet = IOFactory::load($file->getPathname());
             $worksheet = $spreadsheet->getActiveSheet();
-            Log::info('  - Excel cargado, validando encabezados en fila 7');
             
             // Check each expected header in row 7
             foreach ($this->expectedHeaders as $header) {
@@ -218,7 +191,6 @@ class ValidateLoadArchivesController extends Controller
      */
     private function validateZipFile($file)
     {
-        Log::info('  - Abriendo archivo ZIP: ' . $file->getClientOriginalName());
         $zip = new ZipArchive();
         $result = $zip->open($file->getPathname());
         
@@ -231,7 +203,6 @@ class ValidateLoadArchivesController extends Controller
             return ['error' => true, 'message' => 'El archivo ZIP está vacío.'];
         }
         
-        Log::info('  - ZIP contiene ' . $zip->numFiles . ' archivos');
         $zip->close();
         return ['error' => false];
     }
@@ -247,7 +218,6 @@ class ValidateLoadArchivesController extends Controller
             $spreadsheet = IOFactory::load($file->getPathname());
             $worksheet = $spreadsheet->getActiveSheet();
             $highestRow = $worksheet->getHighestRow();
-            Log::info('  - Procesando ' . ($highestRow - 7) . ' filas de datos (filas 8-' . $highestRow . ')');
             $files = [];
             
             // Process each row starting from row 8 (data rows)
@@ -311,7 +281,6 @@ class ValidateLoadArchivesController extends Controller
         $zip->open($zipFile->getPathname());
         
         // Extract all file names and sizes from ZIP
-        Log::info('  - Extrayendo nombres de archivos del ZIP');
         $zipFiles = [];
         $zipFileSizes = [];
         for ($i = 0; $i < $zip->numFiles; $i++) {
@@ -330,10 +299,8 @@ class ValidateLoadArchivesController extends Controller
             }
         }
         $zip->close();
-        Log::info('  - ZIP contiene ' . count($zipFiles) . ' archivos (excluyendo directorios)');
         
         // Validate file sizes
-        Log::info('  - Validando tamaños de archivos');
         foreach ($zipFileSizes as $fileName => $size) {
             $extension = strtolower(pathinfo($fileName, PATHINFO_EXTENSION));
             if (isset($this->fileSizeLimits[$extension])) {
@@ -351,13 +318,10 @@ class ValidateLoadArchivesController extends Controller
         
         // Get file names from Excel listings
         $excelFileNames = array_column($excelFiles, 'file_name');
-        Log::info('  - Excel lista ' . count($excelFileNames) . ' archivos');
         
         // Find discrepancies between Excel and ZIP
         $missingInZip = array_diff($excelFileNames, $zipFiles);
         $extraInZip = array_diff($zipFiles, $excelFileNames);
-        Log::info('  - Archivos faltantes en ZIP: ' . count($missingInZip));
-        Log::info('  - Archivos extra en ZIP: ' . count($extraInZip));
         
         return [
             'valid' => empty($missingInZip) && empty($extraInZip),
@@ -385,8 +349,6 @@ class ValidateLoadArchivesController extends Controller
             $excelResponse = $this->documentManagementController->uploadTempFile($excelRequest);
             $excelData = json_decode($excelResponse->getContent());
             
-            Log::info('Excel upload response:', ['data' => $excelData]);
-            
             if ($excelData->error) {
                 $errorMsg = isset($excelData->message) ? $excelData->message : 'Error desconocido subiendo Excel';
                 return ['error' => true, 'message' => 'Error subiendo Excel: ' . $errorMsg];
@@ -405,8 +367,6 @@ class ValidateLoadArchivesController extends Controller
             $zipResponse = $this->documentManagementController->uploadTempFile($zipRequest);
             $zipData = json_decode($zipResponse->getContent());
             
-            Log::info('ZIP upload response:', ['data' => $zipData]);
-            
             if ($zipData->error) {
                 $errorMsg = isset($zipData->message) ? $zipData->message : 'Error desconocido subiendo ZIP';
                 return ['error' => true, 'message' => 'Error subiendo ZIP: ' . $errorMsg];
@@ -426,8 +386,6 @@ class ValidateLoadArchivesController extends Controller
      */
     public function processLoadArchives(Request $request)
     {
-        Log::info('=== INICIANDO PROCESAMIENTO DE ARCHIVOS ===');
-        
         $validator = Validator::make($request->all(), [
             'id_user' => 'required|string',
             'linea' => 'required|integer',
@@ -447,8 +405,7 @@ class ValidateLoadArchivesController extends Controller
         }
         
         $form = $request->all();
-        // $idUser = $this->encryptionController->decrypt($form['id_user']);
-        $idUser = "0000000001";
+        $idUser = $this->encryptionController->decrypt($form['id_user']);
         if (!$idUser) {
             return $this->responseController->makeResponse(true, 'ID de usuario inválido.', [], 400);
         }
@@ -457,7 +414,6 @@ class ValidateLoadArchivesController extends Controller
         
         try {
             // Move Excel to final
-            Log::info('Moviendo Excel a almacenamiento final');
             $excelFinal = $this->moveToFinal($form['temp_files']['excel'], $form['linea'], $idUser);
             if (!$excelFinal) {
                 return $this->responseController->makeResponse(true, 'Error procesando Excel', [], 400);
@@ -465,7 +421,6 @@ class ValidateLoadArchivesController extends Controller
             $finalFiles['excel'] = $excelFinal;
             
             // Move ZIP to final
-            Log::info('Moviendo ZIP a almacenamiento final');
             $zipFinal = $this->moveToFinal($form['temp_files']['zip'], $form['linea'], $idUser);
             if (!$zipFinal) {
                 return $this->responseController->makeResponse(true, 'Error procesando ZIP', [], 400);
@@ -473,7 +428,6 @@ class ValidateLoadArchivesController extends Controller
             $finalFiles['zip'] = $zipFinal;
             
             // Move individual temp files to final storage
-            Log::info('Moviendo archivos individuales de temporal a final');
             $individualFiles = [];
             foreach ($form['individual_temp_files'] as $tempFile) {
                 $finalFileId = $this->moveToFinal($tempFile['temp_id'], $form['linea'], $idUser);
@@ -485,13 +439,9 @@ class ValidateLoadArchivesController extends Controller
                 }
             }
             $finalFiles['individual_files'] = $individualFiles;
-            Log::info('Archivos individuales procesados: ' . count($individualFiles));
-            
-            Log::info('=== PROCESAMIENTO COMPLETADO EXITOSAMENTE ===');
             return $this->responseController->makeResponse(false, 'Archivos procesados exitosamente.', $finalFiles);
             
         } catch (\Exception $e) {
-            Log::error('Error en procesamiento: ' . $e->getMessage());
             return $this->responseController->makeResponse(true, 'Error interno: ' . $e->getMessage(), [], 500);
         }
     }
@@ -516,7 +466,6 @@ class ValidateLoadArchivesController extends Controller
             return $result[0] ? $result[1] : false;
             
         } catch (\Exception $e) {
-            Log::error('Error en moveToFinal: ' . $e->getMessage());
             return false;
         }
     }
@@ -529,7 +478,6 @@ class ValidateLoadArchivesController extends Controller
         try {
             $zip = new ZipArchive();
             if ($zip->open($zipFile->getPathname()) !== TRUE) {
-                Log::error('Cannot open ZIP file');
                 return false;
             }
             
@@ -570,12 +518,11 @@ class ValidateLoadArchivesController extends Controller
             }
             
             $zip->close();
-            //$this->removeDirectory($tempDir);
+            $this->removeDirectory($tempDir);
             
             return $tempFiles;
             
         } catch (\Exception $e) {
-            Log::error('Error en extractAndSaveIndividualFilesAsTemp: ' . $e->getMessage());
             return false;
         }
     }
@@ -611,7 +558,6 @@ class ValidateLoadArchivesController extends Controller
             return $data->error ? false : $data->response->idArchivo;
             
         } catch (\Exception $e) {
-            Log::error('Error en uploadExtractedFileAsTemp: ' . $e->getMessage());
             return false;
         }
     }

+ 3 - 5
sistema-mantenimiento-back/routes/api.php

@@ -549,10 +549,8 @@ Route::middleware(['jwt.auth'])->group(function(){
     Route::post('budget-management/update-payment-method/{idPayment}',                              "App\Http\Controllers\BudgetManagementController@updatePaymentMethod");
     Route::post('budget-management/delete-payment-method/{idPayment}',                              "App\Http\Controllers\BudgetManagementController@deletePaymentMethod");
 
-
-        
+    // Módulo de carga de archivos 
+    Route::post("validate-load-archives",                                                          "App\Http\Controllers\ValidateLoadArchivesController@validateFiles");
+    Route::post("process-load-archives",                                                           "App\Http\Controllers\ValidateLoadArchivesController@processLoadArchives");
 });
 
-// Endpoints for file validation and processing - outside middleware for public access
-Route::post("/validate-load-archives", "App\Http\Controllers\ValidateLoadArchivesController@validateFiles");
-Route::post("/process-load-archives", "App\Http\Controllers\ValidateLoadArchivesController@processLoadArchives");