Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions app/Models/ServiceOrderSparePart.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ class ServiceOrderSparePart extends Model
/** @use HasFactory<ServiceOrderSparePartFactory> */
use HasFactory;

protected $table = 'service_orders_spare_parts';

protected $fillable = [
'name',
'quantity',
Expand Down
52 changes: 50 additions & 2 deletions database/factories/ServiceOrderSparePartFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,56 @@ class ServiceOrderSparePartFactory extends Factory
*/
public function definition(): array
{
return [
//
$sparePartsCatalog = [
'Sistema de refrigeración' => [
'Ventilador','Materiales eléctricos','Mangueras','Radiador','Termostato','Deposito de anticongelante','Tapón del radiador'
],
'Sistema eléctrico' => [
'Estator','Batería','Materiales eléctricos','Arnés','Regulador de voltaje'
],
'Frenos' => [
'Balatas','Caliper','Líneas de freno','Modulador de abs','Manijas de freno','Pedal de freno'
],
'Suspensiones' => [
'Retenes', 'guardapolvos','Aceites','Nitrógeno','Válvulas de llenado de nitrógeno','Bujes','Dumpers'
],
'Motores' => [
'Cabeza del motor','Válvulas','Árboles de levas','Cadena de distribución','Sellos de válvula','Monedas de calibración',
'Pistón','Anillos de pistón','Perno','Biela','Cigüeñal','Caja de cambios','Selector de cambios',
'Estator','Vendix','Marcha','Engranes','Bomba de aceite','Clutch','Bomba de agua'
],
'Rodamientos' => [
'Baleros','Masa de llantas','Telescopio','Horquillas','Linkage'
],
'Cambio de llantas' => [
'Llantas',
'Cámaras',
'Rin',
'Disco ABS'
],
'Kit de arrastre' => [
'Cadena','Sprocket de motor', 'Sprocket de llanta'
],
];

$category = $this->faker->randomElement(array_keys($sparePartsCatalog));

$parts = $this->faker->randomElements($sparePartsCatalog[$category], rand(1, 3));

$spareParts = [];
foreach ($parts as $part) {
$spareParts[] = [
'name' => $part,
'quantity' => rand(1, 5),
'price' => rand(50, 2000), // synthetic price
'payment_status' => 'Pendiente',
'approval_status' => 'Pending',
'created_at' => now(),
'updated_at' => now(),
];
}

// Return one part at a time for factory
return $this->faker->randomElement($spareParts);
}
}
2 changes: 1 addition & 1 deletion database/seeders/BrandSeeder.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

namespace Database\Seeders;

use App\Models\Brand;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

Expand All @@ -25,6 +24,7 @@ public function run(): void
['id' => 7, 'name' => 'Yamaha', 'logo' => 'logo.png'],
['id' => 8, 'name' => 'Ducati', 'logo' => 'logo.png'],
['id' => 9, 'name' => 'KTM', 'logo' => 'logo.png'],
['id' => 10, 'name' => 'MV Agusta', 'logo' => 'logo.png'],
]);
});
}
Expand Down
20 changes: 11 additions & 9 deletions database/seeders/MotorcycleSeeder.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,17 @@ class MotorcycleSeeder extends Seeder
public function run(): void
{
// Obtener todas las marcas, tipos y usuarios existentes
$types = MotorcycleType::all();
$users = User::all();
// $types = MotorcycleType::all();
// $users = User::all();
//
// // Crear 15 motocicletas
// Motorcycle::factory(15)->state(function () use ($types, $users) {
// return [
// 'type_id' => $types->random()->id,
// 'id_cliente' => $users->random()->id,
// ];
// })->create();


// Crear 15 motocicletas
Motorcycle::factory(15)->state(function () use ($types, $users) {
return [
'type_id' => $types->random()->id,
'id_cliente' => $users->random()->id,
];
})->create();
}
}
Loading