<div class="content-wrapper">
    <section class="content-header">
        <h1>Editar Requerimiento</h1>
    </section>

    <section class="content">
        <div class="row">
            <div class="col-md-12">

                <div class="panel panel-warning">
                    <div class="panel-heading">
                        <strong>Actualización de requerimiento</strong>
                    </div>

                    <div class="panel-body">

                        <form id="formRequerimiento" method="post" action="<?php echo base_url('index.php/logistica/requerimientos/update/'.$requerimiento->id); ?>">

                            <input type="hidden" name="orp_id" value="<?php echo isset($orp_id) ? (int)$orp_id : 0; ?>">

                            <?php if(!empty($orp_id) && (int)$orp_id > 0): ?>
                                <div class="alert alert-info">
                                    Este requerimiento está asociado a la Orden de Pedido N° <strong><?php echo $orp_id; ?></strong>.
                                </div>
                            <?php endif; ?>

                            <div class="row">
                                <div class="col-md-2 form-group">
                                    <label>ID</label>
                                    <input type="text" class="form-control" value="<?php echo $requerimiento->id; ?>" readonly>
                                </div>

                                <div class="col-md-3 form-group">
                                    <label>Tipo</label>
                                    <select name="tipo" id="tipo" class="form-control" required>
                                        <option value="C" <?php echo ($requerimiento->tipo == 'C') ? 'selected' : ''; ?>>COMPRAR</option>
                                        <option value="A" <?php echo ($requerimiento->tipo == 'A') ? 'selected' : ''; ?>>ALMACÉN</option>
                                    </select>
                                </div>

                                <div class="col-md-3 form-group">
                                    <label>Fecha</label>
                                    <input type="datetime-local" name="fecha" id="fecha" class="form-control"
                                           value="<?php echo !empty($requerimiento->fecha) ? date('Y-m-d\TH:i', strtotime($requerimiento->fecha)) : ''; ?>" required>
                                </div>

                                <div class="col-md-4 form-group">
                                    <label>Estado</label>
                                    <input type="text" class="form-control" value="<?php echo $requerimiento->estado_nombre; ?>" readonly>
                                </div>
                            </div>

                            <hr>

                            <div class="row">
                                <div class="col-md-4 form-group">
                                    <label>Buscar producto</label>
                                    <input type="text" id="producto_busqueda" class="form-control" placeholder="Buscar por código o nombre" autocomplete="off">
                                </div>

                                <div class="col-md-3 form-group" style="padding-top:25px;">
                                    <button type="button" class="btn btn-primary" id="btnNuevoProductoRapido">
                                        <i class="fa fa-plus"></i> Crear producto rápido
                                    </button>
                                </div>
                            </div>

                            <div class="table-responsive">
                                <table class="table table-bordered table-hover table-striped" id="tablaDetalleRequerimiento">
                                    <thead>
                                        <tr>
                                            <th style="width:90px;">Código</th>
                                            <th>Detalle</th>
                                            <th style="width:80px;">Und</th>
                                            <th style="width:100px;">Cantidad</th>
                                            <th style="width:120px;">Precio Unit.</th>
                                            <th style="width:120px;">Total</th>
                                            <th style="width:50px;">Acc.</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <?php $idx = 0; foreach($detalle as $item): ?>
                                            <tr data-producto-id="<?php echo $item->producto_id; ?>">
                                                <td>
                                                    <input type="hidden" name="detalle[<?php echo $idx; ?>][producto_id]" value="<?php echo $item->producto_id; ?>">
                                                    <input type="text" class="form-control input-sm" value="<?php echo $item->producto_codigo; ?>" readonly>
                                                </td>
                                                <td>
                                                    <input type="text" name="detalle[<?php echo $idx; ?>][detalle]" class="form-control input-sm" value="<?php echo html_escape($item->detalle); ?>">
                                                </td>
                                                <td>
                                                    <input type="text" class="form-control input-sm" value="<?php echo $item->unidad_abreviado; ?>" readonly>
                                                </td>
                                                <td>
                                                    <input type="number" step="0.01" min="0.01" name="detalle[<?php echo $idx; ?>][cantidad]" class="form-control input-sm item-cantidad" value="<?php echo number_format((float)$item->cantidad, 2, '.', ''); ?>">
                                                </td>
                                                <td>
                                                    <input type="number" step="0.0001" min="0" name="detalle[<?php echo $idx; ?>][precio_unitario]" class="form-control input-sm item-precio" value="<?php echo number_format((float)$item->precio_unitario, 4, '.', ''); ?>">
                                                </td>
                                                <td>
                                                    <input type="number" step="0.01" min="0" class="form-control input-sm item-total" value="<?php echo number_format((float)$item->total, 2, '.', ''); ?>" readonly>
                                                </td>
                                                <td class="text-center">
                                                    <button type="button" class="btn btn-danger btn-xs btn-eliminar-item"><i class="fa fa-trash"></i></button>
                                                </td>
                                            </tr>
                                        <?php $idx++; endforeach; ?>
                                    </tbody>
                                </table>
                            </div>

                            <div class="row">
                                <div class="col-md-12 form-group">
                                    <label>Observaciones</label>
                                    <textarea name="observaciones" id="observaciones" class="form-control" rows="4"><?php echo html_escape($requerimiento->observaciones); ?></textarea>
                                </div>
                            </div>

                            <button type="submit" class="btn btn-warning">
                                <i class="fa fa-save"></i> Actualizar Requerimiento
                            </button>

                            <?php if(!empty($orp_id) && (int)$orp_id > 0): ?>
                                <a href="<?php echo base_url('index.php/ventas/orden-pedido/requerimientos/'.$orp_id); ?>" class="btn btn-default">Cancelar</a>
                            <?php else: ?>
                                <a href="<?php echo base_url('index.php/logistica/requerimientos'); ?>" class="btn btn-default">Cancelar</a>
                            <?php endif; ?>

                        </form>

                    </div>
                </div>

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

