Files
MVE/public/importar_funcional.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);
}
?>