@foreach($recibos as $recibo) @php $facturaPrincipal = $recibo->facturas->first(); $conexion = $facturaPrincipal->conexion ?? null; $cliente = $conexion->cliente ?? null; $medidor = $conexion->medidor ?? null; $via = $conexion->via ?? null; $sector = $via->sector ?? null; /* =============================== CARGOS DEL PERIODO =============================== */ $cargosPeriodo = (float)($recibo->facturas->sum('monto_total') ?? 0); $estadoRec = strtoupper($recibo->estado ?? 'Pendiente'); $nombreMesActual = \Carbon\Carbon::create() ->month((int)$cronograma->mes) ->locale('es') ->translatedFormat('F'); /* =============================== DEUDA INICIAL =============================== */ $deudaInicial = 0; $fechaCorteDeudaInicial = null; if(isset($deudasIniciales[$conexion->id_conexion])) { $deudaInicial = (float) $deudasIniciales[$conexion->id_conexion]->monto_deuda; $fechaCorteDeudaInicial = $deudasIniciales[$conexion->id_conexion]->fecha_corte; } /* =============================== DEUDA ANTERIOR (FACTURAS) =============================== */ $deudaAnterior = 0; $rangoFechas = ''; if(isset($deudasAnteriores[$conexion->id_conexion]) && $deudasAnteriores[$conexion->id_conexion]->count() > 0){ $deudaAnterior = (float) $deudasAnteriores[$conexion->id_conexion] ->sum('monto_total'); $minMes = $deudasAnteriores[$conexion->id_conexion] ->min(fn($d) => optional($d->cronograma)->mes ?? 0); $maxMes = $deudasAnteriores[$conexion->id_conexion] ->max(fn($d) => optional($d->cronograma)->mes ?? 0); $anioDeuda = optional( $deudasAnteriores[$conexion->id_conexion]->first()->cronograma )->anio ?? $cronograma->anio; if(!$minMes || !$maxMes){ $minDate = $deudasAnteriores[$conexion->id_conexion]->min('fecha_vencimiento'); $maxDate = $deudasAnteriores[$conexion->id_conexion]->max('fecha_vencimiento'); $minMes = \Carbon\Carbon::parse($minDate)->month; $maxMes = \Carbon\Carbon::parse($maxDate)->month; $anioDeuda = \Carbon\Carbon::parse($minDate)->year; } $mesInicio = \Carbon\Carbon::create() ->month((int)$minMes) ->locale('es') ->translatedFormat('F'); $mesFin = \Carbon\Carbon::create() ->month((int)$maxMes) ->locale('es') ->translatedFormat('F'); $rangoFechas = ucfirst($mesInicio); if($minMes != $maxMes){ $rangoFechas .= ' - ' . ucfirst($mesFin); } $rangoFechas .= " $anioDeuda"; } /* =============================== TOTAL A PAGAR =============================== */ $totalPagar = $cargosPeriodo + $deudaInicial + $deudaAnterior; @endphp @php /* |---------------------------------------- | PERIODO A MOSTRAR EN EL RECIBO |---------------------------------------- | Siempre: mes anterior + mes del cronograma */ $mesActual = (int)$cronograma->mes; $anioActual = (int)$cronograma->anio; // Mes anterior $mesInicioPeriodo = $mesActual - 1; $anioInicioPeriodo = $anioActual; if ($mesInicioPeriodo <= 0) { $mesInicioPeriodo=12; $anioInicioPeriodo--; } $nombreMesInicio=\Carbon\Carbon::create() ->month((int)$mesInicioPeriodo) ->locale('es') ->translatedFormat('F'); $nombreMesFin = \Carbon\Carbon::create() ->month((int)$mesActual) ->locale('es') ->translatedFormat('F'); @endphp @php $fechaFin = \Carbon\Carbon::parse($fechaFinCobro); $fechaDiaAnterior = $fechaFin->copy()->subDay(); $diaAnterior = $fechaDiaAnterior->day; $diaFin = $fechaFin->day; $mesCobro = $fechaFin->locale('es')->translatedFormat('F'); @endphp

Junta de Administración de Servicios de Saneamiento (JASS) San Pedro

Plazoleta San Isidro s/n San Pedro - Canchis - Cusco
Comunidad Campesina San Pedro de K´acha
Periodo
@if($mesInicioPeriodo != $mesActual) {{ ucfirst($nombreMesInicio) }} – {{ ucfirst($nombreMesFin) }} {{ $cronograma->anio }} @else {{ ucfirst($nombreMesFin) }} {{ $cronograma->anio }} @endif
N° Recibo: {{ $recibo->numero_recibo }} N° de Registro: {{ $cliente->codigo_inscripcion ?? '—' }}

