@extends('layouts.app') @section('content')
@php $hour = now()->format('H'); $greeting = ($hour >= 5 && $hour < 11) ? 'Selamat pagi' : (($hour >= 11 && $hour < 15) ? 'Selamat siang' : (($hour >= 15 && $hour < 19) ? 'Selamat sore' : 'Selamat malam')); $userName = auth()->user()->name ?? 'User'; $stats = $stats ?? [ 'pending' => ($finishingOrders ?? collect())->count(), 'in_progress' => 0, 'completed_today' => ($completedOrders ?? collect())->count(), 'ready_for_pickup' => 0, ]; $category = $category ?? request('category', 'all'); $categories = [ 'all' => 'Semua', 'versant' => 'Versant', 'indoor' => 'Indoor', 'outdoor' => 'Outdoor', ]; @endphp

Halo,

{{ $greeting }}, {{ $userName }} 👋

@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif

Dashboard Finishing LIVE

OFFLINE Update terakhir: - AI: memuat data realtime...

Antrian Finishing

{{ $stats['pending'] ?? 0 }}

Sinkron realtime dengan list finishing.

Dalam Proses

{{ $stats['in_progress'] ?? 0 }}

AI pantau bottleneck proses finishing.

Selesai Hari Ini

{{ $stats['completed_today'] ?? 0 }}

Update otomatis.

Siap Diambil

{{ $stats['ready_for_pickup'] ?? 0 }}

Siap serah terima ke customer.

Cari @if(!empty($search)) Reset @endif
@foreach($categories as $key => $label) {{ $label }} @endforeach

Antrian Finishing

{{ ($finishingOrders ?? collect())->count() }}

QC + finishing note sebelum selesai.

@forelse(($finishingOrders ?? collect()) as $order)
{{ $order->invoice_number }}

{{ $order->customer_name }}

Operator: {{ optional($order->operator)->name ?? '-' }}
@foreach($order->activeItems->take(2) as $item)
{{ $item->product_name }} - {{ $item->file_name }} ({{ $item->qty }}pcs) @if(($item->sisi ?? 1) == 2) 2 SISI @endif @if($item->finishing_note) • {{ $item->finishing_note }} @endif
@endforeach @if($order->activeItems->count() > 2)
+{{ $order->activeItems->count() - 2 }} item lainnya
@endif
@empty
Tidak ada antrian finishing.
@endforelse

Laporan Selesai Hari Ini

Invoice, item, pelanggan, operator, operator finishing.

Lihat Semua
@forelse(($completedOrders ?? collect()) as $order) @php $finisherId = $order->finishing_operator_id ?? $order->finisher_id ?? $order->finishing_user_id ?? $order->finisher_user_id ?? null; $finisherName = '-'; if (!empty($finisherId) && !empty($finisherMap) && isset($finisherMap[$finisherId])) { $finisherName = $finisherMap[$finisherId]; } @endphp @empty @endforelse
Invoice Item Pelanggan Operator Operator Finishing Selesai
{{ $order->invoice_number }}
{{ $order->activeItems->count() }} item
{{ $order->activeItems->pluck('product_name')->unique()->implode(', ') }}
{{ $order->customer_name }} {{ optional($order->operator)->name ?? '-' }} {{ $finisherName }} {{ $order->finished_at?->format('H:i') ?? '-' }}
Belum ada order selesai hari ini.

© 2026 aplikasipercetakan.com. All rights reserved.

@endsection @push('scripts') @endpush @push('styles') @endpush