<?php
session_start();
include_once '../config/database.php';

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

try {
    $database = new Database();
    $conn = $database->getConnection();
    
    $equipo_id = $_POST['equipo_id'] ?? null;
    $cuota_id = $_POST['cuota_id'] ?? null;
    
    if (!$equipo_id || !$cuota_id) {
        throw new Exception("Datos de entrada inválidos");
    }
    
    // Verificar que la cuota existe
    $stmt = $conn->prepare("SELECT * FROM tcronogramaequipo WHERE codcronogramaequipo = ? AND ID = ?");
    $stmt->execute([$cuota_id, $equipo_id]);
    $cuota = $stmt->fetch(PDO::FETCH_ASSOC);
    
    if (!$cuota) {
        throw new Exception("La cuota no existe");
    }
    
    // Verificar que está en estado pendiente
    if (strtoupper($cuota['estado']) !== 'PENDIENTE') {
        throw new Exception("Solo se pueden eliminar cuotas en estado pendiente. Estado actual: " . $cuota['estado']);
    }
    
    // Verificar que es la última cuota (mayor nropago) - convertir a número para comparación correcta
    $stmt = $conn->prepare("SELECT MAX(CAST(nropago AS UNSIGNED)) as max_nropago FROM tcronogramaequipo WHERE ID = ?");
    $stmt->execute([$equipo_id]);
    $resultado = $stmt->fetch(PDO::FETCH_ASSOC);
    
    // Convertir el nropago de la cuota actual a número para comparar
    $cuota_actual_nro = intval($cuota['nropago']);
    $max_nropago = intval($resultado['max_nropago']);
    
    if ($cuota_actual_nro != $max_nropago) {
        throw new Exception("Solo se puede eliminar la última cuota del cronograma. Cuota actual: " . $cuota['nropago'] . ", Última cuota: " . $resultado['max_nropago']);
    }
    
    // Eliminar la cuota
    $stmt = $conn->prepare("DELETE FROM tcronogramaequipo WHERE codcronogramaequipo = ? AND ID = ?");
    $stmt->execute([$cuota_id, $equipo_id]);
    
    if ($stmt->rowCount() > 0) {
        echo json_encode([
            'success' => true,
            'message' => 'Última cuota eliminada correctamente'
        ]);
    } else {
        throw new Exception("No se pudo eliminar la cuota");
    }
    
} catch (Exception $e) {
    echo json_encode([
        'success' => false,
        'message' => $e->getMessage()
    ]);
}
?>
