<?php
include_once '../config/database.php';

header('Content-Type: application/json');

try {
    $database = new Database();
    $conn = $database->getConnection();
    
    // Validar ID
    if (empty($_POST['id']) || !is_numeric($_POST['id'])) {
        throw new Exception('ID de equipo no válido');
    }
    
    // Validar campos requeridos
    if (empty($_POST['nombres_ap_raz_soc']) || empty($_POST['tipo_documento']) || empty($_POST['nro_documento'])) {
        throw new Exception('Los campos Nombres/Apellidos, Tipo de Documento y Número de Documento son obligatorios');
    }
    
    $equipo_id = intval($_POST['id']);
    
    // Verificar si ya existe otro equipo con el mismo documento (excluyendo el actual)
    $check_query = "SELECT id FROM timportequipos WHERE nro_documento = ? AND tipo_documento = ? AND id != ?";
    $check_stmt = $conn->prepare($check_query);
    $check_stmt->execute([$_POST['nro_documento'], $_POST['tipo_documento'], $equipo_id]);
    
    if ($check_stmt->fetch()) {
        throw new Exception('Ya existe otro equipo con este número de documento y tipo de documento');
    }
    
    // Verificar que el equipo existe
    $exists_query = "SELECT id FROM timportequipos WHERE id = ?";
    $exists_stmt = $conn->prepare($exists_query);
    $exists_stmt->execute([$equipo_id]);
    
    if (!$exists_stmt->fetch()) {
        throw new Exception('Equipo no encontrado');
    }
    
    // Preparar datos para actualización
    $fecha_actual = date('Y-m-d');
    
    $query = "UPDATE timportequipos SET 
        fecha_edicion = ?, agente = ?, estado = ?, nombres_ap_raz_soc = ?, 
        tipo_documento = ?, nro_documento = ?, correo = ?, tipo_evaluacion = ?, 
        numero_celular = ?, operador_actual = ?, origen = ?, plan_a_evaluar = ?, 
        modalidad_venta = ?, departamento = ?, provincia = ?, distrito = ?, 
        direccion = ?, referencias = ?, numero_contacto = ?, tipo_entrega = ?, 
        tipo_pago = ?, sec = ?, fecha_sec = ?, fecha_entrega = ?, 
        estado_final = ?, acciones = ?, codigodepago = ?
    WHERE id = ?";
    
    $stmt = $conn->prepare($query);
    $result = $stmt->execute([
        $fecha_actual, // fecha_edicion
        $_POST['agente'] ?? null,
        $_POST['estado'] ?? null,
        $_POST['nombres_ap_raz_soc'],
        $_POST['tipo_documento'],
        $_POST['nro_documento'],
        $_POST['correo'] ?? null,
        $_POST['tipo_evaluacion'] ?? null,
        $_POST['numero_celular'] ?? null,
        $_POST['operador_actual'] ?? null,
        $_POST['origen'] ?? null,
        $_POST['plan_a_evaluar'] ?? null,
        $_POST['modalidad_venta'] ?? null,
        $_POST['departamento'] ?? null,
        $_POST['provincia'] ?? null,
        $_POST['distrito'] ?? null,
        $_POST['direccion'] ?? null,
        $_POST['referencias'] ?? null,
        $_POST['numero_contacto'] ?? null,
        $_POST['tipo_entrega'] ?? null,
        $_POST['tipo_pago'] ?? null,
        $_POST['sec'] ?? null,
        !empty($_POST['fecha_sec']) ? $_POST['fecha_sec'] : null,
        !empty($_POST['fecha_entrega']) ? $_POST['fecha_entrega'] : null,
        $_POST['estado_final'] ?? null,
        $_POST['acciones'] ?? null,
        $_POST['codigodepago'] ?? null,
        $equipo_id
    ]);
    
    if ($result) {
        echo json_encode([
            'success' => true,
            'message' => 'Equipo actualizado correctamente'
        ]);
    } else {
        throw new Exception('Error al actualizar el equipo');
    }
    
} catch (Exception $e) {
    echo json_encode([
        'success' => false,
        'message' => $e->getMessage()
    ]);
}
?>
