requiredMapping() ->exampleHeader('Plant') ->example(['Ransar Industries-I','Ransar Industries-I','Ransar Industries-I']) ->label('Plant') ->relationship(resolveUsing: 'name') ->rules(['required']), ImportColumn::make('item') ->requiredMapping() ->exampleHeader('Item Code') ->example(['123456','123456','123456']) ->label('Item Code') ->relationship(resolveUsing: 'code') ->rules(['required']), ImportColumn::make('isi_model') ->boolean() ->exampleHeader('ISI Model') ->example(['Y','N','Y']) ->label('ISI Model') ->rules(['boolean']), ImportColumn::make('phase') ->requiredMapping() ->exampleHeader('Phase') ->example(['Single','Three','Single']) ->label('Phase') ->rules(['required']), ImportColumn::make('hp') ->requiredMapping() ->exampleHeader('HP') ->example(['5','10','5']) ->label('HP') ->rules(['required']), ImportColumn::make('kw') ->requiredMapping() ->exampleHeader('KW') ->example(['5','7.5','5']) ->label('KW') ->rules(['required']), ImportColumn::make('volt') ->requiredMapping() ->exampleHeader('Volt') ->example(['230','380','230']) ->label('Volt') ->rules(['required']), ImportColumn::make('current') ->requiredMapping() ->exampleHeader('Current') ->example(['7','21.8','7']) ->label('Current') ->rules(['required']), ImportColumn::make('rpm') ->requiredMapping() ->exampleHeader('RPM') ->example(['2500','3420','2500']) ->label('RPM') ->rules(['required']), ImportColumn::make('torque') ->requiredMapping() ->exampleHeader('Torque') ->example(['0.5','1.25','0.5']) ->label('Torque') ->rules(['required']), ImportColumn::make('frequency') ->requiredMapping() ->exampleHeader('Frequency') ->label('Frequency') ->example(['50','60','50']) ->rules(['required']), ImportColumn::make('connection') ->requiredMapping() ->exampleHeader('Connection') ->label('Connection') ->example(['Star','Star-Delta','Delta']) ->rules(['required']), ImportColumn::make('ins_res_limit') ->requiredMapping() ->exampleHeader('Insulation Resistance Limit') ->label('Insulation Resistance Limit') ->example(['1000','2','1000']) ->rules(['required']), ImportColumn::make('ins_res_type') ->requiredMapping() ->exampleHeader('Insulation Resistance Type') ->label('Insulation Resistance Type') ->example(['O','G','O']) ->rules(['required']), ImportColumn::make('res_ry_ll') ->requiredMapping() ->exampleHeader('Resistance RY LL') ->label('Resistance RY LL') ->example(['0.05','0.05','0.05']) ->rules(['required']), ImportColumn::make('res_ry_ul') ->requiredMapping() ->exampleHeader('Resistance RY UL') ->label('Resistance RY UL') ->example(['99','99','99']) ->rules(['required']), ImportColumn::make('res_yb_ll') ->requiredMapping() ->exampleHeader('Resistance YB LL') ->label('Resistance YB LL') ->example(['0.05','0.05','0.05']) ->rules(['required']), ImportColumn::make('res_yb_ul') ->requiredMapping() ->exampleHeader('Resistance YB UL') ->label('Resistance YB UL') ->example(['99','99','99']) ->rules(['required']), ImportColumn::make('res_br_ll') ->requiredMapping() ->exampleHeader('Resistance BR LL') ->label('Resistance BR LL') ->example(['0.05','0.05','0.05']) ->rules(['required']), ImportColumn::make('res_br_ul') ->requiredMapping() ->exampleHeader('Resistance BR UL') ->label('Resistance BR UL') ->example(['99','99','99']) ->rules(['required']), ImportColumn::make('lock_volt_limit') ->requiredMapping() ->exampleHeader('Lock Volt Limit') ->label('Lock Volt Limit') ->example(['80','100','80']) ->rules(['required']), ImportColumn::make('leak_cur_limit') ->requiredMapping() ->exampleHeader('Leakage Current Limit') ->label('Leakage Current Limit') ->example(['50','50','50']) ->rules(['required']), ImportColumn::make('lock_cur_ll') ->requiredMapping() ->exampleHeader('Lock Current LL') ->label('Lock Current LL') ->example(['10','12.5','10']) ->rules(['required']), ImportColumn::make('lock_cur_ul') ->requiredMapping() ->exampleHeader('Lock Current UL') ->label('Lock Current UL') ->example(['15','14.6','15']) ->rules(['required']), ImportColumn::make('noload_cur_ll') ->requiredMapping() ->exampleHeader('No Load Current LL') ->label('No Load Current LL') ->example(['3','5.9','3']) ->rules(['required']), ImportColumn::make('noload_cur_ul') ->requiredMapping() ->exampleHeader('No Load Current UL') ->label('No Load Current UL') ->example(['15','6.9','15']) ->rules(['required']), ImportColumn::make('noload_pow_ll') ->requiredMapping() ->exampleHeader('No Load Power LL') ->label('No Load Power LL') ->example(['250','850','250']) ->rules(['required']), ImportColumn::make('noload_pow_ul') ->requiredMapping() ->exampleHeader('No Load Power UL') ->label('No Load Power UL') ->example(['500','1200','500']) ->rules(['required']), ImportColumn::make('noload_spd_ll') ->requiredMapping() ->exampleHeader('No Load Speed LL') ->label('No Load Speed LL') ->example(['2000','2500','2000']) ->rules(['required']), ImportColumn::make('noload_spd_ul') ->requiredMapping() ->exampleHeader('No Load Speed UL') ->label('No Load Speed UL') ->example(['4000','3500','4000']) ->rules(['required']), ImportColumn::make('created_by') ->requiredMapping() ->exampleHeader('Created By') ->example([Filament::auth()->user()->name, Filament::auth()->user()->name, Filament::auth()->user()->name]) ->label('Created By') ->rules(['required']), ImportColumn::make('updated_by') ->requiredMapping() ->exampleHeader('Updated By') ->example([Filament::auth()->user()->name, Filament::auth()->user()->name, Filament::auth()->user()->name]) ->label('Updated By') ->rules(['required']), ]; } public function resolveRecord(): ?MotorTestingMaster { // return MotorTestingMaster::firstOrNew([ // // Update existing records, matching them by `$this->data['column_name']` // 'email' => $this->data['email'], // ]); return new MotorTestingMaster(); } public static function getCompletedNotificationBody(Import $import): string { $body = 'Your motor testing master 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; } }