@php use Illuminate\Support\Str; $orden = $variables->orden ?? 'empresa'; @endphp @if($orden === 'cobrador') @endif @if($orden !== 'cobrador') @endif @if(isset($variables->is_excel)) @endif @php $previousGroupId = null; $previousEmpresaId = null; $previousPerson = null; $previousCobrador = null; $sumPendiente = 0; $sumPendienteCobrador = 0; @endphp @foreach($variables->registros as $llave => $receipt) @php // Determinar el ID de agrupación según el orden switch ($orden) { case 'cobrador': $currentGroupId = optional($receipt->cobrador)->id ?? 'sin_cobrador'; break; case 'empresa': default: $currentGroupId = $receipt->person_relationated->id; break; case 'f_vencimiento': case 'f_emision': case 'monto': $currentGroupId = null; // Sin agrupación break; } $currentEmpresaId = $receipt->person_relationated->id; @endphp @if($orden === 'cobrador') {{-- Subtotal por empresa dentro del cobrador --}} @if($previousEmpresaId !== null && $previousEmpresaId !== $currentEmpresaId) @include('tesoreria.cuentas_por_cobrar_pagar.pdf.pdf-body-subtotales', [ 'orden' => 'empresa_dentro_cobrador' ]) @php $sumPendiente = 0; @endphp @endif {{-- Total del cobrador cuando cambia --}} @if($previousGroupId !== null && $previousGroupId !== $currentGroupId) @include('tesoreria.cuentas_por_cobrar_pagar.pdf.pdf-body-subtotales', [ 'orden' => $orden, 'sumPendiente' => $sumPendienteCobrador ]) @php $sumPendienteCobrador = 0; @endphp @endif @elseif($currentGroupId !== null && $previousGroupId !== null && $previousGroupId !== $currentGroupId) @include('tesoreria.cuentas_por_cobrar_pagar.pdf.pdf-body-subtotales', [ 'orden' => $orden ]) @php $sumPendiente = 0; @endphp @endif @if($orden === 'cobrador') @endif @if($orden !== 'cobrador') @endif @if(isset($variables->is_excel)) @endif @if(isset($variables->is_excel)) @else @endif @php $sumPendiente += $receipt->pendiente; $sumPendienteCobrador += $receipt->pendiente; $previousGroupId = $currentGroupId; $previousEmpresaId = $currentEmpresaId; $previousPerson = $receipt->person_relationated; $previousCobrador = optional($receipt->cobrador)->descripcion; @endphp @endforeach @if($orden === 'cobrador' && $previousGroupId !== null) {{-- Subtotal última empresa del último cobrador --}} @include('tesoreria.cuentas_por_cobrar_pagar.pdf.pdf-body-subtotales', [ 'orden' => 'empresa_dentro_cobrador' ]) {{-- Total del último cobrador --}} @include('tesoreria.cuentas_por_cobrar_pagar.pdf.pdf-body-subtotales', [ 'orden' => $orden, 'sumPendiente' => $sumPendienteCobrador ]) @elseif($previousGroupId !== null) @include('tesoreria.cuentas_por_cobrar_pagar.pdf.pdf-body-subtotales', [ 'orden' => $orden ]) @endif
CobradorEmpresa Estado F. Emision F Vto ComprobantesCobradorObs MonedaMonto Pendiente Total
{{ isset($variables->is_excel) ? (optional($receipt->cobrador)->descripcion ?? 'Sin cobrador') : Str::limit(optional($receipt->cobrador)->descripcion ?? 'Sin cobrador', 20, '...') }}{{ isset($variables->is_excel) ? $receipt->person_relationated->field_name1 : htmlspecialchars(Str::limit($receipt->person_relationated->field_name1, 20, '...')) }} {{ $receipt->estado }} {{ date("d/m/Y", strtotime($receipt->receipt_date)) }} {!! $receipt->expiration_date ? date("d/m/Y", strtotime($receipt->expiration_date)) : ' ' !!} {{ $receipt->type_receipt ? (isset($variables->is_excel) ? $receipt->type_receipt->name : Str::limit($receipt->type_receipt->name, 15, '...')) . " " . str_pad($receipt->code_ticket, 5, '0', STR_PAD_LEFT) . "-" . str_pad($receipt->number, 8, '0', STR_PAD_LEFT) : "PAGO A CUENTA" }} {{ isset($variables->is_excel) ? optional($receipt->cobrador)->descripcion : Str::limit(optional($receipt->cobrador)->descripcion ?? '', 20, '...') }}{{ $receipt->comentario }} {{ optional($receipt->moneda)->simbolo }}{{ $receipt->amount }} {{ $receipt->pendiente }} {!! optional($receipt->moneda)->simbolo !!} {{ number_format($receipt->amount, 2, '.', ',') }} {!! optional($receipt->moneda)->simbolo !!} {{ number_format($receipt->pendiente, 2, '.', ',') }}