@extends('layouts.template') @section('content')
{{-- ── Header ── --}}

Statistik Perawatan Barang

Analisis frekuensi perawatan & kondisi inventaris

Kembali
@php $namaBulanFull = [ 1=>'Januari',2=>'Februari',3=>'Maret',4=>'April', 5=>'Mei',6=>'Juni',7=>'Juli',8=>'Agustus', 9=>'September',10=>'Oktober',11=>'November',12=>'Desember' ]; @endphp {{-- ── Filter Bulan & Tahun ── --}}
Periode: {{ $namaBulanFull[$bulan] }} {{ $tahun }} @if($bulan != date('n') || $tahun != date('Y')) Bulan Ini @endif
{{-- ── Summary Cards ── --}}

Total Perawatan

{{ $totalPerawatan }}

{{ $namaBulanFull[$bulan] }} {{ $tahun }}

Barang Dirawat

{{ $totalBarangDirawat }}

Unik item

Total Biaya

Rp {{ number_format($totalBiaya, 0, ',', '.') }}

Akumulasi

Dalam Proses

{{ $statusDalamProses }}

Belum selesai
{{-- ── Top 10 Barang ── --}}
Top 10 Barang Paling Sering Dirawat — {{ $namaBulanFull[$bulan] }} {{ $tahun }}
@forelse($topBarang as $index => $item) @php $pct = round(($item->jumlah_perawatan / $maxCount) * 100); $colors = ['#ef4444','#f97316','#f59e0b','#84cc16','#22c55e','#14b8a6','#3b82f6','#8b5cf6','#ec4899','#6b7280']; $color = $colors[$index] ?? '#6b7280'; $medal = $index == 0 ? '🥇' : ($index == 1 ? '🥈' : ($index == 2 ? '🥉' : '')); @endphp
{{ $medal ?: ($index + 1) . '.' }}
{{ $item->nama_item }}
{{ $item->kode_barang }} @if($item->ruangan) · {{ $item->ruangan->nama_ruangan }} @endif
@if($item->kondisi == 'Baik') Baik @elseif($item->kondisi == 'Rusak Ringan') Rusak Ringan @else Rusak Berat @endif {{ $item->jumlah_perawatan }}x
@empty

Belum ada data perawatan di {{ $namaBulanFull[$bulan] }} {{ $tahun }}

@endforelse
{{-- ── Sidebar: Status + Jenis ── --}}
Status Perawatan — {{ $namaBulanFull[$bulan] }} {{ $tahun }}
@php $tot = max($statusSelesai + $statusDalamProses + $statusDitunda, 1); @endphp
{{ $statusSelesai }}
Selesai
{{ $statusDalamProses }}
Proses
{{ $statusDitunda }}
Ditunda
@if($statusSelesai > 0)
@endif @if($statusDalamProses > 0)
@endif @if($statusDitunda > 0)
@endif
{{ round($statusSelesai/$tot*100) }}% {{ round($statusDalamProses/$tot*100) }}% {{ round($statusDitunda/$tot*100) }}%
Jenis Perawatan Terbanyak
@php $maxJenis = $jenisPerawatan->max('jumlah') ?: 1; @endphp @forelse($jenisPerawatan->take(6) as $jenis)
{{ $jenis->jenis_perawatan }} {{ $jenis->jumlah }}x
@empty

Belum ada data

@endforelse
{{-- ── Bar Chart Per Bulan — BISA DIKLIK ── --}}
Perawatan Per Bulan ({{ $tahun }})
Klik bar untuk lihat statistik bulan tersebut
@php $namaBulanChart = ['Jan','Feb','Mar','Apr','Mei','Jun','Jul','Agu','Sep','Okt','Nov','Des']; $dataPerBulan = array_fill(1, 12, 0); foreach ($perawatanPerBulan as $p) { $dataPerBulan[(int)$p->bulan] = $p->jumlah; } $maxBulan = max(array_values($dataPerBulan)) ?: 1; @endphp
@foreach($dataPerBulan as $bln => $jumlah) @php $pct = round(($jumlah / $maxBulan) * 100); $isSelectedMonth = ($bln == $bulan); if ($isSelectedMonth) { $barColor = '#4f46e5'; } elseif ($jumlah > 0) { $barColor = '#a5b4fc'; } else { $barColor = '#e2e8f0'; } @endphp
{{ $jumlah > 0 ? $jumlah : '' }}
{{ $namaBulanChart[$bln - 1] }}
@endforeach
Bulan dipilih
Ada data
Tidak ada data
@push('styles') @endpush @endsection