<div class="content-wrapper">
    <section class="content-header">
        <h1>Detalle Factura de Servicio</h1>
    </section>

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

                <!-- DATOS GENERALES -->
                <div class="panel panel-info">
                    <div class="panel-heading"><strong>Datos del comprobante</strong></div>
                    <div class="panel-body">
                        <div class="row">
                            <div class="col-md-2">
                                <strong>Tipo:</strong><br>
                                <?php
                                $tipos = ['F'=>'Factura','B'=>'Boleta','RH'=>'Rec. Honorarios','O'=>'Otro'];
                                echo $tipos[$factura->tipo_comprobante] ?? $factura->tipo_comprobante;
                                ?>
                            </div>
                            <div class="col-md-2">
                                <strong>N° Comprobante:</strong><br>
                                <strong><?php echo $factura->serie . '-' . $factura->numero; ?></strong>
                            </div>
                            <div class="col-md-2">
                                <strong>F. Emisión:</strong><br>
                                <?php echo date('d/m/Y', strtotime($factura->fecha_emision)); ?>
                            </div>
                            <div class="col-md-2">
                                <strong>F. Vencimiento:</strong><br>
                                <?php echo !empty($factura->fecha_vencimiento)
                                    ? date('d/m/Y', strtotime($factura->fecha_vencimiento)) : '—'; ?>
                            </div>
                            <div class="col-md-2">
                                <strong>Moneda:</strong><br>
                                <?php echo $factura->moneda; ?>
                            </div>
                            <div class="col-md-2">
                                <strong>Estado:</strong><br>
                                <?php if ($factura->estado == 1): ?>
                                    <span class="label label-warning">Pendiente</span>
                                <?php elseif ($factura->estado == 2): ?>
                                    <span class="label label-success">Pagado</span>
                                <?php else: ?>
                                    <span class="label label-danger">Anulado</span>
                                <?php endif; ?>
                            </div>
                        </div>
                        <hr>
                        <div class="row">
                            <div class="col-md-4">
                                <strong>Proveedor:</strong><br>
                                <h4 style="margin-top:3px;"><?php echo $factura->proveedor; ?></h4>
                                <small class="text-muted"><?php echo $factura->proveedor_ruc; ?></small>
                                <?php if (!empty($factura->sector_negocio)): ?>
                                    <br><span class="label label-info"><?php echo $factura->sector_negocio; ?></span>
                                <?php endif; ?>
                            </div>
                            <div class="col-md-2">
                                <strong>Subtotal:</strong><br>
                                <?php echo $factura->moneda_abreviado . ' ' . number_format($factura->subtotal, 2); ?>
                            </div>
                            <div class="col-md-2">
                                <strong>IGV (<?php echo (float)$factura->igv_porcentaje; ?>%):</strong><br>
                                <?php echo $factura->moneda_abreviado . ' ' . number_format($factura->igv, 2); ?>
                            </div>
                            <div class="col-md-2">
                                <strong>Total:</strong><br>
                                <strong><?php echo $factura->moneda_abreviado . ' ' . number_format($factura->total, 2); ?></strong>
                            </div>
                            <div class="col-md-2">
                                <strong>Saldo pendiente:</strong><br>
                                <strong class="<?php echo (float)$factura->saldo > 0 ? 'text-danger' : 'text-success'; ?>">
                                    <?php echo $factura->moneda_abreviado . ' ' . number_format($factura->saldo, 2); ?>
                                </strong>
                            </div>
                        </div>
                    </div>
                </div>

                <!-- DETALLE DE SERVICIOS -->
                <div class="panel panel-warning">
                    <div class="panel-heading"><strong><i class="fa fa-list"></i> Detalle de servicios</strong></div>
                    <div class="panel-body">
                        <table class="table table-bordered table-striped" style="font-size:12px;">
                            <thead>
                                <tr>
                                    <th>Tipo de servicio</th>
                                    <th>Descripción</th>
                                    <th class="text-center">Cantidad</th>
                                    <th class="text-center">Unidad</th>
                                    <th class="text-right">P. Unitario</th>
                                    <th class="text-right">Subtotal</th>
                                </tr>
                            </thead>
                            <tbody>
                                <?php foreach ($detalle as $d): ?>
                                    <tr>
                                        <td><span class="label label-info"><?php echo $d->sector_nombre; ?></span></td>
                                        <td><?php echo $d->descripcion; ?></td>
                                        <td class="text-center"><?php echo number_format($d->cantidad, 2); ?></td>
                                        <td class="text-center"><?php echo $d->unidad ?? '—'; ?></td>
                                        <td class="text-right"><?php echo number_format($d->precio_unitario, 4); ?></td>
                                        <td class="text-right"><strong><?php echo number_format($d->subtotal, 2); ?></strong></td>
                                    </tr>
                                <?php endforeach; ?>
                            </tbody>
                        </table>
                    </div>
                </div>

                <!-- CUOTAS -->
                <?php if (!empty($cuotas)): ?>
                <div class="panel panel-default">
                    <div class="panel-heading"><strong>Cuotas</strong></div>
                    <div class="panel-body">
                        <table class="table table-bordered table-striped" style="font-size:12px;">
                            <thead>
                                <tr>
                                    <th>N° Cuota</th>
                                    <th>F. Vencimiento</th>
                                    <th class="text-right">Importe</th>
                                    <th class="text-right">Saldo</th>
                                    <th class="text-center">Estado</th>
                                </tr>
                            </thead>
                            <tbody>
                                <?php foreach ($cuotas as $cuota): ?>
                                    <tr>
                                        <td><?php echo $cuota->nro_cuota; ?></td>
                                        <td><?php echo date('d/m/Y', strtotime($cuota->fecha_vencimiento)); ?></td>
                                        <td class="text-right"><?php echo number_format($cuota->importe, 2); ?></td>
                                        <td class="text-right"><?php echo number_format($cuota->saldo, 2); ?></td>
                                        <td class="text-center">
                                            <?php if ($cuota->estado == 1): ?>
                                                <span class="label label-success">Pagada</span>
                                            <?php else: ?>
                                                <span class="label label-warning">Pendiente</span>
                                            <?php endif; ?>
                                        </td>
                                    </tr>
                                <?php endforeach; ?>
                            </tbody>
                        </table>
                    </div>
                </div>
                <?php endif; ?>

                <!-- PAGOS REGISTRADOS -->
                <div class="panel panel-default">
                    <div class="panel-heading" style="display:flex; justify-content:space-between; align-items:center;">
                        <strong><i class="fa fa-money"></i> Pagos registrados</strong>
                        <?php if (tiene_permiso('factura_servicio_pagar') && (float)$factura->saldo > 0 && $factura->estado == 1): ?>
                            <button type="button" class="btn btn-success btn-xs" id="btnNuevoPago">
                                <i class="fa fa-plus"></i> Registrar pago
                            </button>
                        <?php endif; ?>
                    </div>
                    <div class="panel-body">
                        <?php if (empty($pagos)): ?>
                            <p class="text-muted text-center">No hay pagos registrados aún.</p>
                        <?php else: ?>
                            <table class="table table-bordered table-striped" style="font-size:12px;">
                                <thead>
                                    <tr>
                                        <th>Fecha</th>
                                        <th>Medio de pago</th>
                                        <th>Cuenta bancaria</th>
                                        <th>Referencia</th>
                                        <th class="text-right">Importe</th>
                                        <th>Usuario</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <?php foreach ($pagos as $pago): ?>
                                        <tr>
                                            <td><?php echo date('d/m/Y', strtotime($pago->fecha_pago)); ?></td>
                                            <td><?php echo $pago->medio_pago; ?></td>
                                            <td><?php echo !empty($pago->cuenta_bancaria) ? $pago->cuenta_bancaria : '—'; ?></td>
                                            <td><?php echo !empty($pago->referencia) ? $pago->referencia : '—'; ?></td>
                                            <td class="text-right">
                                                <strong><?php echo $factura->moneda_abreviado . ' ' . number_format($pago->importe, 2); ?></strong>
                                            </td>
                                            <td><?php echo $pago->usuario_pago ?? '—'; ?></td>
                                        </tr>
                                    <?php endforeach; ?>
                                </tbody>
                            </table>
                        <?php endif; ?>
                    </div>
                </div>

                <!-- BOTONES -->
                <a href="<?php echo base_url('index.php/logistica/factura_servicio'); ?>" class="btn btn-default">
                    <i class="fa fa-arrow-left"></i> Volver
                </a>
                <?php if (tiene_permiso('factura_servicio_anular') && $factura->estado == 1 && $factura->saldo == $factura->total): ?>
                    <button class="btn btn-danger btn-anular"
                            data-id="<?php echo $factura->id; ?>"
                            data-nro="<?php echo $factura->serie.'-'.$factura->numero; ?>">
                        <i class="fa fa-times"></i> Anular
                    </button>
                <?php endif; ?>

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

