You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.6 KiB
61 lines
1.6 KiB
<?php |
|
|
|
namespace App\Exports; |
|
|
|
use App\Models\Peti; |
|
use Maatwebsite\Excel\Concerns\WithHeadings; |
|
use Maatwebsite\Excel\Concerns\FromCollection; |
|
|
|
class PetternLotPetiExport implements FromCollection, WithHeadings |
|
{ |
|
public function collection() |
|
{ |
|
// Ambil data dari model Peti |
|
$petis = Peti::select( |
|
'customer_id', |
|
'warehouse_id', |
|
'jumlah', |
|
'tipe_peti_id', |
|
'packing_no', |
|
'fix_lot', |
|
'status' |
|
)->get(); |
|
|
|
// Inisialisasi nomor awal |
|
$nomor = 1; |
|
|
|
// Modifikasi data dan tambahkan nomor |
|
$data = $petis->map(function ($peti) use (&$nomor) { |
|
return [ |
|
'No' => $nomor++, |
|
'FIX LOT' => $peti->fix_lot, |
|
'Customer' => $peti->customer->name, |
|
'Warehouse' => $peti->warehouse->name, |
|
'CODE CUSTOMER' => $peti->customer->code_customer, |
|
'TYPE PETI' => $peti->tipe_peti->type, |
|
'UKURAN PETI' => $peti->tipe_peti->size_peti, |
|
'LOT NO' => $peti->customer->lot_no, |
|
'PACKING NO' => $peti->packing_no, |
|
'Status' => $peti->status, |
|
]; |
|
}); |
|
|
|
return $data; |
|
} |
|
|
|
public function headings(): array |
|
{ |
|
return [ |
|
'No', |
|
'FIX LOT', |
|
'Customer', |
|
'WH', |
|
'CODE CUSTOMER', |
|
'TYPE PETI', |
|
'UKURAN PETI', |
|
'LOT NO', |
|
'PACKING NO', |
|
'STATUS' |
|
]; |
|
} |
|
}
|
|
|