Refactor TintoreriaProceso to Tintoreria resource and model

Renamed TintoreriaProcesoResource, model, and migration to Tintoreria, updating all related references and page classes. Added preload to Select fields for better performance in forms. This change standardizes naming and improves resource management for tintoreria processes.
This commit is contained in:
Juan Felipe Duarte
2026-01-15 08:39:58 -05:00
parent 7257a2d795
commit 1510a8ef1e
8 changed files with 110 additions and 55 deletions
@@ -33,61 +33,62 @@ class InventarioPrendaResource extends Resource
public static function form(Form $form): Form
{
return $form->schema([
Section::make('Ingreso a Inventario')
->schema([
Select::make('orden_produccion_id')
->label('Orden de Producción')
->relationship('ordenProduccion', 'numero_orden')
->searchable()
->required(),
Section::make('Ingreso a Inventario')
->schema([
Select::make('orden_produccion_id')
->label('Orden de Producción')
->relationship('ordenProduccion', 'numero_orden')
->searchable()
->preload()
->required(),
TextInput::make('cantidad_terminada')
->numeric()
->required(),
TextInput::make('cantidad_terminada')
->numeric()
->required(),
TextInput::make('cantidad_disponible')
->disabled()
->dehydrated(false),
TextInput::make('cantidad_disponible')
->disabled()
->dehydrated(false),
DatePicker::make('fecha_ingreso')
->required(),
DatePicker::make('fecha_ingreso')
->required(),
Select::make('estado')
->options([
'en_bodega' => 'En bodega',
'lista_despacho' => 'Lista para despacho',
])
->required(),
])
->columns(2),
]);
Select::make('estado')
->options([
'en_bodega' => 'En bodega',
'lista_despacho' => 'Lista para despacho',
])
->required(),
])
->columns(2),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('ordenProduccion.numero_orden')
->label('OP')
->searchable(),
->columns([
TextColumn::make('ordenProduccion.numero_orden')
->label('OP')
->searchable(),
TextColumn::make('cantidad_terminada'),
TextColumn::make('cantidad_terminada'),
TextColumn::make('cantidad_disponible'),
TextColumn::make('cantidad_disponible'),
TextColumn::make('fecha_ingreso')
->date(),
TextColumn::make('fecha_ingreso')
->date(),
BadgeColumn::make('estado')
->formatStateUsing(fn ($state) => match ($state) {
'en_bodega' => 'En bodega',
'lista_despacho' => 'Lista para despacho',
})
->colors([
'secondary' => 'en_bodega',
'success' => 'lista_despacho',
]),
])
BadgeColumn::make('estado')
->formatStateUsing(fn($state) => match ($state) {
'en_bodega' => 'En bodega',
'lista_despacho' => 'Lista para despacho',
})
->colors([
'secondary' => 'en_bodega',
'success' => 'lista_despacho',
]),
])
->filters([
//
])
@@ -51,6 +51,7 @@ class ProcesoAcabadoResource extends Resource
->label('Proveedor (opcional)')
->relationship('proveedor', 'nombre')
->searchable()
->preload()
->nullable(),
TextInput::make('responsable_interno')
@@ -2,9 +2,9 @@
namespace App\Filament\Resources;
use App\Filament\Resources\TintoreriaProcesoResource\Pages;
use App\Filament\Resources\TintoreriaProcesoResource\RelationManagers;
use App\Models\TintoreriaProceso;
use App\Filament\Resources\TintoreriaResource\Pages;
use App\Filament\Resources\TintoreriaResource\RelationManagers;
use App\Models\Tintoreria;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\Resource;
@@ -24,9 +24,9 @@ use Filament\Tables\Columns\{
BadgeColumn
};
class TintoreriaProcesoResource extends Resource
class TintoreriaResource extends Resource
{
protected static ?string $model = TintoreriaProceso::class;
protected static ?string $model = Tintoreria::class;
protected static ?string $navigationGroup = 'Administración';
protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack';
@@ -41,15 +41,19 @@ class TintoreriaProcesoResource extends Resource
->relationship(
'proveedor',
'nombre',
fn($query) => $query->where('categoria', 'tintoreria')
fn($query) => $query->where('categoria', 'tintoreria')
)
->searchable()
->preload()
->required(),
Select::make('orden_produccion_id')
->label('Orden de Producción')
->relationship('ordenProduccion', 'numero_orden')
->searchable()
->preload()
->required(),
TextInput::make('tipo_proceso')
@@ -126,9 +130,9 @@ class TintoreriaProcesoResource extends Resource
public static function getPages(): array
{
return [
'index' => Pages\ListTintoreriaProcesos::route('/'),
'create' => Pages\CreateTintoreriaProceso::route('/create'),
'edit' => Pages\EditTintoreriaProceso::route('/{record}/edit'),
'index' => Pages\ListTintorerias::route('/'),
'create' => Pages\CreateTintoreria::route('/create'),
'edit' => Pages\EditTintoreria::route('/{record}/edit'),
];
}
}
@@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\TintoreriaResource\Pages;
use App\Filament\Resources\TintoreriaResource;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreateTintoreria extends CreateRecord
{
protected static string $resource = TintoreriaResource::class;
}
@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\TintoreriaResource\Pages;
use App\Filament\Resources\TintoreriaResource;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
class EditTintoreria extends EditRecord
{
protected static string $resource = TintoreriaResource::class;
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\TintoreriaResource\Pages;
use App\Filament\Resources\TintoreriaResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
class ListTintorerias extends ListRecords
{
protected static string $resource = TintoreriaResource::class;
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}
@@ -4,7 +4,7 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class TintoreriaProceso extends Model
class Tintoreria extends Model
{
protected $fillable = [
'proveedor_id',
@@ -11,10 +11,9 @@ return new class extends Migration
*/
public function up(): void
{
Schema::create('tintoreria_procesos', function (Blueprint $table) {
Schema::create('tintorerias', function (Blueprint $table) {
$table->id();
// Relaciones
$table->foreignId('proveedor_id')
->constrained('proveedors')
->cascadeOnDelete();
@@ -48,6 +47,6 @@ return new class extends Migration
*/
public function down(): void
{
Schema::dropIfExists('tintoreria_procesos');
Schema::dropIfExists('tintorerias');
}
};