@foreach($datosReporte as $codeC => $grupo) @php $cuentaInfo = $grupo['cuenta']; $saldoAnterior = $grupo['saldoAnterior']; $movimientos = $grupo['movimientos']; $clase = substr($codeC, 0, 1); $esDebito = in_array($clase, ['1', '5', '6', '7', '8']); $Saldo = $saldoAnterior; $saldoAntMostrar = $esDebito ? $saldoAnterior : ($saldoAnterior * -1); $totalDebe = 0; $totalHaber = 0; @endphp {{-- Cabecera Jerárquica de la Cuenta --}} @php $claseCode = substr($codeC, 0, 1); $grupoCode = substr($codeC, 0, 2); $cuentaCode = substr($codeC, 0, 4); $subcuentaCode = strlen($codeC) >= 6 ? substr($codeC, 0, 6) : null; $claseParent = isset($infoCuentasPadre) ? $infoCuentasPadre->get($claseCode) : null; $grupoParent = isset($infoCuentasPadre) ? $infoCuentasPadre->get($grupoCode) : null; $cuentaParent = isset($infoCuentasPadre) ? $infoCuentasPadre->get($cuentaCode) : null; $subcuentaParent = ($subcuentaCode && isset($infoCuentasPadre)) ? $infoCuentasPadre->get($subcuentaCode) : null; // Calcular padding-left para la cuenta activa $activePadding = '0px'; if (strlen($codeC) == 2) { $activePadding = '10px'; } elseif (strlen($codeC) == 4) { $activePadding = '20px'; } elseif (strlen($codeC) == 6) { $activePadding = '30px'; } elseif (strlen($codeC) >= 8) { $activePadding = '40px'; } @endphp @if(isset($incluirSaldos) && $incluirSaldos == '1') @else @endif {{-- Listado de Movimientos --}} @foreach($movimientos as $m) @php $totalDebe += $m->egreso; $totalHaber += $m->ingreso; $Saldo = $Saldo + $m->egreso - $m->ingreso; $saldoMostrar = $esDebito ? $Saldo : ($Saldo * -1); // Determinar clase de badge de documento $tipoDctoLower = strtolower($m->tipoMovimiento); $badgeClass = 'badge-doc-default'; if (str_contains($tipoDctoLower, 'factura') || str_contains($tipoDctoLower, 'fvec')) { $badgeClass = 'badge-doc-factura'; } elseif (str_contains($tipoDctoLower, 'compra')) { $badgeClass = 'badge-doc-compra'; } elseif (str_contains($tipoDctoLower, 'notac') || str_contains($tipoDctoLower, 'nomina')) { $badgeClass = 'badge-doc-notac'; } elseif (str_contains($tipoDctoLower, 'abono')) { $badgeClass = 'badge-doc-abonos'; } elseif (str_contains($tipoDctoLower, 'pago')) { $badgeClass = 'badge-doc-pagos'; } @endphp @endforeach {{-- Totales del Periodo --}} @php $netoPeriodo = $totalDebe - $totalHaber; $netoPeriodoMostrar = $esDebito ? $netoPeriodo : ($netoPeriodo * -1); $saldoFinalMostrar = $esDebito ? $Saldo : ($Saldo * -1); @endphp @endforeach
FECHA COMPROB. TIPO DCTO TERCERO / DETALLE DE TRANSACCIÓN DEBE HABER SALDO
@if($claseParent && $claseCode != $codeC)
Clase {{ $claseCode }} — {{ $claseParent->NombreCuenta }}
@endif @if($grupoParent && $grupoCode != $codeC)
Grupo {{ $grupoCode }} — {{ $grupoParent->NombreCuenta }}
@endif @if($cuentaParent && $cuentaCode != $codeC)
Cuenta {{ $cuentaCode }} — {{ $cuentaParent->NombreCuenta }}
@endif @if($subcuentaParent && $subcuentaCode != $codeC)
Subcuenta {{ substr($subcuentaCode, 0, 4) }}.{{ substr($subcuentaCode, 4) }} — {{ $subcuentaParent->NombreCuenta }}
@endif
SALDO ANTERIOR: {{ number_format(abs($saldoAntMostrar), 2) }} @php $indAnt = $saldoAntMostrar >= 0 ? ($esDebito ? 'D' : 'C') : ($esDebito ? 'C' : 'D'); @endphp {{ $indAnt }} @if($claseParent && $claseCode != $codeC)
Clase {{ $claseCode }} — {{ $claseParent->NombreCuenta }}
@endif @if($grupoParent && $grupoCode != $codeC)
Grupo {{ $grupoCode }} — {{ $grupoParent->NombreCuenta }}
@endif @if($cuentaParent && $cuentaCode != $codeC)
Cuenta {{ $cuentaCode }} — {{ $cuentaParent->NombreCuenta }}
@endif @if($subcuentaParent && $subcuentaCode != $codeC)
Subcuenta {{ substr($subcuentaCode, 0, 4) }}.{{ substr($subcuentaCode, 4) }} — {{ $subcuentaParent->NombreCuenta }}
@endif
{{ date('d/m/Y', strtotime($m->fechaM)) }} {{ $m->numeroMoimiento }} {{ $m->tipoMovimiento }}
{{ $m->Nombre ? ($m->Nombre . ' ' . $m->apellido) : 'S/T (Sin Tercero)' }} ({{ $m->nit }})
{{ $m->observacion }}
@if(!empty($m->id)) @endif
{{ $m->egreso > 0 ? number_format($m->egreso, 2) : '0.00' }} {{ $m->ingreso > 0 ? number_format($m->ingreso, 2) : '0.00' }} {{ number_format(abs($saldoMostrar), 2) }} @php $indMov = $saldoMostrar >= 0 ? ($esDebito ? 'D' : 'C') : ($esDebito ? 'C' : 'D'); @endphp {{ $indMov }}
TOTAL MES: {{ number_format($totalDebe, 2) }} {{ number_format($totalHaber, 2) }} {{ number_format(abs($saldoFinalMostrar), 2) }} @php $indMes = $saldoFinalMostrar >= 0 ? ($esDebito ? 'D' : 'C') : ($esDebito ? 'C' : 'D'); @endphp {{ $indMes }}
NUEVO SALDO: {{ number_format(abs($saldoFinalMostrar), 2) }} @php $indNue = $saldoFinalMostrar >= 0 ? ($esDebito ? 'D' : 'C') : ($esDebito ? 'C' : 'D'); @endphp {{ $indNue }}
TOTALES: {{ number_format($totalDebe, 2) }} {{ number_format($totalHaber, 2) }} {{ number_format(abs($netoPeriodoMostrar), 2) }} @php $indTot = $netoPeriodoMostrar >= 0 ? ($esDebito ? 'D' : 'C') : ($esDebito ? 'C' : 'D'); @endphp {{ $indTot }}