<div class="modal fade" id="modalProductoRapido" tabindex="-1" role="dialog">
    <div class="modal-dialog">
        <div class="modal-content">

            <form id="formProductoRapido">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
                    <h4 class="modal-title">Crear Producto Rápido</h4>
                </div>

                <div class="modal-body">
                    <div class="form-group">
                        <label>Categoría</label>
                        <select name="categoria_id" id="categoria_id" class="form-control" required>
                            <option value="">Seleccione</option>
                            <?php foreach($categorias as $item): ?>
                                <option value="<?php echo $item->id; ?>"><?php echo $item->nombre; ?></option>
                            <?php endforeach; ?>
                        </select>
                    </div>

                    <div class="form-group">
                        <label>Código</label>
                        <input type="text" name="codigo" id="codigo" class="form-control" required>
                    </div>

                    <div class="form-group">
                        <label>Nombre</label>
                        <input type="text" name="nombre" id="nombre" class="form-control" required>
                    </div>

                    <div class="form-group">
                        <label>Descripción</label>
                        <textarea name="descripcion" id="descripcion" class="form-control" rows="2"></textarea>
                    </div>

                    <div class="form-group">
                        <label>Moneda compra</label>
                        <select name="moneda_id_compra" id="moneda_id_compra" class="form-control" required>
                            <option value="">Seleccione</option>
                            <?php foreach($monedas as $item): ?>
                                <option value="<?php echo $item->id; ?>"><?php echo $item->nombre; ?></option>
                            <?php endforeach; ?>
                        </select>
                    </div>

                    <div class="form-group">
                        <label>Precio compra</label>
                        <input type="number" step="0.0001" min="0" name="precio_compra" id="precio_compra" class="form-control" value="0.0000">
                    </div>

                    <div class="form-group">
                        <label>Unidad compra</label>
                        <select name="um_id_compra" id="um_id_compra" class="form-control" required>
                            <option value="">Seleccione</option>
                            <?php foreach($unidades as $item): ?>
                                <option value="<?php echo $item->id; ?>"><?php echo $item->nombre; ?></option>
                            <?php endforeach; ?>
                        </select>
                    </div>

                    <div class="form-group">
                        <label>Precio unidad</label>
                        <input type="number" step="0.0001" min="0" name="precio_unidad" id="precio_unidad" class="form-control" value="0.0000">
                    </div>
                </div>

                <div class="modal-footer">
                    <button type="submit" class="btn btn-primary">
                        <i class="fa fa-save"></i> Guardar Producto
                    </button>
                    <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
                </div>
            </form>

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

