@extends('layouts.master') @section('title', 'Mesas') @section('content') @php /* * Resumen compatible con el controlador optimizado * y con el controlador anterior. */ $resumenActual = $resumen ?? [ 'pendiente' => (float) $evento->comandasMedio(7), 'efectivo' => (float) $evento->comandasMedio(1), 'tarjeta' => (float) $evento->comandasMedio(2), 'free' => (float) $evento->comandasMedio(4), 'transferencia' => (float) $evento->comandasMedio(5), 'qr' => (float) $evento->comandasMedio(6), 'total' => (float) ( $evento->comandasMedio(7) + $evento->comandasMedio(1) + $evento->comandasMedio(2) + $evento->comandasMedio(5) + $evento->comandasMedio(6) ), ]; @endphp

Mesas {{ $evento->nombre }}

@forelse($mesas as $mesa) @php /* * Si el controlador trae las comandas precargadas, * se utilizan esas colecciones. * * Si no existen, se usan los métodos anteriores * del modelo Mesa. */ if (isset($comandasPendientes)) { $pendientes = collect( $comandasPendientes->get( $mesa->id, collect() ) ); } else { $pendientes = collect( $mesa->comandas($evento->id) ); } if (isset($comandasCerradas)) { $cerradas = collect( $comandasCerradas->get( $mesa->id, collect() ) ); } else { $cerradas = collect( $mesa->comandasCerradasGrupos( $evento->id ) ); } $totalPendiente = (float) $pendientes->sum('total'); $cantidadPendiente = (int) $pendientes->sum('cantidad'); $tienePendientes = $pendientes->count() > 0; $tieneCerradas = $cerradas->count() > 0; $accionHash = Hashids::encode( $evento->id, $mesa->id, time() ); @endphp

{{ $mesa->nombre }} {{ $tienePendientes ? 'Pendiente' : 'Cerrada' }}

{{-- Imprimir --}} {{-- Cerrar --}}
{{-- Cierres anteriores --}}
@foreach($cerradas as $hashCierre => $grupoOriginal) @php $grupo = collect($grupoOriginal); $ultimaComanda = $grupo->last(); @endphp
@foreach($grupo as $comanda) @endforeach
Hora Por Producto Descuento Cantidad Subtotal
{{ optional( $comanda->created_at )->format('H:i') }} {{ optional( $comanda->user )->name }} {{ optional( $comanda->producto )->nombre }} @if($comanda->descuento) {{ $comanda->descuento * 100 }}% @endif {{ $comanda->cantidad }} ${{ number_format( $comanda->total, 0, ',', '.' ) }}
{{ $ultimaComanda ? optional( $ultimaComanda->updated_at )->format('H:i') : '' }} {{ $ultimaComanda ? optional( $ultimaComanda->medio )->nombre : '' }} {{ $grupo->sum('cantidad') }} ${{ number_format( $grupo->sum('total'), 0, ',', '.' ) }}
@if(!$loop->last)
@endif @endforeach
@if($tieneCerradas && $tienePendientes)
@endif {{-- Comandas pendientes --}}
@if($tienePendientes)
@foreach($pendientes as $comanda) @endforeach
Hora Por Producto Cantidad Subtotal Borrar
{{ optional( $comanda->created_at )->format('H:i') }} {{ optional( $comanda->user )->name }} {{ optional( $comanda->producto )->nombre }} {{ $comanda->cantidad }} ${{ number_format( $comanda->total, 0, ',', '.' ) }}
Total Pendiente de cierre {{ $cantidadPendiente }} ${{ number_format( $totalPendiente, 0, ',', '.' ) }}
@elseif(!$tieneCerradas)
Esta mesa no tiene comandas.
@endif
@empty
No existen mesas activas con comandas.
@endforelse
{{-- Barra --}} @if($comandasBarra->count())

Barra

@endif {{-- Resumen --}}

Resumen

@if(Auth::user()->hasRole('administrador'))
Pendiente Efectivo Débito / Crédito QR Transferencia Free Total
Monto ${{ number_format( $resumenActual['pendiente'], 0, ',', '.' ) }} ${{ number_format( $resumenActual['efectivo'], 0, ',', '.' ) }} ${{ number_format( $resumenActual['tarjeta'], 0, ',', '.' ) }} ${{ number_format( $resumenActual['qr'], 0, ',', '.' ) }} ${{ number_format( $resumenActual['transferencia'], 0, ',', '.' ) }} ${{ number_format( $resumenActual['free'], 0, ',', '.' ) }} ${{ number_format( $resumenActual['total'], 0, ',', '.' ) }}
@else
Pendiente Efectivo
Monto ${{ number_format( $resumenActual['pendiente'], 0, ',', '.' ) }} ${{ number_format( $resumenActual['efectivo'], 0, ',', '.' ) }}
@endif
{{-- Modal imprimir --}} {{-- Modal cerrar --}} @endsection