<!-- MODAL PAGO -->
<div class="modal fade" id="modalPago" tabindex="-1" role="dialog">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header" style="background:#00a65a; color:#fff;">
                <button type="button" class="close" data-dismiss="modal" style="color:#fff;">&times;</button>
                <h4 class="modal-title"><i class="fa fa-money"></i> Registrar Pago</h4>
            </div>
            <div class="modal-body">
                <?php if (!empty($cuotas)): ?>
                <div class="form-group">
                    <label>Cuota (opcional)</label>
                    <select id="pago_cuota_id" class="form-control">
                        <option value="">Sin cuota específica</option>
                        <?php foreach ($cuotas as $cuota): ?>
                            <?php if ($cuota->estado == 0): ?>
                                <option value="<?php echo $cuota->id; ?>">
                                    Cuota <?php echo $cuota->nro_cuota; ?>
                                    — Vence: <?php echo date('d/m/Y', strtotime($cuota->fecha_vencimiento)); ?>
                                    — S/ <?php echo number_format($cuota->saldo, 2); ?>
                                </option>
                            <?php endif; ?>
                        <?php endforeach; ?>
                    </select>
                </div>
                <?php endif; ?>
                <div class="row">
                    <div class="col-md-6">
                        <div class="form-group">
                            <label>Fecha <span class="text-danger">*</span></label>
                            <input type="date" id="pago_fecha" class="form-control" value="<?php echo date('Y-m-d'); ?>">
                        </div>
                    </div>
                    <div class="col-md-6">
                        <div class="form-group">
                            <label>Importe <span class="text-danger">*</span></label>
                            <input type="number" id="pago_importe" class="form-control" step="0.01" min="0.01"
                                   value="<?php echo number_format($factura->saldo, 2, '.', ''); ?>">
                        </div>
                    </div>
                </div>
                <div class="form-group">
                    <label>Medio de pago <span class="text-danger">*</span></label>
                    <select id="pago_medio_pago_id" class="form-control">
                        <option value="">Seleccione</option>
                        <?php foreach ($medios_pago as $mp): ?>
                            <option value="<?php echo $mp->id; ?>"><?php echo $mp->nombre; ?></option>
                        <?php endforeach; ?>
                    </select>
                </div>
                <div class="form-group" id="bloqueCuenta" style="display:none;">
                    <label>Cuenta bancaria</label>
                    <select id="pago_banco_cuenta_id" class="form-control">
                        <option value="">Seleccione cuenta</option>
                        <?php foreach ($cuentas as $cuenta): ?>
                            <option value="<?php echo $cuenta->id; ?>">
                                <?php echo $cuenta->banco . ' — ' . $cuenta->descripcion . ' — ' . $cuenta->numero_cuenta; ?>
                                (<?php echo $cuenta->moneda; ?>)
                            </option>
                        <?php endforeach; ?>
                    </select>
                </div>
                <div class="form-group">
                    <label>N° Operación / Referencia</label>
                    <input type="text" id="pago_referencia" class="form-control" maxlength="60">
                </div>
                <div class="alert alert-info" style="padding:8px; margin-bottom:0;">
                    Saldo pendiente: <strong><?php echo $factura->moneda_abreviado . ' ' . number_format($factura->saldo, 2); ?></strong>
                </div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-success" id="btnConfirmarPago">
                    <i class="fa fa-check"></i> Confirmar pago
                </button>
                <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
            </div>
        </div>
    </div>