Información del suministro y cliente

Cliente: {{ $cliente->nombres_razon_social ?? 'N/A' }} Documento: {{ $cliente->documento_identidad ?? '—' }}
Dirección: {{ $via->nombre_via ?? '—' }}
Barrio: {{ $sector->nombre_sector ?? '—' }} Medidor: {{ $medidor->numero_serie ?? '—' }}
Categoria: {{ optional($conexion->categoriaTarifa)->nombre_categoria ?? '—' }}
Obs:
Total a pagar
S/. {{ number_format($totalPagar, 2) }}
Vencimiento: {{ \Carbon\Carbon::parse($fechaFinCobro)->format('d/m/Y') }}
Presentar este recibo al momento del pago
Días de cobro: {{ $diaAnterior }} y {{ $diaFin }} de {{ ucfirst($mesCobro) }}
Hora: 3:00 p.m. a 6:00 p.m.
Lugar: Local JASS plazoleta San Isidro
@foreach($recibo->facturas as $factura) @php $consumo = (float)($factura->consumo ?? 0); $monto = (float)($factura->monto_total ?? 0); $tarifa = $consumo > 0 ? $monto / $consumo : null; @endphp @endforeach
Concepto Lect. Ant. Lect. Act. Consumo (m³) Tarifa Monto
Agua Potable {{ number_format($factura->lectura_anterior ?? 0, 2) }} {{ number_format($factura->lectura_actual ?? 0, 2) }} {{ number_format($consumo, 2) }} {{ $tarifa !== null ? 'S/. '.number_format($tarifa, 2) : '—' }} S/. {{ number_format($monto, 2) }}
@php $historial = $historiales->get($recibo->facturas->first()->id_conexion) ?? collect(); $maxConsumo = max(1, $historial->max('consumo') ?? 1); @endphp @if($historial->count() > 0) @foreach($historial as $item) @php $altura = ($item->consumo / $maxConsumo) * 72; @endphp @endforeach @foreach($historial as $item) @endforeach @foreach($historial as $item) @endforeach
Historial de Consumo (m³)
{{ sprintf('%02d/%d', $item->periodo_mes, $item->periodo_anio) }}
{{ number_format($item->consumo, 0) }}
@endif
{{-- Cargos del período --}} {{-- Deuda inicial --}} @if($deudaInicial > 0) @endif {{-- Deuda anterior del sistema --}} @if($deudaAnterior > 0) @endif {{-- Total --}}
Resumen de importes
Cargos del período ({{ ucfirst($nombreMesActual) }} {{ $cronograma->anio }}): S/. {{ number_format($cargosPeriodo, 2) }}
Deuda inicial (hasta {{ \Carbon\Carbon::parse($fechaCorteDeudaInicial)->format('m/Y') }}): S/. {{ number_format($deudaInicial, 2) }}
Deuda anterior ({{ $rangoFechas }}): S/. {{ number_format($deudaAnterior, 2) }}
TOTAL A PAGAR: S/. {{ number_format($totalPagar, 2) }} Vence: {{ \Carbon\Carbon::parse($fechaFinCobro)->format('d/m/Y') }}
Cupón de pago
N° Recibo: {{ $recibo->numero_recibo }}
Cliente: {{ $cliente->nombres_razon_social ?? 'N/A' }}
Registro: {{ $cliente->codigo_inscripcion ?? '—' }}
Medidor: {{ $medidor->numero_serie ?? '—' }}
Periodo
@if($mesInicioPeriodo != $mesActual) {{ ucfirst($nombreMesInicio) }} – {{ ucfirst($nombreMesFin) }} {{ $cronograma->anio }} @else {{ ucfirst($nombreMesFin) }} {{ $cronograma->anio }} @endif

Vence:
{{ \Carbon\Carbon::parse($fechaFinCobro)->format('d/m/Y') }}

TOTAL
S/. {{ number_format($totalPagar,2) }}
Días de cobro: {{ $diaAnterior }} y {{ $diaFin }} de {{ ucfirst($mesCobro) }} | Lugar: Local JASS plazoleta San Isidro
{{-- Marca de agua --}} @if($conexion && $conexion->estado === 'Cortado')
SUSPENDIDO
@elseif($conexion && $conexion->estado === 'Suspendido')
SUSPENDIDO
@elseif($recibo->estado === 'Anulado')
ANULADO
@elseif($recibo->estado !== 'Completado')
PENDIENTE
@endif
@endforeach