Producción diaria · negro = registrado · gris = estimado · ✂️ = corte · dashed = proyectado
| Telar / Info | @foreach($planDays as $day) @php $ds = $day->toDateString(); $isToday = $ds === now()->toDateString(); $isFuture = $ds > now()->toDateString(); @endphp
{{ $day->format('d') }}
{{ $day->isoFormat('ddd') }}
@if($isToday) HOY@endif
|
@endforeach
|---|---|
|
{{-- Block 1: Identity & Avg --}}
{{-- Actions Column --}}
{{-- Line 1: Loom + Status + Mts/Day --}}
{{-- Block 2: Stats Grid --}}
@if($asgn)
{{ $loom->id }}
@php
$dotColor = $loom->running_state === 'RUNNING' ? 'bg-emerald-500' : ($loom->running_state === 'STOPPED' ? 'bg-red-500' : 'bg-slate-400');
if($loom->estado === 'UNASSIGNED') $dotColor = 'bg-slate-300';
@endphp
@if($hasInc)
@endif
@if($asgn)
~{{ number_format($row['avg_mts_day'], 0) }}m/d
@endif
{{ $asgn->articulo_id }}
@else
✂️ {{ $row['article_cut_mts'] ? number_format($row['article_cut_mts'], 0) : '~'.$row['avg_mts_roll'] }}m
{{ $loom->marca }} · {{ $loom->tipo }}
@endif
Orig:{{ number_format($beamO, 0) }}
Tej:{{ number_format($beamO - $beamR, 0) }}
Rest:{{ number_format($beamR, 0) }}
{{ $beamPct }}%
@if($asgn)
@if($hasInc)
@else
@endif
@else
@endif
|
{{-- Day cells --}}
@foreach($planDays as $day)
@php
$ds = $day->toDateString();
$cell = $row['days'][$ds] ?? null;
$rec = $cell['recorded_mts'] ?? null;
$est = $cell['estimated_mts'] ?? null;
$cuts = $cell['cuts'] ?? collect();
$expCuts = $cell['expected_cuts'] ?? [];
$isTdy = $cell['is_today'] ?? false;
$isFut = $cell['is_future'] ?? false;
@endphp
@if($rec !== null)
{{ number_format($rec, 0) }}m
@endif
@if($est !== null && $rec === null)
~{{ number_format($est, 0) }}m
@elseif($est !== null && $rec !== null && $isTdy)
+~{{ number_format($est - $rec, 0) }}
@endif
@foreach($cuts as $cut)
@if($cut->tipo_clave !== 'SCRAP')
✂️ {{ $cut->clave_id }}
{{ number_format($cut->mts_telar,0) }}m
🗑 {{ number_format($cut->mts_telar,0) }}m
@endif
@endforeach
@foreach($expCuts as $expMts)
@php
$isPartialRoll = $expMts < ($row['avg_mts_roll'] * 0.9);
@endphp
✂️ ~{{ number_format($expMts,0) }}m
{{ $isPartialRoll ? '🔚 final' : 'proyectado' }}
|
@endforeach
| TOTALES | @foreach($planDays as $day) @php $ds = $day->toDateString(); $totalWoven = 0; $totalRolls = 0; $totalCutMts = 0; foreach($planGrid as $row) { $cell = $row['days'][$ds] ?? null; if ($cell) { $rec = $cell['recorded_mts'] ?? null; $est = $cell['estimated_mts'] ?? null; $totalWoven += ($rec !== null ? $rec : ($est ?? 0)); $cuts = $cell['cuts'] ?? collect(); $expCuts = $cell['expected_cuts'] ?? []; foreach($cuts as $cut) { if ($cut->tipo_clave !== 'SCRAP') { $totalRolls++; $totalCutMts += $cut->mts_telar; } } foreach($expCuts as $expCutMts) { $totalRolls++; $totalCutMts += $expCutMts; } } } @endphp
{{ number_format($totalWoven, 0) }}m
@if($totalRolls > 0)
✂️ {{ $totalRolls }} ro.
@endif
{{ number_format($totalCutMts, 0) }}m |
@endforeach
| Telar | Fecha | Hora | Tipo | Descripción | Tiempo perdido | Estado | |
|---|---|---|---|---|---|---|---|
| {{ $inc->loom_id }} | {{ $inc->fecha_inicio }} | {{ $inc->hora_inicio ?? '—' }} | {{ $inc->tipo }} | {{ $inc->descripcion }} | {{ number_format($inc->delay_horas_real ?: $inc->delay_horas, 1) }} h | @if($inc->estado === 'ABIERTO') ABIERTO @else RESUELTO @endif | @if($inc->estado === 'ABIERTO') @endif |
| Plegador | Artículo | Partida | M. Original | M. Disponibles | Consumo | Estado | Acciones |
|---|---|---|---|---|---|---|---|
| {{ $wb->id }} | {{ $wb->partida?->articulo_id ?? '—' }} | {{ $wb->partida_id }} | {{ number_format($wbOriginal, 0) }} | {{ number_format($wbAvail, 0) }} m |
|
WIP |
|
Telar: {{ $turnoLoomId }} @if($editTurnoId) EDITANDO #{{ $editTurnoId }} @endif
Telar: {{ $cutLoomId }}
Telar: {{ $probLoomId }}
Telar: {{ $resolveLoomId }}
Telar: {{ $unassignLoomId }}
Plegador: {{ $unAs->plegador_id }}
Partida: {{ $unAs->partida_id }}
Metros disponibles: {{ number_format($unAvail, 0) }} m
¿Qué pasó con este plegador?
Plegador: {{ $scrapWipBeamId }}
{{ $cellDay->isoFormat('dddd D [de] MMMM [de] YYYY') }} @if($cellAsgn) · {{ $cellAsgn->articulo_id }} @endif
Sin cortes registrados en esta fecha para este telar.
@elseUse los botones ✂️ Corte en el plan de arriba para registrar un nuevo corte
| Clave | Telar | Artículo | #R | Metros | Tipo | T | Operario |
|---|---|---|---|---|---|---|---|
| {{ $c->clave_id }} | {{ $c->loom_id }} | {{ $c->articulo_id }} | #{{ $c->roll_sequence }} | {{ number_format($c->mts_telar, 1) }} | {{ $c->tipo_clave }} | {{ $c->turno }} | {{ $c->operario ?: '—' }} |
| Sin cortes este día | |||||||
| Total | {{ number_format($todayMetersTotal, 0) }} m | ||||||
| Clave / T / Tipo | Telar / Art. | Color | Cantidades | Calidad | Acciones |
|---|---|---|---|---|---|
|
{{ $c->clave_id }}
Turno: {{ $c->turno }} | {{ $c->tipo_clave }}
|
{{ $c->loom_id }}
{{ $c->articulo_id }}
{{ $c->fecha?->format('d/m/Y') }}
|
@if($c->color_requested) {{ $c->color_requested }} @else Sin asignar @endif |
{{ number_format($c->mts_telar, 1) }} m
@if($kg > 0)
{{ number_format($kg, 1) }} kg
@endif
|
@if($div)
{{ $calidad ?? 'PEND' }}
@if($insp)
{{ $insp->puntos_totales }} pts
@endif
@else
-
@endif
|
@if($div)
🔍 Insp.
@if(!$div->ingresoGreige)
@else
En WH
@endif
@endif
|
| Sin resultados | |||||