data = $data; } public function array(): array { $rows = []; // Iterasi setiap hari/bulan foreach ($this->data as $item) { // Baris pertama untuk entri sales pertama if (count($item['sales']) > 0) { foreach ($item['sales'] as $index => $sales) { $rows[] = [ 'Tanggal' => $item['tanggal'], 'Nama Sales' => $sales['nama'], 'Item Terjual' => $sales['item_terjual'], 'Berat Terjual' => $sales['berat_terjual'], 'Pendapatan' => $sales['pendapatan'], ]; } } else { // Baris jika tidak ada sales hari itu $rows[] = [ 'Tanggal' => $item['tanggal'], 'Nama Sales' => 'N/A', 'Item Terjual' => 0, 'Berat Terjual' => 0, 'Pendapatan' => 0, ]; } // Baris Total Harian/Bulanan $rows[] = [ 'Tanggal' => $item['tanggal'], 'Nama Sales' => '** TOTAL **', // Tandai sebagai baris total 'Item Terjual' => $item['total_item_terjual'], 'Berat Terjual' => $item['total_berat'], 'Pendapatan' => $item['total_pendapatan'], ]; } return $rows; } public function headings(): array { return [ 'Periode', 'Nama Sales/Keterangan', 'Item Terjual', 'Total Berat Terjual', 'Total Pendapatan', ]; } }