<div class="content-wrapper">
    <section class="content-header">
        <h1>Kardex de Inventario</h1>
    </section>

    <section class="content">

        <!-- ============================================================ -->
        <!-- CABECERA SOLO PARA IMPRESIÓN -->
        <!-- ============================================================ -->
        <?php if(isset($kardex) && $kardex !== null): ?>
        <div id="cabeceraImpresion" class="print-only">
            <table style="width:100%; border:none; margin-bottom:10px;">
                <tr>
                    <td style="width:90px; vertical-align:top; border:none;">
                        <?php if(!empty($empresa->logo)): ?>
                            <img src="<?php echo base_url('uploads/empresa/'.$empresa->logo); ?>" style="max-width:80px; max-height:80px;">
                        <?php endif; ?>
                    </td>
                    <td style="vertical-align:top; border:none;">
                        <div style="font-size:15px; font-weight:bold;"><?php echo !empty($empresa->nombre) ? $empresa->nombre : ''; ?></div>
                        <div style="font-size:11px; color:#555;">RUC: <?php echo !empty($empresa->ruc) ? $empresa->ruc : ''; ?></div>
                        <div style="font-size:11px; color:#555;"><?php echo !empty($empresa->direccion_fiscal) ? $empresa->direccion_fiscal : ''; ?></div>
                    </td>
                    <td style="text-align:right; vertical-align:top; border:none;">
                        <div style="font-size:16px; font-weight:bold; text-transform:uppercase;">Kardex de Inventario</div>
                        <div style="font-size:11px; color:#555;">Emitido: <?php echo $fecha_reporte; ?></div>
                        <div style="font-size:11px; color:#555;">
                            Período: <?php echo date('d/m/Y', strtotime($filtros['fecha_desde'])); ?>
                            al <?php echo date('d/m/Y', strtotime($filtros['fecha_hasta'])); ?>
                        </div>
                    </td>
                </tr>
            </table>
            <hr style="margin:6px 0 12px; border-top:2px solid #333;">

            <!-- Datos del producto para impresión -->
            <table style="width:100%; border:none; margin-bottom:10px;">
                <tr>
                    <td style="border:none; padding:0;">
                        <strong>Producto:</strong> <?php echo $producto->codigo; ?> — <?php echo $producto->nombre; ?>
                        &nbsp;|&nbsp; <strong>Unidad:</strong> <?php echo $producto->unidad_abreviado ?? '-'; ?>
                        &nbsp;|&nbsp; <strong>Almacén:</strong> <?php echo $almacen->nombre; ?>
                    </td>
                </tr>
            </table>
        </div>
        <?php endif; ?>

        <!-- FILTROS -->
        <div class="row no-print" style="margin-bottom:5px !important; height: 45px;">
            <div class="col-md-12">
                <div class="panel panel-primary">
                    <div class="panel-heading"><strong><i class="fa fa-search"></i> Filtros de consulta</strong></div>
                    <div class="panel-body">

                        <form id="formKardex" method="post" action="<?php echo base_url('index.php/almacen/kardex/consultar'); ?>">

                            <input type="hidden" name="producto_id" id="producto_id"
                                   value="<?php echo isset($filtros['producto_id']) ? $filtros['producto_id'] : ''; ?>">

                            <div class="row" style="margin-bottom:5px !important; height: 45px;">
                                <div class="col-md-4 form-group">
                                    <label>Producto <span class="text-danger">*</span></label>
                                    <input type="text" id="producto_busqueda" class="form-control"
                                           placeholder="Buscar por código o nombre"
                                           value="<?php echo isset($producto) && $producto ? $producto->codigo . ' | ' . $producto->nombre : ''; ?>"
                                           autocomplete="off">
                                </div>
                                <div class="col-md-3 form-group">
                                    <label>Almacén <span class="text-danger">*</span></label>
                                    <select name="almacen_id" id="almacen_id" class="form-control" required>
                                        <option value="">Seleccione</option>
                                        <?php foreach($almacenes as $item): ?>
                                            <option value="<?php echo $item->id; ?>"
                                                <?php echo (isset($filtros['almacen_id']) && $filtros['almacen_id'] == $item->id) ? 'selected' : ''; ?>>
                                                <?php echo $item->nombre; ?>
                                            </option>
                                        <?php endforeach; ?>
                                    </select>
                                </div>
                                <div class="col-md-2 form-group">
                                    <label>Fecha desde <span class="text-danger">*</span></label>
                                    <input type="date" name="fecha_desde" class="form-control"
                                           value="<?php echo isset($filtros['fecha_desde']) ? $filtros['fecha_desde'] : date('Y-m-01'); ?>" required>
                                </div>
                                <div class="col-md-2 form-group">
                                    <label>Fecha hasta <span class="text-danger">*</span></label>
                                    <input type="date" name="fecha_hasta" class="form-control"
                                           value="<?php echo isset($filtros['fecha_hasta']) ? $filtros['fecha_hasta'] : date('Y-m-d'); ?>" required>
                                </div>
                                <div class="col-md-1 form-group" style="padding-top:25px;">
                                    <button type="submit" class="btn btn-primary btn-block">
                                        <i class="fa fa-search"></i>
                                    </button>
                                </div>
                            </div>

                        </form>

                    </div>
                </div>
            </div>
        </div>

        <?php if(!isset($kardex) || $kardex === null): ?>
        <div class="row" style="margin-bottom:5px !important; height: 45px;">
            <div class="col-md-12">
                <div class="alert alert-info">
                    <i class="fa fa-info-circle"></i>
                    Selecciona un producto, almacén y rango de fechas para consultar el kardex.
                </div>
            </div>
        </div>
        <?php endif; ?>

        <?php if(isset($kardex) && $kardex !== null): ?>
        <!-- ENCABEZADO DEL KARDEX -->
        <div class="row no-print" style="margin-bottom:5px !important; height: 45px;">
            <div class="col-md-12">
                <div class="panel panel-default">
                    <div class="panel-body">
                        <div class="row">
                            <div class="col-md-4">
                                <strong>Producto:</strong><br>
                                <?php echo $producto->codigo; ?> — <?php echo $producto->nombre; ?>
                            </div>
                            <div class="col-md-2">
                                <strong>Unidad:</strong><br>
                                <?php echo $producto->unidad_abreviado ?? '-'; ?>
                            </div>
                            <div class="col-md-2">
                                <strong>Almacén:</strong><br>
                                <?php echo $almacen->nombre; ?>
                            </div>
                            <div class="col-md-2">
                                <strong>Período:</strong><br>
                                <?php echo date('d/m/Y', strtotime($filtros['fecha_desde'])); ?> al
                                <?php echo date('d/m/Y', strtotime($filtros['fecha_hasta'])); ?>
                            </div>
                            <div class="col-md-2 text-right">
                                <button onclick="window.print()" class="btn btn-default btn-sm">
                                    <i class="fa fa-print"></i> Imprimir
                                </button>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <!-- TABLA KARDEX -->
        <div class="row" style="margin-bottom:5px !important;">
            <div class="col-md-12">
                <div class="panel panel-primary reporte-panel">
                    <div class="panel-heading no-print"><strong>Movimientos del período</strong></div>
                    <div class="panel-body">
                        <div class="table-responsive">
                            <table class="table table-bordered table-hover table-striped tabla-reporte" id="tablaKardex">
                                <thead>
                                    <tr style="background:#1a3e5c; color:#fff;">
                                        <th>Fecha</th>
                                        <th>Tipo</th>
                                        <th>Referencia</th>
                                        <th>Descripción</th>
                                        <th class="text-right">Entradas</th>
                                        <th class="text-right">Salidas</th>
                                        <th class="text-right">Saldo</th>
                                        <th class="text-right">P. Promedio</th>
                                        <th class="text-right">Saldo Valorado</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <!-- FILA DE SALDO INICIAL -->
                                    <tr style="background:#f5f5f5; font-weight:bold;">
                                        <td><?php echo date('d/m/Y', strtotime($filtros['fecha_desde'])); ?></td>
                                        <td colspan="3"><em>Saldo inicial al inicio del período</em></td>
                                        <td class="text-right">-</td>
                                        <td class="text-right">-</td>
                                        <td class="text-right"><?php echo number_format($saldo_inicial, 2); ?></td>
                                        <td class="text-right"><?php echo number_format($precio_inicial, 4); ?></td>
                                        <td class="text-right"><?php echo number_format($saldo_inicial * $precio_inicial, 2); ?></td>
                                    </tr>

                                    <?php if(empty($kardex)): ?>
                                        <tr>
                                            <td colspan="9" class="text-center text-muted">
                                                No hay movimientos en el período seleccionado
                                            </td>
                                        </tr>
                                    <?php else: ?>
                                        <?php foreach($kardex as $row): ?>
                                            <tr class="<?php echo $row['tipo'] == 'INGRESO' ? 'success' : 'danger'; ?>" style="color:#333;">
                                                <td><?php echo date('d/m/Y H:i', strtotime($row['fecha'])); ?></td>
                                                <td>
                                                    <?php if($row['tipo'] == 'INGRESO'): ?>
                                                        <span class="label label-success"><?php echo $row['subtipo']; ?></span>
                                                    <?php else: ?>
                                                        <span class="label label-danger"><?php echo $row['subtipo']; ?></span>
                                                    <?php endif; ?>
                                                </td>
                                                <td><small><?php echo $row['referencia']; ?></small></td>
                                                <td><?php echo $row['descripcion']; ?></td>
                                                <td class="text-right text-success">
                                                    <?php echo $row['entrada'] > 0 ? number_format($row['entrada'], 2) : '-'; ?>
                                                </td>
                                                <td class="text-right text-danger">
                                                    <?php echo $row['salida'] > 0 ? number_format($row['salida'], 2) : '-'; ?>
                                                </td>
                                                <td class="text-right"><strong><?php echo number_format($row['saldo'], 2); ?></strong></td>
                                                <td class="text-right"><?php echo number_format($row['precio_promedio'], 4); ?></td>
                                                <td class="text-right"><strong><?php echo number_format($row['saldo_valorado'], 2); ?></strong></td>
                                            </tr>
                                        <?php endforeach; ?>
                                    <?php endif; ?>

                                </tbody>
                                <?php if(!empty($kardex)): ?>
                                <tfoot>
                                    <?php
                                        $total_entradas = array_sum(array_column($kardex, 'entrada'));
                                        $total_salidas  = array_sum(array_column($kardex, 'salida'));
                                        $ultimo         = end($kardex);
                                        $saldo_final    = $ultimo ? $ultimo['saldo'] : $saldo_inicial;
                                        $precio_final   = $ultimo ? $ultimo['precio_promedio'] : $precio_inicial;
                                    ?>
                                    <tr style="background:#1a3e5c; color:#fff; font-weight:bold;">
                                        <td colspan="4" class="text-right">TOTALES</td>
                                        <td class="text-right"><?php echo number_format($total_entradas, 2); ?></td>
                                        <td class="text-right"><?php echo number_format($total_salidas, 2); ?></td>
                                        <td class="text-right"><?php echo number_format($saldo_final, 2); ?></td>
                                        <td class="text-right"><?php echo number_format($precio_final, 4); ?></td>
                                        <td class="text-right"><?php echo number_format($saldo_final * $precio_final, 2); ?></td>
                                    </tr>
                                </tfoot>
                                <?php endif; ?>
                            </table>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <!-- PIE DE PÁGINA SOLO IMPRESIÓN -->
        <div class="print-only" style="margin-top:15px; font-size:10px; color:#888; text-align:center; border-top:1px solid #ccc; padding-top:6px;">
            Reporte generado el <?php echo $fecha_reporte; ?> — <?php echo !empty($empresa->nombre) ? $empresa->nombre : ''; ?>
        </div>

        <?php endif; ?>

    </section>
