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.
70 lines
1.9 KiB
70 lines
1.9 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', |
|
'kondisipeti_id', |
|
'packing_no', |
|
'fix_lot', |
|
'status_isi', |
|
'warna', |
|
'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, |
|
'KODE CUSTOMER' => $peti->customer->code_customer, |
|
'TIPE PETI' => $peti->tipe_peti->type, |
|
'UKURAN PETI' => $peti->tipe_peti->size_peti, |
|
'LOT NO' => $peti->customer->lot_no, |
|
'PACKING NO' => $peti->packing_no, |
|
'GUDANG' => $peti->warehouse->name, |
|
'KONDISI PETI' => $peti->kondisipeti->nama_kondisi, |
|
'ISI PETI' => $peti->status_isi, |
|
'WARNA PETI' => $peti->warna, |
|
'STATUS' => $peti->status, |
|
]; |
|
}); |
|
|
|
return $data; |
|
} |
|
|
|
public function headings(): array |
|
{ |
|
return [ |
|
'No', |
|
'FIX LOT', |
|
'CUSTOMER', |
|
'KODE CUSTOMER', |
|
'TIPE PETI', |
|
'UKURAN PETI', |
|
'LOT NO', |
|
'PACKING NO', |
|
'GUDANG', |
|
'KONDISI PETI', |
|
'ISI PETI', |
|
'WARNA PETI', |
|
'STATUS', |
|
]; |
|
} |
|
}
|
|
|