@extends('layouts.app') @section('content') @php $summary = $summary ?? []; $machineStats = $machineStats ?? []; $machines = $machines ?? collect(); $categories = $categories ?? collect(); $products = $products ?? collect(); $materials = $materials ?? collect(); $dailyData = $dailyData ?? collect(); $materialMachines = $materialMachines ?? []; $materialMachineCostPerClick = $materialMachineCostPerClick ?? []; $startDate = $startDate ?? now()->startOfMonth()->toDateString(); $endDate = $endDate ?? now()->toDateString(); /* * Sinkronisasi total: * - "Rincian per Mesin" memakai $machineStats. * - Supaya "Total Klik" dan "Total Biaya" tidak berbeda, * total utama juga dihitung dari sumber yang sama. * - Jika $machineStats kosong, fallback ke $summary. */ $machineStatsCollection = collect($machineStats); $machineStatsTotalClicks = (int) $machineStatsCollection->sum(fn ($stat) => (int) ($stat['total_clicks'] ?? 0)); $machineStatsTotalCost = (float) $machineStatsCollection->sum(fn ($stat) => (float) ($stat['total_cost'] ?? 0)); $syncedTotalClicks = $machineStatsCollection->isNotEmpty() ? $machineStatsTotalClicks : (int) ($summary['total_clicks'] ?? 0); $syncedTotalCost = $machineStatsCollection->isNotEmpty() ? $machineStatsTotalCost : (float) ($summary['total_cost'] ?? 0); $reportData = $reportData ?? new \Illuminate\Pagination\LengthAwarePaginator( [], 0, (int) request('per_page', 15), 1, [ 'path' => request()->url(), 'query' => request()->query(), ] ); @endphp

Rincian per Mesin

@if(count($machineStats) > 0)
@foreach($machineStats as $stat)
{{ $stat['name'] ?? '-' }} {{ number_format($stat['total_clicks'] ?? 0) }} Klik
Biaya: Rp {{ number_format($stat['cost_per_click'] ?? 0, 0, ',', '.') }}/klik Total: Rp {{ number_format($stat['total_cost'] ?? 0, 0, ',', '.') }}
@if(!$loop->last)
@endif @endforeach
Total Klik {{ number_format($machineStatsTotalClicks) }} Klik
Total Biaya Rp {{ number_format($machineStatsTotalCost, 0, ',', '.') }}
@else

Belum ada data mesin.

@endif

Filter Laporan

Saring data berdasarkan periode, mesin, kategori, produk, dan bahan.

@foreach($machines as $machine) @endforeach
@foreach($categories as $category) @endforeach
@foreach($products as $product) @endforeach
@foreach($materials as $material) @endforeach
Reset

Detail Penjualan per Produk & Bahan

@if(\Illuminate\Support\Facades\Route::has('print.laporan-klik')) Cetak @endif
@if($reportData->total() > 0)
{{ $reportData->firstItem() }}-{{ $reportData->lastItem() }} dari {{ number_format($reportData->total()) }}
@endif
@if($reportData->count() > 0)
@foreach($reportData as $row) @endforeach
Produk Bahan Mesin Order Qty Total Klik Biaya/Klik Total Biaya
{{ $row->product_name ?: '-' }} {{ $row->material_name ?: '-' }} {{ $row->machine_names ?? ($materialMachines[$row->material_id] ?? '-') }} {{ number_format($row->total_orders ?? 0) }} {{ number_format($row->total_qty ?? 0) }} {{ number_format($row->total_clicks ?? 0) }} Rp {{ number_format($row->cost_per_click ?? ($materialMachineCostPerClick[$row->material_id] ?? 0), 0, ',', '.') }} Rp {{ number_format($row->total_cost ?? 0, 0, ',', '.') }}
Total {{ number_format($syncedTotalClicks) }} - Rp {{ number_format($syncedTotalCost, 0, ',', '.') }}
@if(method_exists($reportData, 'hasPages') && $reportData->hasPages())
{{ $reportData->links() }}
@endif @else

Tidak ada data

@if($products->count() == 0 && $materials->count() == 0) Belum ada produk atau bahan dengan tracking klik yang diaktifkan. @else Tidak ada order dalam periode yang dipilih. @endif

@endif

Produk dengan Tracking Aktif

@if($products->count() > 0)
@foreach($products as $product) {{ $product->name }} @endforeach
@else

Tidak ada produk dengan tracking aktif

@endif

Bahan dengan Tracking Aktif

@if($materials->count() > 0)
@foreach($materials as $material) {{ $material->name }} @endforeach
@else

Tidak ada bahan dengan tracking aktif

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