requiredMapping() ->exampleHeader('Plant Name') ->example('Ransar Industries-I') ->label('Plant Name') ->relationship(resolveUsing: 'name') ->rules(['required']), ImportColumn::make('invoice_number') ->requiredMapping() ->exampleHeader('Invoice Number') ->example('3RA002514') ->label('Invoice Number') ->rules(['required']), ImportColumn::make('serial_number') ->requiredMapping() ->exampleHeader('Serial Number') ->example('2514121551420') ->label('Serial Number') ->rules(['required']), ImportColumn::make('pallet_number') ->exampleHeader('Pallet Number') ->example('EP-2506001') ->label('Pallet Number'), ImportColumn::make('locator_number') ->exampleHeader('Locator Number') ->example('W05-D1B') ->label('Locator Number'), ImportColumn::make('scanned_status') ->exampleHeader('Scanned Status') ->example('') ->label('Scanned Status'), ImportColumn::make('upload_status') ->exampleHeader('Upload Status') ->example('Y') ->label('Upload Status'), ImportColumn::make('created_at') ->exampleHeader('Created At') ->example('2025-06-17 01:42:16') ->label('Created At') ->rules(['date_format:Y-m-d H:i:s']), ImportColumn::make('scanned_at') ->exampleHeader('Scanned At') ->example('2025-06-17 08:42:16') ->label('Scanned At') ->rules(['date_format:Y-m-d H:i:s']), ImportColumn::make('created_by') ->requiredMapping() ->exampleHeader('Created by') ->example('RAW002365') ->label('Created by') ->rules(['required']), ImportColumn::make('scanned_by') ->exampleHeader('Scanned by') ->example('') ->label('Scanned by'), ImportColumn::make('updated_by') ->exampleHeader('Updated by') ->example('') ->label('Updated by'), ]; } public function resolveRecord(): ?LocatorInvoiceValidation { // return LocatorInvoiceValidation::firstOrNew([ // // Update existing records, matching them by `$this->data['column_name']` // 'email' => $this->data['email'], // ]); return new LocatorInvoiceValidation(); } public static function getCompletedNotificationBody(Import $import): string { $body = 'Your locator invoice validation import has completed and ' . number_format($import->successful_rows) . ' ' . str('row')->plural($import->successful_rows) . ' imported.'; if ($failedRowsCount = $import->getFailedRowsCount()) { $body .= ' ' . number_format($failedRowsCount) . ' ' . str('row')->plural($failedRowsCount) . ' failed to import.'; } return $body; } }