3 Commits

Author SHA1 Message Date
dhanabalan
6ea2fc3d23 Added work_center column in importer and exporter file 2025-07-03 13:49:03 +05:30
dhanabalan
04da674868 Added work_center column in resource file 2025-07-03 13:40:52 +05:30
dhanabalan
0174a8494d Added work_center column in model file 2025-07-03 13:38:05 +05:30
4 changed files with 56 additions and 21 deletions

View File

@@ -13,25 +13,30 @@ class MachineExporter extends Exporter
public static function getColumns(): array
{
static $rowNumber = 0;
return [
ExportColumn::make('no')
->label('No')
->state(function ($record) use (&$rowNumber) {
// Increment and return the row number
return ++$rowNumber;
}),
->label('NO')
->state(function ($record) use (&$rowNumber) {
// Increment and return the row number
return ++$rowNumber;
}),
ExportColumn::make('plant.name')
->label('Plant'),
->label('PLANT'),
ExportColumn::make('line.name')
->label('Line'),
->label('LINE'),
ExportColumn::make('name')
->label('Name'),
->label('NAME'),
ExportColumn::make('work_center')
->label('WORK CENTER'),
ExportColumn::make('created_at')
->label('Created At'),
->label('CREATED AT'),
ExportColumn::make('updated_at')
->label('Updated At'),
->label('UPDATED AT'),
ExportColumn::make('deleted_at')
->label('Deleted At'),
->enabledByDefault(false)
->label('DELETED AT'),
];
}

View File

@@ -14,13 +14,17 @@ class MachineImporter extends Importer
public static function getColumns(): array
{
return [
ImportColumn::make('plant')
ImportColumn::make('name')
->requiredMapping()
->relationship(resolveUsing: 'name')
->exampleHeader('Plant')
->example(['Ransar Industries-I'])
->label('Plant')
->exampleHeader('Name')
->example(['1600251'])
->label('Line')
->rules(['required']),
ImportColumn::make('work_center')
->requiredMapping()
->exampleHeader('Work Center')
->example('RMGCE001')
->label('Work Center'),
ImportColumn::make('line')
->requiredMapping()
->relationship(resolveUsing: 'name')
@@ -28,11 +32,12 @@ class MachineImporter extends Importer
->example(['4 inch pump line'])
->label('Line')
->rules(['required']),
ImportColumn::make('name')
ImportColumn::make('plant')
->requiredMapping()
->exampleHeader('Name')
->example(['1600251'])
->label('Line')
->relationship(resolveUsing: 'name')
->exampleHeader('Plant')
->example(['Ransar Industries-I'])
->label('Plant')
->rules(['required']),
];
}

View File

@@ -19,6 +19,8 @@ use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Tables\Actions\ImportAction;
use Filament\Tables\Actions\ExportAction;
use Illuminate\Validation\Rule;
use Str;
class MachineResource extends Resource
{
@@ -85,6 +87,13 @@ class MachineResource extends Resource
}
else
{
$grpWrkCnr = Line::find($lineId)->group_work_center;
if (!$grpWrkCnr || Str::length($grpWrkCnr) < 1)
{
$set('mLineError', 'Please select a group work center line.');
$set('line_id', null);
return;
}
$set('mLineError', null);
}
})
@@ -95,7 +104,17 @@ class MachineResource extends Resource
->hintColor('danger'),
Forms\Components\TextInput::make('name')
->label('Name')
->required(),
->placeholder('Scan the valid Machine Name')
->required()
->rule(function (callable $get) {
return Rule::unique('machines', 'name')
->where('line_id', $get('line_id'))
->where('plant_id', $get('plant_id'))
->ignore($get('id')); // Ignore current record during updates
}),
Forms\Components\TextInput::make('work_center')
->label('Work Center')
->placeholder('Scan the valid Work Center'),
Forms\Components\TextInput::make('id')
->hidden()
->readOnly(),
@@ -126,6 +145,11 @@ class MachineResource extends Resource
->label('Name')
->searchable()
->alignCenter(),
Tables\Columns\TextColumn::make('work_center')
->label('Work Center')
->alignCenter()
->sortable()
->searchable(),
Tables\Columns\TextColumn::make('created_at')
->label('Created At')
->alignCenter()

View File

@@ -14,6 +14,7 @@ class Machine extends Model
'plant_id',
'line_id',
'name',
'work_center',
];
public function plant(): BelongsTo