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

$database = new Database();
$conn = $database->getConnection();

// Obtener fechas de filtro
$fechaInicio = isset($_GET['fecha_inicio']) ? trim($_GET['fecha_inicio']) : '';
$fechaFin = isset($_GET['fecha_fin']) ? trim($_GET['fecha_fin']) : '';
$search = isset($_GET['search']) ? trim($_GET['search']) : '';

// Si no hay fechas, establecer valores por defecto (últimos 30 días)
if (empty($fechaInicio) && empty($fechaFin)) {
    $fechaFin = date('Y-m-d');
    $fechaInicio = date('Y-m-d', strtotime('-30 days'));
}

// Reclamo seleccionado para ver detalles
$reclamoDetalle = null;
if (isset($_GET['ver'])) {
    try {
        $codreclamaciones = intval($_GET['ver']);
        $stmt = $conn->prepare("
            SELECT r.*, 
                   c.documento, 
                   c.nombre, 
                   c.direccion, 
                   c.distrito, 
                   c.paquete,
                   c.contacto,
                   c.sot,
                   c.estado as estado_cliente
            FROM treclamaciones r
            INNER JOIN tclientes_import c ON r.codprogramacion = c.codprogramacion
            WHERE r.codreclamaciones = ?
        ");
        $stmt->execute([$codreclamaciones]);
        $reclamoDetalle = $stmt->fetch(PDO::FETCH_ASSOC);
        
        if (!$reclamoDetalle) {
            $_SESSION['error'] = "❌ Reclamo no encontrado";
        }
    } catch(PDOException $e) {
        $_SESSION['error'] = "❌ Error al obtener el reclamo: " . $e->getMessage();
    }
}

// Fetch reclamos con filtros de fecha
try {
    $query = "SELECT r.*, 
                     c.documento, 
                     c.nombre, 
                     c.direccion, 
                     c.distrito, 
                     c.paquete,
                     c.contacto,
                     c.sot
              FROM treclamaciones r
              INNER JOIN tclientes_import c ON r.codprogramacion = c.codprogramacion
              WHERE 1=1";
    
    $params = [];
    
    if (!empty($fechaInicio)) {
        $query .= " AND DATE(r.fecha) >= ?";
        $params[] = $fechaInicio;
    }
    
    if (!empty($fechaFin)) {
        $query .= " AND DATE(r.fecha) <= ?";
        $params[] = $fechaFin;
    }
    
    if (!empty($search)) {
        $query .= " AND (c.nombre LIKE ? OR c.documento LIKE ?)";
        $searchTerm = "%{$search}%";
        $params[] = $searchTerm;
        $params[] = $searchTerm;
    }
    
    $query .= " ORDER BY r.fecha DESC, r.codreclamaciones DESC";
    
    $stmt = $conn->prepare($query);
    $stmt->execute($params);
    $reclamos = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
} catch(PDOException $e) {
    $_SESSION['error'] = "❌ Error al obtener los reclamos: " . $e->getMessage();
    $reclamos = [];
}

// Función para formatear fecha
function formatearFecha($fecha) {
    if (!$fecha) return '-';
    return date('d/m/Y H:i', strtotime($fecha));
}

// Función para formatear fecha corta
function formatearFechaCorta($fecha) {
    if (!$fecha) return '-';
    return date('d/m/Y', strtotime($fecha));
}
?>

<style>
.reclamo-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.reclamo-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.badge-reclamo {
    font-size: 0.85rem;
    padding: 5px 10px;
}

.reclamo-preview {
    max-height: 60px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
</style>

<div class="col-md-10 p-4">
    <div class="d-flex justify-content-between align-items-center mb-4">
        <h2>
            <i class="fas fa-exclamation-triangle"></i> Ver Solicitudes
        </h2>
    </div>

    <?php if (isset($_SESSION['success'])): ?>
        <div class="alert alert-success alert-custom">
            <i class="fas fa-check-circle"></i>
            <?php 
            echo $_SESSION['success']; 
            unset($_SESSION['success']);
            ?>
        </div>
    <?php endif; ?>

    <?php if (isset($_SESSION['warning'])): ?>
        <div class="alert alert-warning alert-custom">
            <i class="fas fa-exclamation-triangle"></i>
            <?php 
            echo $_SESSION['warning']; 
            unset($_SESSION['warning']);
            ?>
        </div>
    <?php endif; ?>

    <?php if (isset($_SESSION['error'])): ?>
        <div class="alert alert-danger alert-custom">
            <i class="fas fa-exclamation-triangle"></i>
            <?php 
            echo $_SESSION['error']; 
            unset($_SESSION['error']);
            ?>
        </div>
    <?php endif; ?>

    <!-- Filtros de Fecha -->
    <div class="card mb-4">
        <div class="card-body">
            <h5 class="card-title mb-3">
                <i class="fas fa-filter"></i> Filtros de Búsqueda
            </h5>
            <form method="GET" action="ver_solicitudes.php" class="row g-3">
                <div class="col-md-3">
                    <label class="form-label">
                        <i class="fas fa-calendar-alt"></i> Fecha Inicio
                    </label>
                    <input type="date" class="form-control" name="fecha_inicio" 
                           value="<?php echo htmlspecialchars($fechaInicio); ?>" required>
                </div>
                <div class="col-md-3">
                    <label class="form-label">
                        <i class="fas fa-calendar-check"></i> Fecha Fin
                    </label>
                    <input type="date" class="form-control" name="fecha_fin" 
                           value="<?php echo htmlspecialchars($fechaFin); ?>" required>
                </div>
                <div class="col-md-3">
                    <label class="form-label">
                        <i class="fas fa-search"></i> Buscar por Nombre o Documento
                    </label>
                    <input type="text" class="form-control" name="search" 
                           placeholder="Nombre o documento del cliente..."
                           value="<?php echo htmlspecialchars($search); ?>">
                </div>
                <div class="col-md-3 d-flex align-items-end gap-2">
                    <button type="submit" class="btn btn-primary">
                        <i class="fas fa-search"></i> Buscar
                    </button>
                    <?php if ($search || $fechaInicio || $fechaFin): ?>
                        <a href="ver_solicitudes.php" class="btn btn-secondary">
                            <i class="fas fa-redo"></i> Limpiar
                        </a>
                    <?php endif; ?>
                </div>
            </form>
        </div>
    </div>

    <!-- Lista de Reclamos -->
    <div class="card">
        <div class="card-body">
            <?php if (empty($reclamos)): ?>
                <div class="text-center py-5">
                    <i class="fas fa-exclamation-triangle fa-4x text-muted mb-3"></i>
                    <p class="text-muted">No se encontraron reclamos en el rango de fechas seleccionado</p>
                    <p class="text-muted">
                        <small>Rango: <?php echo formatearFechaCorta($fechaInicio); ?> - <?php echo formatearFechaCorta($fechaFin); ?></small>
                    </p>
                </div>
            <?php else: ?>
                <div class="d-flex justify-content-between align-items-center mb-3">
                    <h5 class="mb-0">
                        <i class="fas fa-list"></i> Reclamos Encontrados: 
                        <span class="badge bg-primary"><?php echo count($reclamos); ?></span>
                    </h5>
                    <small class="text-muted">
                        Rango: <?php echo formatearFechaCorta($fechaInicio); ?> - <?php echo formatearFechaCorta($fechaFin); ?>
                    </small>
                </div>
                <div class="table-responsive">
                    <table class="table table-striped table-hover">
                        <thead>
                            <tr>
                                <th><i class="fas fa-hashtag"></i> ID</th>
                                <th><i class="fas fa-calendar"></i> Fecha</th>
                                <th><i class="fas fa-user"></i> Cliente</th>
                                <th><i class="fas fa-id-card"></i> Documento</th>
                                <th><i class="fas fa-map-marker-alt"></i> Distrito</th>
                                <th><i class="fas fa-box"></i> Paquete</th>
                                <th><i class="fas fa-comment-alt"></i> Reclamo</th>
                                <th><i class="fas fa-cogs"></i> Acciones</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php foreach ($reclamos as $reclamo): ?>
                                <tr class="reclamo-card">
                                    <td>
                                        <span class="badge bg-primary rounded-pill"><?php echo $reclamo['codreclamaciones']; ?></span>
                                    </td>
                                    <td>
                                        <small><?php echo formatearFecha($reclamo['fecha']); ?></small>
                                    </td>
                                    <td>
                                        <strong><?php echo htmlspecialchars($reclamo['nombre']); ?></strong>
                                    </td>
                                    <td>
                                        <?php echo htmlspecialchars($reclamo['documento'] ?: '-'); ?>
                                    </td>
                                    <td>
                                        <?php echo htmlspecialchars($reclamo['distrito'] ?: '-'); ?>
                                    </td>
                                    <td>
                                        <small><?php echo htmlspecialchars($reclamo['paquete'] ?: '-'); ?></small>
                                    </td>
                                    <td>
                                        <div class="reclamo-preview">
                                            <?php echo htmlspecialchars($reclamo['reclamo']); ?>
                                        </div>
                                    </td>
                                    <td>
                                        <a href="?ver=<?php echo $reclamo['codreclamaciones']; ?>&fecha_inicio=<?php echo urlencode($fechaInicio); ?>&fecha_fin=<?php echo urlencode($fechaFin); ?>&search=<?php echo urlencode($search); ?>" 
                                           class="btn btn-sm btn-info" 
                                           title="Ver Detalle">
                                            <i class="fas fa-eye"></i> Ver
                                        </a>
                                    </td>
                                </tr>
                            <?php endforeach; ?>
                        </tbody>
                    </table>
                </div>
            <?php endif; ?>
        </div>
    </div>
</div>

<!-- Modal para Ver Detalle del Reclamo -->
<?php if ($reclamoDetalle): ?>
<div class="modal fade" id="modalDetalleReclamo" tabindex="-1" aria-labelledby="modalDetalleReclamoLabel" aria-hidden="true">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-header bg-danger text-white">
                <h5 class="modal-title" id="modalDetalleReclamoLabel">
                    <i class="fas fa-exclamation-triangle"></i> Detalle del Reclamo #<?php echo $reclamoDetalle['codreclamaciones']; ?>
                </h5>
                <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
            <div class="modal-body">
                <!-- Información del Cliente -->
                <div class="card mb-3">
                    <div class="card-header bg-primary text-white">
                        <i class="fas fa-user"></i> Información del Cliente
                    </div>
                    <div class="card-body">
                        <div class="row">
                            <div class="col-md-6">
                                <p><strong><i class="fas fa-user me-2"></i>Nombre:</strong> 
                                    <?php echo htmlspecialchars($reclamoDetalle['nombre']); ?>
                                </p>
                                <p><strong><i class="fas fa-id-card me-2"></i>Documento:</strong> 
                                    <?php echo htmlspecialchars($reclamoDetalle['documento'] ?: '-'); ?>
                                </p>
                                <p><strong><i class="fas fa-map-marker-alt me-2"></i>Dirección:</strong> 
                                    <?php echo htmlspecialchars($reclamoDetalle['direccion'] ?: '-'); ?>
                                </p>
                            </div>
                            <div class="col-md-6">
                                <p><strong><i class="fas fa-map me-2"></i>Distrito:</strong> 
                                    <?php echo htmlspecialchars($reclamoDetalle['distrito'] ?: '-'); ?>
                                </p>
                                <p><strong><i class="fas fa-box me-2"></i>Paquete:</strong> 
                                    <?php echo htmlspecialchars($reclamoDetalle['paquete'] ?: '-'); ?>
                                </p>
                                <?php if ($reclamoDetalle['contacto']): ?>
                                <p><strong><i class="fas fa-phone me-2"></i>Contacto:</strong> 
                                    <?php echo htmlspecialchars($reclamoDetalle['contacto']); ?>
                                </p>
                                <?php endif; ?>
                                <?php if ($reclamoDetalle['sot']): ?>
                                <p><strong><i class="fas fa-tag me-2"></i>SOT:</strong> 
                                    <?php echo htmlspecialchars($reclamoDetalle['sot']); ?>
                                </p>
                                <?php endif; ?>
                            </div>
                        </div>
                    </div>
                </div>

                <!-- Información del Reclamo -->
                <div class="card">
                    <div class="card-header bg-danger text-white">
                        <i class="fas fa-exclamation-triangle"></i> Detalle del Reclamo
                    </div>
                    <div class="card-body">
                        <p><strong><i class="fas fa-calendar me-2"></i>Fecha y Hora:</strong> 
                            <?php echo formatearFecha($reclamoDetalle['fecha']); ?>
                        </p>
                        <hr>
                        <p><strong><i class="fas fa-comment-alt me-2"></i>Reclamo:</strong></p>
                        <div class="alert alert-warning">
                            <?php echo nl2br(htmlspecialchars($reclamoDetalle['reclamo'])); ?>
                        </div>
                    </div>
                </div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">
                    <i class="fas fa-times"></i> Cerrar
                </button>
                <a href="ver_solicitudes.php?fecha_inicio=<?php echo urlencode($fechaInicio); ?>&fecha_fin=<?php echo urlencode($fechaFin); ?>&search=<?php echo urlencode($search); ?>" 
                   class="btn btn-primary">
                    <i class="fas fa-arrow-left"></i> Volver a la Lista
                </a>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Mostrar modal automáticamente si hay un reclamo seleccionado
    const modal = new bootstrap.Modal(document.getElementById('modalDetalleReclamo'));
    modal.show();
    
    // Limpiar parámetro de URL cuando se cierra el modal
    document.getElementById('modalDetalleReclamo').addEventListener('hidden.bs.modal', function() {
        const url = new URL(window.location);
        url.searchParams.delete('ver');
        window.history.replaceState({}, '', url);
    });
});
</script>
<?php endif; ?>

<?php
include_once 'includes/footer.php';
?>