<script>
window.addEventListener('load', function () {

    var filaIndex = <?php echo isset($idx) ? (int)$idx : 0; ?>;

    function redondear(num, decimales) {
        return parseFloat(parseFloat(num).toFixed(decimales));
    }

    function recalcularFila($fila) {
        var cantidad = parseFloat($fila.find('.item-cantidad').val() || 0);
        var precio = parseFloat($fila.find('.item-precio').val() || 0);
        var total = redondear(cantidad * precio, 2);
        $fila.find('.item-total').val(total.toFixed(2));
    }

    function agregarFilaDetalle(producto) {
        var idx = filaIndex++;
        var precio = parseFloat(producto.precio_unidad || 0);

        var html = '';
        html += '<tr data-producto-id="' + producto.id + '">';
        html += '<td>';
        html += '<input type="hidden" name="detalle[' + idx + '][producto_id]" value="' + producto.id + '">';
        html += '<input type="text" class="form-control input-sm" value="' + producto.codigo + '" readonly>';
        html += '</td>';
        html += '<td>';
        html += '<input type="text" name="detalle[' + idx + '][detalle]" class="form-control input-sm" value="' + (producto.nombre || '') + '">';
        html += '</td>';
        html += '<td>';
        html += '<input type="text" class="form-control input-sm" value="' + (producto.unidad_abreviado || '') + '" readonly>';
        html += '</td>';
        html += '<td>';
        html += '<input type="number" step="0.01" min="0.01" name="detalle[' + idx + '][cantidad]" class="form-control input-sm item-cantidad" value="1">';
        html += '</td>';
        html += '<td>';
        html += '<input type="number" step="0.0001" min="0" name="detalle[' + idx + '][precio_unitario]" class="form-control input-sm item-precio" value="' + precio.toFixed(4) + '">';
        html += '</td>';
        html += '<td>';
        html += '<input type="number" step="0.01" min="0" class="form-control input-sm item-total" value="' + precio.toFixed(2) + '" readonly>';
        html += '</td>';
        html += '<td class="text-center">';
        html += '<button type="button" class="btn btn-danger btn-xs btn-eliminar-item"><i class="fa fa-trash"></i></button>';
        html += '</td>';
        html += '</tr>';

        $('#tablaDetalleRequerimiento tbody').append(html);
    }

    $('#producto_busqueda').autocomplete({
        source: function(request, response) {
            $.ajax({
                url: '<?php echo base_url("index.php/logistica/requerimientos/buscar-producto"); ?>',
                dataType: 'json',
                data: { term: request.term },
                success: function(data) { response(data); }
            });
        },
        minLength: 2,
        select: function(event, ui) {
            var repetido = false;
            $('#tablaDetalleRequerimiento tbody tr').each(function() {
                if ($(this).data('producto-id') == ui.item.id) repetido = true;
            });

            if (repetido) {
                Swal.fire({ icon: 'warning', title: 'Atención', text: 'El producto ya fue agregado' });
                $('#producto_busqueda').val('');
                return false;
            }

            agregarFilaDetalle(ui.item);
            $('#producto_busqueda').val('');
            return false;
        }
    });

    $(document).on('input', '.item-cantidad, .item-precio', function() {
        recalcularFila($(this).closest('tr'));
    });

    $(document).on('click', '.btn-eliminar-item', function() {
        $(this).closest('tr').remove();
    });

    $('#formRequerimiento').on('submit', function(e) {
        if ($('#tablaDetalleRequerimiento tbody tr').length === 0) {
            e.preventDefault();
            Swal.fire({ icon: 'warning', title: 'Atención', text: 'Debes agregar al menos un producto al detalle' });
            return false;
        }
    });

    $('#btnNuevoProductoRapido').on('click', function() {
        $('#formProductoRapido')[0].reset();
        $('#precio_compra').val('0.0000');
        $('#precio_unidad').val('0.0000');
        $('#modalProductoRapido').modal('show');
    });

    $('#formProductoRapido').on('submit', function(e) {
        e.preventDefault();

        $.ajax({
            url: '<?php echo base_url("index.php/logistica/requerimientos/producto-rapido"); ?>',
            type: 'POST',
            data: $(this).serialize(),
            dataType: 'json',
            success: function(resp) {
                if (resp.status) {
                    $('#modalProductoRapido').modal('hide');
                    agregarFilaDetalle(resp.data);

                    Swal.fire({
                        icon: 'success',
                        title: 'Correcto',
                        text: resp.message,
                        timer: 1800,
                        showConfirmButton: false
                    });
                } else {
                    Swal.fire({ icon: 'error', title: 'Error', text: resp.message });
                }
            },
            error: function() {
                Swal.fire({ icon: 'error', title: 'Error', text: 'No se pudo registrar el producto' });
            }
        });
    });

});
</script>