errors[] = 'Kolom ' . $column . ' pada baris ' . $this->rowCount . ' tidak boleh kosong.'; return null; // Abaikan data dengan kolom yang tidak sesuai } } // Mendapatkan informasi pengguna yang sedang login $user = Auth::user(); // Cek apakah nama warehouse sudah ada dalam database $existingCustomer = Customer::where('name', $row['nama_customer'])->first(); if ($existingCustomer) { // Jika nama warehouse sudah ada, tambahkan pesan kesalahan ke dalam array $errors $this->errors[] = new MessageBag(['Row ' . $this->rowCount => 'Data Customer sudah ada dalam database.']); return null; // Abaikan data yang sudah ada } // Increment rowCount setiap kali ada data yang diimpor $this->rowCount++; return new Customer([ 'name' => strtoupper($row['nama_customer']), 'code_customer' => strtoupper($row['kode_customer']), 'lot_no' => strtoupper($row['lot_number']), 'no_tlp' => $row['no_telepon'], 'address' => strtoupper($row['alamat']), 'created_by' => $user->fullname, 'updated_by' => $user->fullname, ]); } public function registerEvents(): array { return [ AfterImport::class => function (AfterImport $event) { // Setelah import selesai, kita bisa mengakses semua data yang diimpor $importedData = $event->getReader()->getDelegate()->getActiveSheet()->toArray(); // Lakukan pemeriksaan apakah ada data yang bernilai null dan hapus dari hasil import $filteredData = array_filter($importedData, function ($row) { return $row[0] !== null; // Jika nilai kolom pertama tidak null, pertahankan baris tersebut }); // Update hasil import dengan data yang telah difilter $event->getReader()->getDelegate()->getActiveSheet()->fromArray($filteredData); }, ]; } public function getErrors() { return $this->errors; } public function getRowCount() { return $this->rowCount; } }