requiredMapping() ->exampleHeader('Plant Name') ->example('Ransar Industries-I') ->label('Plant Name') ->relationship(resolveUsing:'name') ->rules(['required']), ImportColumn::make('mfmMeter') ->requiredMapping() ->exampleHeader('Mfm Meter Name') ->example('Display SSB') ->label('Display SSB') ->relationship(resolveUsing:'name') ->rules(['required']), ImportColumn::make('apparent_energy_received') ->requiredMapping() ->exampleHeader('Apparent Energy Received') ->example('1084610') ->label('Apparent Energy Received') ->rules(['required']), ImportColumn::make('reactive_energy_received') ->requiredMapping() ->exampleHeader('Reactive Energy Received') ->example('347496.9') ->label('Reactive Energy Received') ->rules(['required']), ImportColumn::make('active_energy_received') ->requiredMapping() ->exampleHeader('Active Energy Received') ->example('611717.1') ->label('Active Energy Received') ->rules(['required']), ImportColumn::make('active_power_r') ->requiredMapping() ->exampleHeader('Active Power R') ->example('3.974') ->label('Active Power R') ->rules(['required']), ImportColumn::make('active_power_y') ->requiredMapping() ->exampleHeader('Active Power Y') ->example('0.796') ->label('Active Power Y') ->rules(['required']), ImportColumn::make('active_power_b') ->requiredMapping() ->exampleHeader('Active Power B') ->example('1.397') ->label('Active Power B') ->rules(['required']), ImportColumn::make('active_power_total') ->requiredMapping() ->exampleHeader('Active Power Total') ->example('6.433') ->label('Active Power Total') ->rules(['required']), ImportColumn::make('voltage_ry') ->requiredMapping() ->exampleHeader('Voltage RY') ->example('413.308') ->label('Voltage RY') ->rules(['required']), ImportColumn::make('voltage_yb') ->requiredMapping() ->exampleHeader('Voltage YB') ->example('415.305') ->label('Voltage YB') ->rules(['required']), ImportColumn::make('voltage_br') ->requiredMapping() ->exampleHeader('Voltage BR') ->example('415.216') ->label('Voltage BR') ->rules(['required']), ImportColumn::make('current_r') ->requiredMapping() ->exampleHeader('Current R') ->example('17.446') ->label('Current R') ->rules(['required']), ImportColumn::make('current_y') ->requiredMapping() ->exampleHeader('Current Y') ->example('4.801') ->label('Current Y') ->rules(['required']), ImportColumn::make('current_b') ->requiredMapping() ->exampleHeader('Current B') ->example('7.04') ->label('Current B') ->rules(['required']), ImportColumn::make('current_n') ->requiredMapping() ->exampleHeader('Current N') ->example('14.063') ->label('Current N') ->rules(['required']), ImportColumn::make('voltage_r_n') ->requiredMapping() ->exampleHeader('Voltage R N') ->example('237.898') ->label('Voltage R N') ->rules(['required']), ImportColumn::make('voltage_y_n') ->requiredMapping() ->exampleHeader('Voltage Y N') ->example('239.518') ->label('Voltage Y N') ->rules(['required']), ImportColumn::make('voltage_b_n') ->requiredMapping() ->exampleHeader('Voltage B N') ->example('240.798') ->label('Voltage B N') ->rules(['required']), ImportColumn::make('frequency') ->requiredMapping() ->exampleHeader('Frequency') ->example('50.228') ->label('Frequency') ->rules(['required']), ImportColumn::make('power_factor_r') ->requiredMapping() ->exampleHeader('Power Factor R') ->example('0.988') ->label('Power Factor R') ->rules(['required']), ImportColumn::make('power_factor_y') ->requiredMapping() ->exampleHeader('Power Factor Y') ->example('0.764') ->label('Power Factor Y') ->rules(['required']), ImportColumn::make('power_factor_b') ->requiredMapping() ->exampleHeader('Power Factor B') ->example('0.849') ->label('Power Factor B') ->rules(['required']), ImportColumn::make('power_factor_total') ->requiredMapping() ->exampleHeader('Power Factor Total') ->example('0.919') ->label('Power Factor Total') ->rules(['required']), ]; } public function resolveRecord(): ?MfmReading { // return MfmReading::firstOrNew([ // // Update existing records, matching them by `$this->data['column_name']` // 'email' => $this->data['email'], // ]); return new MfmReading(); } public static function getCompletedNotificationBody(Import $import): string { $body = 'Your mfm reading 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; } }