</div>

<script>
var URL_PAGO  = '<?php echo base_url("index.php/logistica/factura_servicio/registrar_pago"); ?>';
var CP_ID     = <?php echo $factura->id; ?>;

$(document).ready(function () {

    $('#btnNuevoPago').on('click', function () { $('#modalPago').modal('show'); });

    $('#pago_medio_pago_id').on('change', function () {
        var nombre = $(this).find('option:selected').text().toUpperCase();
        $('#bloqueCuenta').toggle(nombre.indexOf('EFECTIVO') === -1);
    });

    $('#btnConfirmarPago').on('click', function () {
        var fecha   = $('#pago_fecha').val();
        var importe = parseFloat($('#pago_importe').val() || 0);
        var medio   = $('#pago_medio_pago_id').val();

        if (!fecha || importe <= 0 || !medio) {
            Swal.fire('Validación', 'Fecha, importe y medio de pago son obligatorios.', 'warning');
            return;
        }

        $.ajax({
            url: URL_PAGO,
            type: 'POST',
            dataType: 'json',
            data: {
                cp_id:           CP_ID,
                cuota_id:        $('#pago_cuota_id').val() || '',
                fecha_pago:      fecha,
                medio_pago_id:   medio,
                banco_cuenta_id: $('#pago_banco_cuenta_id').val(),
                importe:         importe,
                referencia:      $('#pago_referencia').val(),
            },
            success: function (resp) {
                if (resp.status) {
                    $('#modalPago').modal('hide');
                    Swal.fire({ icon:'success', title:'Pago registrado', timer:1500, showConfirmButton:false })
                        .then(function() { location.reload(); });
                } else {
                    Swal.fire('Error', resp.message, 'error');
                }
            }
        });
    });

    $(document).on('click', '.btn-anular', function () {
        var id  = $(this).data('id');
        var nro = $(this).data('nro');
        Swal.fire({
            title: '¿Anular factura?',
            text: 'La factura ' + nro + ' será anulada.',
            icon: 'warning',
            showCancelButton: true,
            confirmButtonText: 'Sí, anular',
            cancelButtonText: 'Cancelar',
            confirmButtonColor: '#d33'
        }).then(function (result) {
            if (result.isConfirmed) {
                window.location.href = '<?php echo base_url("index.php/logistica/factura_servicio/anular/"); ?>' + id;
            }
        });
    });
});
</script>
