@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
Sucursal / Folio |
@foreach ($metodosPagoUnicos as $nombre => $campo)
{{ strtoupper($nombre) }} |
@endforeach
Total |
@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 --}}
Total
|
@foreach ($metodosPagoUnicos as $nombre => $campo)
${{ \FCR::num_cl_decimal($totalesGeneralesPorMetodo[$campo] ?? 0) }}
|
@endforeach
${{ \FCR::num_cl_decimal($totalSucursales) }}
|
{{-- 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) --}}
{{ $sucursal->sucursal_nombre }} |
@foreach ($metodosPagoUnicos as $nombre => $campo)
${{ \FCR::num_cl_decimal($totalesNetosPorMetodoSucursal[$campo] ?? 0) }}
|
@endforeach
${{ \FCR::num_cl_decimal($sucursalTotal) }}
|
{{-- DETALLES DE CADA DTE --}}
@foreach ($dtesSucursal as $dtePorSucursal)
@php
$esNotaCredito = (int)$dtePorSucursal->dte_tipo_id === 19;
$totalDesdeMetodos = 0;
@endphp
{{ $sucursal->sucursal_nombre }} / DTE N° {{ $dtePorSucursal->folio }}
|
@foreach ($metodosPagoUnicos as $nombre => $campo)
@php
$monto = (float) ($dtePorSucursal->{$campo} ?? 0);
$totalDesdeMetodos += $monto;
@endphp
{{ ($esNotaCredito && $monto > 0) ? '-' : '' }}${{ \FCR::num_cl_decimal($monto) }}
|
@endforeach
{{ ($esNotaCredito && $totalDesdeMetodos > 0) ? '-' : '' }}${{ \FCR::num_cl_decimal($totalDesdeMetodos) }}
|
@endforeach
@endforeach
@endif