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

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

try {
    $database = new Database();
    $conn = $database->getConnection();
    
    $equipo_id = isset($_GET['id']) ? intval($_GET['id']) : 0;
    
    if (!$equipo_id) {
        throw new Exception('ID de equipo no válido');
    }
    
    // Obtener información del equipo
    $equipo_query = "SELECT * FROM timportequipos WHERE id = ?";
    $equipo_stmt = $conn->prepare($equipo_query);
    $equipo_stmt->execute([$equipo_id]);
    $equipo = $equipo_stmt->fetch(PDO::FETCH_ASSOC);
    
    if (!$equipo) {
        throw new Exception('Equipo no encontrado');
    }
    
    // Obtener cronograma de pagos
    $cronograma_query = "SELECT * FROM tcronogramaequipo WHERE ID = ? ORDER BY codcronogramaequipo ASC";
    $cronograma_stmt = $conn->prepare($cronograma_query);
    $cronograma_stmt->execute([$equipo_id]);
    $cronogramas = $cronograma_stmt->fetchAll(PDO::FETCH_ASSOC);
    
    // Generar HTML del cronograma
    $html = '';
    
    // Información del Cliente
    $html .= '<div class="mb-4">';
    $html .= '<div class="d-flex justify-content-between align-items-center mb-3">';
    $html .= '<h4 class="text-muted mb-0">' . htmlspecialchars($equipo['nombres_ap_raz_soc']) . '</h4>';
    
    // Botones de acción si hay cronograma
    if (!empty($cronogramas)) {
        $html .= '<div class="btn-group" role="group">';
        $html .= '<button type="button" class="btn btn-success" id="exportCronogramaBtn" data-equipo-id="' . $equipo_id . '">';
        $html .= '<i class="fas fa-file-excel"></i> Exportar Excel';
        $html .= '</button>';
        $html .= '<button type="button" class="btn btn-warning" id="aumentarMesesBtn" data-equipo-id="' . $equipo_id . '" data-cliente="' . htmlspecialchars($equipo['nombres_ap_raz_soc']) . '" data-fecha-entrega="' . $equipo['fecha_entrega'] . '">';
        $html .= '<i class="fas fa-plus"></i> Aumentar Meses';
        $html .= '</button>';
        // Obtener la última cuota (con mayor nropago) para el botón de eliminar
        $ultima_cuota = null;
        $max_nropago = 0;
        foreach ($cronogramas as $cuota) {
            $nropago_num = intval($cuota['nropago']);
            if ($nropago_num > $max_nropago) {
                $max_nropago = $nropago_num;
                $ultima_cuota = $cuota;
            }
        }
        
        if ($ultima_cuota) {
            $html .= '<button type="button" class="btn btn-danger" id="eliminarUltimaBtn" data-equipo-id="' . $equipo_id . '" data-cuota-id="' . $ultima_cuota['codcronogramaequipo'] . '">';
            $html .= '<i class="fas fa-trash"></i> Eliminar Última Cuota';
            $html .= '</button>';
        }
        $html .= '</div>';
    }
    $html .= '</div>';
    
    $html .= '<div class="row">';
    $html .= '<div class="col-md-3"><strong>Documento:</strong><br>' . htmlspecialchars($equipo['tipo_documento'] . ': ' . $equipo['nro_documento']) . '</div>';
    $html .= '<div class="col-md-3"><strong>Teléfono:</strong><br>' . htmlspecialchars($equipo['numero_celular'] ?: '-') . '</div>';
    $html .= '<div class="col-md-3"><strong>Correo:</strong><br>' . htmlspecialchars($equipo['correo'] ?: '-') . '</div>';
    $html .= '<div class="col-md-3"><strong>Agente:</strong><br><span class="badge bg-info">' . htmlspecialchars($equipo['agente'] ?: '-') . '</span></div>';
    $html .= '</div>';
    
    $html .= '<div class="row mt-3">';
    $html .= '<div class="col-md-4"><strong>Fecha de Entrega:</strong><br>' . ($equipo['fecha_entrega'] ? date('d/m/Y', strtotime($equipo['fecha_entrega'])) : '-') . '</div>';
    $html .= '<div class="col-md-4"><strong>Operador:</strong><br><span class="badge bg-dark">' . htmlspecialchars($equipo['operador_actual'] ?: '-') . '</span></div>';
    
    // Estado del equipo
    $estadoClass = '';
    switch(strtoupper($equipo['estado'])) {
        case 'ATENDIDA':
            $estadoClass = 'bg-success';
            break;
        case 'EN PROCESO':
            $estadoClass = 'bg-warning';
            break;
        case 'PENDIENTE':
            $estadoClass = 'bg-danger';
            break;
        default:
            $estadoClass = 'bg-secondary';
    }
    $html .= '<div class="col-md-4"><strong>Estado:</strong><br><span class="badge ' . $estadoClass . '">' . htmlspecialchars($equipo['estado'] ?: '-') . '</span></div>';
    $html .= '</div>';
    $html .= '</div>';
    
    // Cronograma de Pagos
    if (empty($cronogramas)) {
        $html .= '<div class="text-center py-4">';
        $html .= '<i class="fas fa-calendar-times fa-3x text-muted mb-3"></i>';
        $html .= '<p class="text-muted">No hay cronograma de pagos registrado para este cliente</p>';
        $html .= '</div>';
    } else {
        $html .= '<div class="d-flex justify-content-between align-items-center mb-3">';
        $html .= '<h5 class="mb-0"><i class="fas fa-calendar-alt"></i> Cronograma de Pagos</h5>';
        $html .= '<div class="d-flex align-items-center gap-2">';
        $html .= '<span class="badge bg-primary">' . count($cronogramas) . ' Meses</span>';
        $html .= '</div>';
        $html .= '</div>';
        
        $html .= '<div class="table-responsive">';
        $html .= '<table class="table table-striped table-hover table-sm">';
        $html .= '<thead class="table-dark">';
        $html .= '<tr><th>Cuota</th><th>Fecha Entrega</th><th>Inicio Cobranza</th><th>Fecha Pago</th><th>Monto</th><th>Fecha Pagada</th><th>Estado</th></tr>';
        $html .= '</thead><tbody>';
        

        foreach ($cronogramas as $cuota) {
            $fecha_pago = new DateTime($cuota['fechapago']);
            $hoy = new DateTime();
            $dias_restantes = $hoy->diff($fecha_pago)->days;
            
            // Determinar estado basado en la fecha pagada
            $estado_cuota = '';
            $clase_estado = '';
            
            // Si tiene fecha pagada, está Pagado, si no, está Vencida
            if (!empty($cuota['pagadofecha'])) {
                $estado_cuota = 'Pagado';
                $clase_estado = 'bg-success';
            } else {
                $estado_cuota = 'Vencida';
                $clase_estado = 'bg-danger';
            }
            
            $html .= '<tr>';
            $html .= '<td><strong>' . intval($cuota['nropago']) . '</strong></td>';
            $html .= '<td>' . date('d/m/Y', strtotime($cuota['fecha_entrega'])) . '</td>';
            $html .= '<td>' . date('d/m/Y', strtotime($cuota['fecha_iniciocobranza'])) . '</td>';
            $html .= '<td><strong>' . date('d/m/Y', strtotime($cuota['fechapago'])) . '</strong>';
            
            if ($fecha_pago < $hoy) {
                $html .= '<br><small class="text-danger"><i class="fas fa-exclamation-triangle"></i> Vencida hace ' . $dias_restantes . ' días</small>';
            } elseif ($dias_restantes <= 7) {
                $html .= '<br><small class="text-warning"><i class="fas fa-clock"></i> Vence en ' . $dias_restantes . ' días</small>';
            } else {
                $html .= '<br><small class="text-muted"><i class="fas fa-calendar"></i> En ' . $dias_restantes . ' días</small>';
            }
            
            $html .= '</td>';
            $html .= '<td>' . (!is_null($cuota['monto']) ? ('S/ ' . number_format((float)$cuota['monto'], 2)) : '-') . '</td>';
            $html .= '<td>' . (!empty($cuota['pagadofecha']) ? date('d/m/Y', strtotime($cuota['pagadofecha'])) : '-') . '</td>';
            $html .= '<td><span class="badge ' . $clase_estado . '">' . $estado_cuota . '</span></td>';
            $html .= '</tr>';
        }
        
        $html .= '</tbody></table></div>';
        
        // Resumen del Cronograma
        $html .= '<div class="row mt-3">';
        $html .= '<div class="col-md-4">';
        $html .= '<div class="card bg-light">';
        $html .= '<div class="card-body text-center">';
        $html .= '<h6 class="card-title">Total de Meses</h6>';
        $html .= '<h3 class="text-primary">' . count($cronogramas) . '</h3>';
        $html .= '</div></div></div>';
        
        $html .= '<div class="col-md-4">';
        $html .= '<div class="card bg-light">';
        $html .= '<div class="card-body text-center">';
        $html .= '<h6 class="card-title">Primer Mes</h6>';
        $html .= '<h5 class="text-info">' . date('d/m/Y', strtotime($cronogramas[0]['fechapago'])) . '</h5>';
        $html .= '</div></div></div>';
        
        $html .= '<div class="col-md-4">';
        $html .= '<div class="card bg-light">';
        $html .= '<div class="card-body text-center">';
        $html .= '<h6 class="card-title">Último Mes</h6>';
        $html .= '<h5 class="text-info">' . date('d/m/Y', strtotime(end($cronogramas)['fechapago'])) . '</h5>';
        $html .= '</div></div></div>';
        $html .= '</div>';
    }
    
    echo json_encode([
        'success' => true,
        'html' => $html
    ]);
    
} catch(Exception $e) {
    echo json_encode([
        'success' => false,
        'message' => $e->getMessage()
    ]);
}
?>
