{{-- HEADER --}} {{-- STATUS --}} @if($resumen['todos_alimentados']) @else @endif {{-- KPIs --}} {{-- DETALLE POR CORRAL --}} @if(count($resumen['corrales']) > 0) @endif {{-- CORRALES FALTANTES --}} @if(count($resumen['corrales_faltantes']) > 0) @endif {{-- ALERTAS --}} @if(count($resumen['alertas']) > 0) @endif {{-- FOOTER --}}

Sistema de Gestion Ganadera

Rancho La Fortuna

Resumen Diario  ·  {{ $resumen['fecha_formateada'] }}

✓   Todos los corrales alimentados   {{ $resumen['total_corrales_alimentados'] }}/{{ $resumen['total_corrales_con_animales'] }}
⚠   Faltan {{ $resumen['total_corrales_faltantes'] }} corrales por alimentar   ({{ $resumen['total_corrales_alimentados'] }}/{{ $resumen['total_corrales_con_animales'] }})

Resumen del Dia

{{-- KPIs: Animales + Ofrecido/Animal + Consumido/Animal --}} {{-- Total Animales --}} @foreach($resumen['resumen_por_unidad'] as $rpu) {{-- Ofrecido por animal --}} {{-- Consumido por animal: solo para kg --}} @if($rpu['unidad'] !== 'L') @endif @endforeach
Total Animales
{{ $resumen['total_animales'] }}
Ofrecido / Animal
@if(isset($rpu['ofrecido_por_animal']) && $rpu['ofrecido_por_animal'] !== null)
{{ number_format($rpu['ofrecido_por_animal'], 2) }}
@else
@endif
{{ $rpu['unidad'] }}
Consumido / Animal *
@if($rpu['consumo_por_animal'] !== null)
{{ number_format($rpu['consumo_por_animal'], 2) }}
@else
@endif
{{ $rpu['unidad'] }}
{{-- Leyenda de calculo --}}

Como se calcula el consumo:

El sobrante (rechazo) se pesa al inicio del dia de hoy. Por eso:

Consumido * = Ofrecido ayer − Sobrante pesado hoy

El dato de consumido que se muestra hoy corresponde a lo que los animales consumieron ayer. Los dias sin bitacora previa muestran (—) ya que no hay referencia anterior.

{{-- Desglose por alimento (izq) + Resumen por sección (der) --}} {{-- Izquierda: tabla de alimentos --}} {{-- Derecha: resumen por sección --}} @if(isset($resumen['resumen_secciones']) && count($resumen['resumen_secciones']) > 0) @endif
@if(!empty($resumen['totales_por_producto']))

Alimento ofrecido

@foreach($resumen['totales_por_producto'] as $i => $prod) @php $bg = ($i % 2 === 0) ? '#ffffff' : '#f1f8e9'; @endphp @endforeach
Alimento Cantidad
{{ $prod['nombre'] }} @if(isset($prod['tiene_ofrecido']) && $prod['tiene_ofrecido']) {{ number_format($prod['ofrecido'], 1) }} {{ $prod['unidad'] }} @else @endif
@endif

Por area

@foreach($resumen['resumen_secciones'] as $i => $sec) @php $bg = ($i % 2 === 0) ? '#ffffff' : '#f5f5f5'; @endphp @endforeach
Seccion Animales Ofrecido Rechazo
{{ $sec['nombre'] }} {{ $sec['animales'] }} @foreach($sec['totales_por_unidad'] as $tu) {{ number_format($tu['ofrecido'], 1) }} {{ $tu['unidad'] }} @if(!$loop->last)
@endif @endforeach
@if($sec['rechazo'] === null) @else @php $colorRec = ($sec['rechazo'] == 0 || $sec['rechazo'] > $resumen['rechazo_maximo']) ? '#c62828' : ($sec['rechazo'] > $resumen['rechazo_minimo'] ? '#2e7d32' : '#a07800'); @endphp @foreach($sec['totales_por_unidad'] as $tu) @if($tu['residual'] > 0){{ number_format($tu['residual'], 1) }}{{ $tu['unidad'] }} @endif @endforeach/ {{ $sec['rechazo'] }}% @endif

Por corral

Detalle de Alimentacion

@foreach($resumen['corrales'] as $i => $corral) @php $bg = $corral['sin_alimentacion'] ? '#fff8e1' : ($i % 2 === 0 ? '#ffffff' : '#f5f5f5'); @endphp @if($corral['sin_alimentacion']) @else @endif @if(!$corral['sin_alimentacion'] && count($corral['productos']) > 1) @php $subBg = ($i % 2 === 0) ? '#fafafa' : '#eeeeee'; @endphp @endif @endforeach
Corral Animales Ofrecido Consumido Rechazo Rechazo (%)
{{ $corral['corral_nombre'] }} @if($corral['estado'] === 'sin_alimentacion')
⚠ Sin alimentacion @elseif($corral['estado'] === 'sin_rechazo_hoy')
⚠ {{ $corral['mensaje'] }} @endif
{{ $corral['animales'] }}Sin registro @foreach($corral['totales_por_unidad'] as $tu) {{ number_format($tu['ofrecido'], 1) }} {{ $tu['unidad'] }} @if(!$loop->last)
@endif @endforeach
@foreach($corral['totales_por_unidad'] as $tu) @continue($tu['unidad'] === 'L') @if($tu['consumido'] !== null) {{ number_format($tu['consumido'], 1) }} {{ $tu['unidad'] }} @else @endif @if(!$loop->last)
@endif @endforeach
@foreach($corral['totales_por_unidad'] as $tu) @if($tu['residual'] !== null) {{ number_format($tu['residual'], 1) }} {{ $tu['unidad'] }} @else @endif @if(!$loop->last)
@endif @endforeach
@if($corral['rechazo'] === null) @elseif($corral['rechazo'] == 0 || $corral['rechazo'] > $resumen['rechazo_maximo']) {{ $corral['rechazo'] }}% @elseif($corral['rechazo'] > $resumen['rechazo_minimo']) {{ $corral['rechazo'] }}% @else {{ $corral['rechazo'] }}% @endif
@foreach($corral['productos'] as $prod) {{ $prod['nombre'] }}: {{ number_format($prod['ofrecido'], 1) }} ofr @if($prod['consumido'] !== null && $prod['unidad'] !== 'L') / {{ number_format($prod['consumido'], 1) }} cons @endif @if($prod['rechazo_pct'] !== null) / {{ number_format($prod['residual'], 1) }}{{ $prod['unidad'] }} / {{ $prod['rechazo_pct'] }}% rec. @endif @if(!$loop->last)  ·  @endif @endforeach

Requieren atencion

Corrales Sin Registro

@foreach($resumen['corrales_faltantes'] as $faltante)
{{ $faltante['nombre'] }} ({{ $faltante['codigo'] }})  —  {{ $faltante['mensaje'] }} ({{ $faltante['animales'] }} animales en el corral) @if($faltante['tiene_rechazo_huerfano'])
⚠ Se registro rechazo hoy sin bitacora de respaldo: @foreach($faltante['residual_huerfano'] as $unidad => $cantidad) {{ number_format($cantidad, 1) }} {{ $unidad }}@if(!$loop->last), @endif @endforeach @endif
@endforeach

Notificaciones

Alertas de Rechazo Alto

@foreach($resumen['alertas'] as $alerta)
⚠ Alto rechazo: {{ $alerta['mensaje'] }}
@endforeach
Rancho La Fortuna  ·  Sistema de Gestion Ganadera  ·  Generado el {{ now()->format('d/m/Y H:i') }}