@php $totalSucursales = collect($sucursales)->sum('total'); // Armamos los alias dinámicamente en base a $formasDePagos $metodosPagoUnicos = []; foreach ($formasDePagos as $metodo) { $alias = \Illuminate\Support\Str::slug($metodo->nombre, '_'); $metodosPagoUnicos[$metodo->nombre] = "pago_{$alias}"; } $totalesGeneralesPorMetodo = []; foreach ($metodosPagoUnicos as $campo) { $totalesGeneralesPorMetodo[$campo] = $dtePorSucursales->sum($campo); } @endphp
@foreach ($metodosPagoUnicos as $nombre => $campo) @endforeach @php // --- Totales de ventas (sin NC) $totalesVentasPorMetodo = []; foreach ($metodosPagoUnicos as $nombre => $campo) { $totalesVentasPorMetodo[$campo] = $dtePorSucursales ->reject(fn($d) => (int)$d->dte_tipo_id === 19) ->sum(fn($d) => (float) ($d->{$campo} ?? 0)); } // --- Totales de Notas de Crédito $totalesNotasCreditoPorMetodo = []; foreach ($metodosPagoUnicos as $nombre => $campo) { $totalesNotasCreditoPorMetodo[$campo] = $dtePorSucursales ->filter(fn($d) => (int)$d->dte_tipo_id === 19) ->sum(fn($d) => (float) ($d->{$campo} ?? 0)); } // --- Totales Generales = Ventas - NC $totalesGeneralesPorMetodo = []; foreach ($metodosPagoUnicos as $nombre => $campo) { $totalesGeneralesPorMetodo[$campo] = ($totalesVentasPorMetodo[$campo] ?? 0) - ($totalesNotasCreditoPorMetodo[$campo] ?? 0); } // --- Total General (suma de todos los métodos netos) $totalSucursales = array_sum($totalesGeneralesPorMetodo); @endphp {{-- FILA TOTAL --}} @foreach ($metodosPagoUnicos as $nombre => $campo) @endforeach {{-- SUCURSALES + DETALLES --}} @if (count($sucursales) > 0) @foreach ($sucursales as $sucursal) @php // DTEs de la sucursal $dtesSucursal = $dtePorSucursales->where('sucursal_id', $sucursal->sucursal_id); // --- Ventas de la sucursal (sin NC) $totalesVentasPorMetodoSucursal = []; foreach ($metodosPagoUnicos as $nombre => $campo) { $totalesVentasPorMetodoSucursal[$campo] = $dtesSucursal ->reject(fn($d) => (int)$d->dte_tipo_id === 19) ->sum(fn($d) => (float) ($d->{$campo} ?? 0)); } // --- Notas de Crédito de la sucursal $totalesNcPorMetodoSucursal = []; foreach ($metodosPagoUnicos as $nombre => $campo) { $totalesNcPorMetodoSucursal[$campo] = $dtesSucursal ->filter(fn($d) => (int)$d->dte_tipo_id === 19) ->sum(fn($d) => (float) ($d->{$campo} ?? 0)); } // --- Totales netos por método = Ventas - NC $totalesNetosPorMetodoSucursal = []; foreach ($metodosPagoUnicos as $nombre => $campo) { $totalesNetosPorMetodoSucursal[$campo] = ($totalesVentasPorMetodoSucursal[$campo] ?? 0) - ($totalesNcPorMetodoSucursal[$campo] ?? 0); } // --- Total neto de la sucursal $sucursalTotal = array_sum($totalesNetosPorMetodoSucursal); @endphp {{-- SUBTOTAL POR SUCURSAL (neto) --}} @foreach ($metodosPagoUnicos as $nombre => $campo) @endforeach {{-- DETALLES DE CADA DTE --}} @foreach ($dtesSucursal as $dtePorSucursal) @php $esNotaCredito = (int)$dtePorSucursal->dte_tipo_id === 19; $totalDesdeMetodos = 0; @endphp @foreach ($metodosPagoUnicos as $nombre => $campo) @php $monto = (float) ($dtePorSucursal->{$campo} ?? 0); $totalDesdeMetodos += $monto; @endphp @endforeach @endforeach @endforeach @endif
Sucursal / Folio{{ strtoupper($nombre) }}Total
{{ $sucursal->sucursal_nombre }} / DTE N° {{ $dtePorSucursal->folio }} {{ ($esNotaCredito && $monto > 0) ? '-' : '' }}${{ \FCR::num_cl_decimal($monto) }} {{ ($esNotaCredito && $totalDesdeMetodos > 0) ? '-' : '' }}${{ \FCR::num_cl_decimal($totalDesdeMetodos) }}