</div>

<style>
/* ============================================================ */
/* ESTILOS DE PANTALLA */
/* ============================================================ */
.print-only { display: none; }

/* ============================================================ */
/* ESTILOS DE IMPRESIÓN — REPORTE APAISADO */
/* ============================================================ */
@media print {

    @page {
        size: A4 landscape;
        margin: 10mm;
    }

    .main-header, .sidebar, .content-header, #formKardex,
    .no-print, .btn, .main-footer,
    .control-sidebar, .navbar { display: none !important; }

    .content-wrapper {
        margin-left: 0 !important;
        padding: 0 !important;
    }

    .print-only { display: block !important; }

    .reporte-panel {
        border: 1px solid #999 !important;
        box-shadow: none !important;
        margin-bottom: 8px !important;
    }

    .tabla-reporte {
        font-size: 9px;
    }
    .tabla-reporte th, .tabla-reporte td {
        padding: 3px 4px !important;
    }
    .tabla-reporte thead tr,
    .tabla-reporte tfoot tr,
    .tabla-reporte tr.success td,
    .tabla-reporte tr.danger td {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .label {
        border: 1px solid #999;
        background: #fff !important;
        color: #000 !important;
    }
}
</style>

<script>
window.addEventListener('load', function () {
    $('#producto_busqueda').autocomplete({
        source: function(request, response) {
            $.ajax({
                url: '<?php echo base_url("index.php/almacen/kardex/buscar_producto"); ?>',
                dataType: 'json',
                data: { term: request.term },
                success: function(data) { response(data); }
            });
        },
        minLength: 2,
        select: function(event, ui) {
            $('#producto_id').val(ui.item.id);
            $('#producto_busqueda').val(ui.item.codigo + ' | ' + ui.item.nombre);
            return false;
        }
    });

    $('#formKardex').on('submit', function(e) {
        if ($('#producto_id').val() === '') {
            e.preventDefault();
            Swal.fire({ icon: 'warning', title: 'Atención', text: 'Debes seleccionar un producto' });
            return false;
        }
    });
});
</script>