89 lines
2.8 KiB
PHP
89 lines
2.8 KiB
PHP
<?php
|
|
session_start();
|
|
|
|
// Forzar no cache
|
|
header('Content-Type: application/json; charset=utf-8');
|
|
header('Cache-Control: no-cache, no-store, must-revalidate');
|
|
header('Pragma: no-cache');
|
|
header('Expires: 0');
|
|
|
|
// Log de debug
|
|
error_log("=== NUEVO CONTROLADOR FUNCIONAL ===");
|
|
error_log("Método: " . $_SERVER['REQUEST_METHOD']);
|
|
error_log("POST data: " . print_r($_POST, true));
|
|
error_log("FILES data: " . print_r($_FILES, true));
|
|
|
|
try {
|
|
// Verificar método
|
|
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
|
|
throw new Exception("Método no permitido: " . $_SERVER['REQUEST_METHOD']);
|
|
}
|
|
|
|
// Verificar sesión (comentado temporalmente para test)
|
|
// if (!isset($_SESSION['usuario_id'])) {
|
|
// throw new Exception("Usuario no autenticado");
|
|
// }
|
|
|
|
$validar_duplicados = isset($_POST['validar_duplicados']) && $_POST['validar_duplicados'] === 'on';
|
|
|
|
error_log("Validar duplicados: " . ($validar_duplicados ? 'SÍ' : 'NO'));
|
|
|
|
// Contar archivos recibidos
|
|
$total_archivos = 0;
|
|
if (isset($_FILES['archivos']) && is_array($_FILES['archivos']['name'])) {
|
|
$total_archivos = count($_FILES['archivos']['name']);
|
|
error_log("Archivos múltiples detectados: " . $total_archivos);
|
|
} elseif (isset($_FILES['archivo'])) {
|
|
$total_archivos = 1;
|
|
error_log("Archivo individual detectado");
|
|
}
|
|
|
|
error_log("Total de archivos a procesar: " . $total_archivos);
|
|
|
|
if ($total_archivos === 0) {
|
|
throw new Exception("No se recibieron archivos para procesar");
|
|
}
|
|
|
|
// Simulación de procesamiento (reemplazar con lógica real después)
|
|
$estadisticas = [
|
|
'pedimentos_procesados' => $total_archivos * 2,
|
|
'facturas_procesadas' => $total_archivos * 3,
|
|
'partidas_procesadas' => $total_archivos * 5,
|
|
'duplicados' => 0,
|
|
'errores' => 0,
|
|
'total_lineas' => $total_archivos * 100
|
|
];
|
|
|
|
$respuesta = [
|
|
'success' => true,
|
|
'message' => 'Archivos procesados correctamente (MODO SIMULACIÓN)',
|
|
'estadisticas' => $estadisticas,
|
|
'archivos_procesados' => $total_archivos,
|
|
'archivos_con_errores' => [],
|
|
'debug_info' => [
|
|
'timestamp' => date('Y-m-d H:i:s'),
|
|
'total_archivos_recibidos' => $total_archivos,
|
|
'validar_duplicados' => $validar_duplicados
|
|
]
|
|
];
|
|
|
|
error_log("Enviando respuesta exitosa: " . json_encode($respuesta));
|
|
echo json_encode($respuesta);
|
|
|
|
} catch (Exception $e) {
|
|
error_log("ERROR: " . $e->getMessage());
|
|
|
|
$respuesta_error = [
|
|
'success' => false,
|
|
'message' => $e->getMessage(),
|
|
'debug_info' => [
|
|
'timestamp' => date('Y-m-d H:i:s'),
|
|
'error_file' => $e->getFile(),
|
|
'error_line' => $e->getLine()
|
|
]
|
|
];
|
|
|
|
http_response_code(500);
|
|
echo json_encode($respuesta_error);
|
|
}
|
|
?>
|