@extends('layouts.app') @section('title', 'Caja | Veltrix v2') @section('topbar_actions') @if ($current) @endif @endsection @section('content') @if (session('status'))
{{ session('status') }}
@endif @if (session('error'))
{{ session('error') }}
@endif @if ($errors->any())
No se pudo completar la acción en caja:
@endif
Caja actual

{{ $current ? 'Abierta' : 'Sin apertura' }}

@if ($current) Desde {{ optional($current->fecha_apertura)->format('Y-m-d H:i') ?: $current->fecha_apertura }} @else Abre caja para operar @endif
Efectivo esperado

{{ number_format((float) $currentExpected, 2) }}

Ventas del turno

{{ number_format((float) ($currentSales['ventas_total'] ?? 0), 2) }}

{{ (int) ($currentSales['ventas_count'] ?? 0) }} ventas
Ajustes (sin ventas POS) @php $neto = (float) ($currentAdjustments['neto_ajustes'] ?? 0); @endphp

{{ number_format($neto, 2) }}

Ing: {{ number_format((float) ($currentAdjustments['total_ingresos'] ?? 0), 2) }} | Egr: {{ number_format((float) ($currentAdjustments['total_egresos'] ?? 0), 2) }}

Apertura actual

@if ($current)
Caja: {{ $current->caja?->nombre ?? 'General' }}
Sucursal: {{ $current->caja?->sucursal?->nombre ?? 'Sin sucursal' }}
Monto apertura: {{ number_format((float) $current->monto_apertura, 2) }}
Estado: {{ $current->estado }}
@else
No tienes caja abierta en este momento.
@csrf
@endif
@if ($current)

Traspasos pendientes

Pendientes entrantes: {{ $pendingIncomingTransfers->count() }}
Pendientes salientes: {{ $pendingOutgoingTransfers->count() }}
@if ($pendingIncomingTransfers->isNotEmpty())
Pendientes por aprobar
@foreach ($pendingIncomingTransfers as $pending)
#{{ $pending->id }} · {{ number_format((float) $pending->monto, 2) }}
{{ $pending->concepto }}
Origen: {{ $pending->usuarioOrigen?->nombre ?? 'N/A' }}
@csrf
@csrf
@endforeach
@endif @if ($pendingOutgoingTransfers->isNotEmpty())
Pendientes enviados
@foreach ($pendingOutgoingTransfers as $pending)
#{{ $pending->id }} · {{ number_format((float) $pending->monto, 2) }}
{{ $pending->concepto }}
Destino: {{ $pending->usuarioDestino?->nombre ?? 'N/A' }}
@endforeach
@endif
@endif

Cajas configuradas

    @forelse ($cashBoxes as $box)
  • {{ $box->nombre }} {{ $box->sucursal?->nombre ?? 'General' }}
  • @empty
  • No hay cajas configuradas.
  • @endforelse
Cierres

{{ (int) ($historySummary['total_cierres'] ?? 0) }}

Esperado

{{ number_format((float) ($historySummary['total_esperado'] ?? 0), 2) }}

Contado

{{ number_format((float) ($historySummary['total_contado'] ?? 0), 2) }}

Movimientos del turno actual

@forelse ($currentMovements as $movement) @empty @endforelse
Fecha Tipo Concepto Monto
{{ optional($movement->created_at)->format('Y-m-d H:i') ?: $movement->created_at }} {{ $movement->tipo }} {{ $movement->concepto ?: 'N/A' }} {{ number_format((float) $movement->monto, 2) }}
Sin movimientos en el turno actual.

Historial de cierres

@forelse ($history as $item) @php $difference = (float) ($item->diferencia ?? 0); $diffClass = $difference > 0.009 ? 'text-bg-success' : ($difference < -0.009 ? 'text-bg-danger' : 'text-bg-secondary'); @endphp @empty @endforelse
Fecha cierre Cajero Sucursal Caja Esperado Contado Diferencia
{{ $item->fecha_cierre }} {{ $item->cajero ?? 'N/A' }} {{ $item->sucursal ?? 'Sin sucursal' }} {{ $item->caja ?? 'General' }} {{ number_format((float) $item->monto_esperado, 2) }} {{ number_format((float) $item->monto_real, 2) }} {{ number_format($difference, 2) }}
No hay cierres registrados.
@if (! $canViewAllClosings) Viendo solo cierres de tu usuario. @endif
@if ($current) @endif @endsection