<?php
session_start();
require_once '../includes/db.php';
require_once '../includes/header.php';

// Verificar si el usuario está logueado y es administrador
if (!isset($_SESSION['usuario_id']) || $_SESSION['rol'] !== 'admin') {
    header('Location: login.php');
    exit;
}

$db = new Database();
$pdo = $db->getPDO();

// Obtener configuración actual
$stmt = $pdo->prepare("SELECT color_principal, color_secundario, color_fondo, color_texto, favicon FROM configuracion LIMIT 1");
$stmt->execute();
$config = $stmt->fetch(PDO::FETCH_ASSOC);

// Verificar que se proporciona el número de factura
if (!isset($_GET['factura']) || empty($_GET['factura'])) {
    $_SESSION['mensaje_error'] = "No se especificó el número de factura";
    header('Location: historial_facturas.php');
    exit;
}

$facturaNumero = $_GET['factura'];

// Obtener datos de la factura
$stmtFactura = $pdo->prepare("
    SELECT 
        f.*,
        DATE(f.fecha_factura) as fecha
    FROM facturados f
    WHERE f.factura_numero = ?
    ORDER BY f.id
");
$stmtFactura->execute([$facturaNumero]);
$items = $stmtFactura->fetchAll(PDO::FETCH_ASSOC);

if (empty($items)) {
    $_SESSION['mensaje_error'] = "No se encontró la factura especificada";
    header('Location: historial_facturas.php');
    exit;
}

// Obtener datos generales de la primera fila
$factura = $items[0];

// Calcular totales
$subtotal = 0;
$totalIva = 0;
$total = 0;

foreach ($items as $item) {
    $subtotal += $item['subtotal'];
    $totalIva += $item['monto_iva'];
    $total += $item['total'];
}

?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Detalle de Factura <?php echo htmlspecialchars($facturaNumero); ?></title>
    <link rel="shortcut icon" href="<?php echo isset($config['favicon']) ? '../' . $config['favicon'] : '../img/favicon.png'; ?>" type="image/x-icon">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
    <style>
        .card {
            margin-bottom: 1.5rem;
            box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important;
        }
        
        .card-header {
            background-color: <?php echo isset($config['color_principal']) ? $config['color_principal'] : '#007bff'; ?>;
            color: white;
            border-bottom: 0;
        }
        
        .table-dark th {
            background-color: #212529 !important;
            color: white !important;
        }
        
        .badge {
            font-size: 0.875rem;
            padding: 0.4em 0.8em;
        }
        
        .btn-primary {
            background-color: <?php echo isset($config['color_principal']) ? $config['color_principal'] : '#007bff'; ?>;
            border-color: <?php echo isset($config['color_principal']) ? $config['color_principal'] : '#007bff'; ?>;
        }
        
        .btn-primary:hover {
            filter: brightness(90%);
        }
        
        .border-bottom {
            border-bottom: 1px solid #dee2e6 !important;
        }
    </style>
</head>
<body>
    <div class="container py-4">
        <div class="d-flex justify-content-between align-items-center mb-4">
            <h1>Detalle de Factura</h1>
            <div>
                <a href="historial_facturas.php" class="btn btn-secondary me-2">
                    <i class="fas fa-arrow-left"></i> Volver
                </a>
                <button onclick="window.print()" class="btn btn-primary">
                    <i class="fas fa-print"></i> Imprimir
                </button>
            </div>
        </div>
        
        <div class="row">
            <!-- Datos de la factura -->
            <div class="col-md-6 mb-4">
                <div class="card shadow">
                    <div class="card-header">
                        <h5 class="card-title mb-0">Datos de la Factura</h5>
                    </div>
                    <div class="card-body">
                        <div class="row">
                            <div class="col-md-6">
                                <div class="mb-3">
                                    <label class="fw-bold">Número de factura:</label>
                                    <div class="border-bottom p-2"><?php echo htmlspecialchars($facturaNumero); ?></div>
                                </div>
                                <div class="mb-3">
                                    <label class="fw-bold">Fecha de emisión:</label>
                                    <div class="border-bottom p-2"><?php echo htmlspecialchars($factura['fecha']); ?></div>
                                </div>
                                <div class="mb-3">
                                    <label class="fw-bold">Estado:</label>
                                    <div class="border-bottom p-2">
                                        <?php if ($factura['estado'] === 'activo'): ?>
                                            <span class="badge bg-success">Activo</span>
                                        <?php else: ?>
                                            <span class="badge bg-danger">Cancelado</span>
                                        <?php endif; ?>
                                    </div>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="mb-3">
                                    <label class="fw-bold">Condición:</label>
                                    <div class="border-bottom p-2">
                                        <?php if ($factura['condicion'] === 'contado'): ?>
                                            <span class="badge bg-success">Contado</span>
                                        <?php else: ?>
                                            <span class="badge bg-info">Crédito</span>
                                            <?php if (!empty($factura['dias_credito'])): ?>
                                            <small class="d-block mt-1"><?php echo $factura['dias_credito']; ?> días (<?php echo ceil($factura['dias_credito'] / 30); ?> cuotas)</small>
                                            <?php endif; ?>
                                        <?php endif; ?>
                                    </div>
                                </div>
                                <div class="mb-3">
                                    <label class="fw-bold">Venta ID:</label>
                                    <div class="border-bottom p-2"><?php echo htmlspecialchars($factura['venta_id']); ?></div>
                                </div>
                                <div class="mb-3">
                                    <label class="fw-bold">CDC:</label>
                                    <div class="border-bottom p-2"><?php echo !empty($factura['cdc']) ? htmlspecialchars($factura['cdc']) : '<em>No disponible</em>'; ?></div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
            <!-- Datos del cliente -->
            <div class="col-md-6 mb-4">
                <div class="card shadow">
                    <div class="card-header">
                        <h5 class="card-title mb-0">Datos del Cliente</h5>
                    </div>
                    <div class="card-body">
                        <div class="row">
                            <div class="col-md-6">
                                <div class="mb-3">
                                    <label class="fw-bold">Cliente ID:</label>
                                    <div class="border-bottom p-2"><?php echo htmlspecialchars($factura['cliente_id']); ?></div>
                                </div>
                                <div class="mb-3">
                                    <label class="fw-bold">Nombre/Razón social:</label>
                                    <div class="border-bottom p-2"><?php echo htmlspecialchars($factura['cliente_nombre']); ?></div>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="mb-3">
                                    <label class="fw-bold">RUC/Documento:</label>
                                    <div class="border-bottom p-2"><?php echo htmlspecialchars($factura['cliente_ruc']); ?></div>
                                </div>
                                <?php if (!empty($factura['cdc'])): ?>
                                <div class="mb-3">
                                    <label class="fw-bold">CDC:</label>
                                    <div class="border-bottom p-2"><?php echo htmlspecialchars($factura['cdc']); ?></div>
                                </div>
                                <?php endif; ?>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        
        <!-- Detalle de productos -->
        <div class="card shadow mb-4">
            <div class="card-header">
                <h5 class="card-title mb-0">Detalle de Productos</h5>
            </div>
            <div class="card-body">
                <div class="table-responsive">
                    <table class="table table-bordered table-striped">
                        <thead class="table-dark">
                            <tr>
                                <th>ID</th>
                                <th>Producto</th>
                                <th>Cantidad</th>
                                <th>Precio Unitario</th>
                                <th>Subtotal</th>
                                <th>IVA %</th>
                                <th>Monto IVA</th>
                                <th>Total</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php foreach ($items as $item): ?>
                            <tr>
                                <td><?php echo htmlspecialchars($item['producto_id']); ?></td>
                                <td><?php echo htmlspecialchars($item['producto_titulo']); ?></td>
                                <td><?php echo htmlspecialchars($item['cantidad']); ?></td>
                                <td><?php echo number_format($item['precio_unitario'], 2, ',', '.'); ?></td>
                                <td><?php echo number_format($item['subtotal'], 2, ',', '.'); ?></td>
                                <td><?php echo htmlspecialchars($item['iva']); ?>%</td>
                                <td><?php echo number_format($item['monto_iva'], 2, ',', '.'); ?></td>
                                <td><?php echo number_format($item['total'], 2, ',', '.'); ?></td>
                            </tr>
                            <?php endforeach; ?>
                        </tbody>
                        <tfoot>
                            <tr>
                                <td colspan="4" class="text-end"><strong>Totales:</strong></td>
                                <td><strong><?php echo number_format($subtotal, 2, ',', '.'); ?></strong></td>
                                <td></td>
                                <td><strong><?php echo number_format($totalIva, 2, ',', '.'); ?></strong></td>
                                <td><strong><?php echo number_format($total, 2, ',', '.'); ?></strong></td>
                            </tr>
                        </tfoot>
                    </table>
                </div>
            </div>
        </div>
    </div>
    
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
