@extends('fragments.fullTemplate') @section('titulo') Pagos programados bancos maqueta @endsection @section('estilos') @include('Bancos.Maqueta.partials._styles') @endsection @section('contenido') @php $activePage = 'programados'; $highlight = request()->get('highlight'); $money = function ($amount, $currency = 'MXN') { return ($currency === 'USD' ? 'US$' : '$') . number_format($amount, 2, '.', ','); }; $formatDate = function ($date) { return $date ? date('d/m/Y H:i:s', strtotime($date)) : '-'; }; $programStatusClass = function ($status) { if ($status === 'Activa') { return 'status-ok'; } if ($status === 'Pausada') { return 'status-warn'; } if ($status === 'Finalizada') { return 'status-blue'; } return 'status-danger'; }; $movementStatusClass = function ($status) { if (in_array($status, ['Aplicado', 'Generado'])) { return 'status-ok'; } if (in_array($status, ['Programado', 'Pendiente de autorizacion'])) { return 'status-warn'; } if ($status === 'Cancelado') { return 'status-danger'; } return 'status-muted'; }; $programacionesConAlerta = $pagosProgramados->filter(function ($programado) { return in_array($programado['cuenta_estatus'], ['Bloqueada', 'Inactiva']); })->count(); @endphp
@include('Bancos.Maqueta.partials._toolbar') @include('Bancos.Maqueta.partials._notificaciones')

Movimientos programados

Simulacion para pagos fijos, variables y recurrentes sin jobs, cron ni persistencia real.
Los pagos fijos preautorizados conservan flujo automático visual; los variables permiten ajuste antes de generar movimiento final.
Activas
{{ $pagosProgramados->where('estatus', 'Activa')->count() }}
Generan según calendario si la cuenta lo permite.
Variables
{{ $pagosProgramados->where('tipo_pago', 'Variable')->count() }}
Permiten ajustar importe antes de aplicar.
Preautorizadas
{{ $pagosProgramados->where('preautorizado', 'Si')->count() }}
Con autorización inicial gerente.
Con alerta
{{ $programacionesConAlerta }}
Cuentas que no deben generar movimientos.
Reglas visuales: una programacion Pausada no genera movimientos; una Finalizada conserva historial; una cuenta Bloqueada o Inactiva muestra alerta; si cambia el monto fijo se solicita nueva autorizacion.
@foreach($pagosProgramados as $programado) @php $rowId = 'programado-' . $programado['folio']; $cuentaStatusClass = $programado['cuenta_estatus'] === 'Bloqueada' ? 'status-bloqueada' : ($programado['cuenta_estatus'] === 'Inactiva' ? 'status-danger' : 'status-ok'); @endphp @endforeach
Nombre de programación Tipo de pago Tipo de movimiento Cuenta Entidad relacionada Concepto Monto base Periodicidad Fecha inicio Fecha término Próxima ejecución Pagos generados Pagos restantes Estatus Preautorizado Acciones
{{ $programado['nombre'] }}
{{ $programado['folio'] }}
{{ $programado['tipo_pago'] }} {{ $programado['tipo_movimiento'] }} {{ $programado['cuenta'] }}
{{ $programado['cuenta_estatus'] }} @if(in_array($programado['cuenta_estatus'], ['Bloqueada', 'Inactiva']))
No genera movimientos.
@endif
{{ $programado['entidad'] }} {{ $programado['concepto'] }} {{ $money($programado['monto_base'], $programado['moneda']) }} {{ $programado['periodicidad'] }} {{ $formatDate($programado['fecha_inicio']) }} {{ $formatDate($programado['fecha_termino']) }} {{ $formatDate($programado['proxima_ejecucion']) }} {{ $programado['pagos_generados'] }} {{ $programado['pagos_restantes'] }} {{ $programado['estatus'] }} @if($programado['preautorizado'] === 'Si') Preautorizado @else Requiere revisión @endif
Max: {{ $money($programado['monto_maximo'], $programado['moneda']) }}
@if($programado['estatus'] === 'Pausada') @else @endif

Movimientos generados por programación

@foreach($movimientosProgramados as $movimientoProgramado) @endforeach
Folio de programación Nombre de programación Número de pago generado Fecha programada Movimiento bancario Estatus
{{ $movimientoProgramado['programacion_folio'] }} {{ $movimientoProgramado['nombre'] }} {{ $movimientoProgramado['numero_pago'] }} {{ $formatDate($movimientoProgramado['fecha_programada']) }} {{ $movimientoProgramado['movimiento'] }} {{ $movimientoProgramado['estatus'] }}
@include('Bancos.Maqueta.partials._modal_pago_programado') @include('Bancos.Maqueta.partials._modal_codigo_seguridad') @include('Bancos.Maqueta.partials._security_gate')
@endsection