ARREGLOS: Correccion de comentarios y cambio en tablas productos, cambiados los tipos de productos a (bike, accessory, clothing, spare) para manejo futuro de repuestos y carga de datos de excel de productos.
This commit is contained in:
@@ -19,23 +19,24 @@ class ProductFactory extends Factory
|
||||
$brands = ['Shimano', 'Venzo', 'Trek', 'Specialized', 'Maxxis', 'Sram', 'Raleigh'];
|
||||
$bikeModels = ['Loki', 'Marlin 5', 'Chisel', 'Talon 3', 'Aspect 950'];
|
||||
$accessories = ['Guantes Grip', 'Calco Reflectora', 'Coderas', 'Rodilleras', 'Casco MTB', 'Luz Delantera USB', 'Cubierta Kevlar'];
|
||||
// PARA DESPUES
|
||||
$spareParts = ['Manubrio', 'Pedales Aluminio', 'Cámara 29"', 'Rayos x50', 'Disco de Freno', 'Cable de Freno', 'Asiento Goma', 'Cadena 9v'];
|
||||
|
||||
$type = $this->faker->randomElement(['bike', 'accessory', 'service']);
|
||||
$cats = ['Pro', 'Basic', 'Comp', 'Elite'];
|
||||
$type = $this->faker->randomElement(['bike', 'accessory', 'clothing', 'spare']);
|
||||
|
||||
// Generar nombre según el tipo
|
||||
if ($type === 'bike') {
|
||||
$name = $this->faker->randomElement($brands) . ' ' . $this->faker->randomElement($bikeModels);
|
||||
} elseif ($type === 'accessory') {
|
||||
$name = $this->faker->randomElement($accessories) . ' ' . $this->faker->randomElement(['Pro', 'Basic', 'Comp', 'Elite']);
|
||||
$name = $this->faker->randomElement($accessories) .' '. $this->faker->randomElement($cats);
|
||||
} elseif ($type === 'clothing') {
|
||||
$name = $this->faker->randomElement(['Remera', 'Pantalon', 'Casco', 'Coderas', 'Guantes']).' '.$this->faker->randomElement($cats);
|
||||
} else {
|
||||
$name = $this->faker->randomElement(['Service General', 'Ajuste Cambios', 'Centrado de Rueda', 'Lavado y Engrase']);
|
||||
$name = $this->faker->randomElement($spareParts) .' '. $this->faker->randomElement($cats);
|
||||
}
|
||||
|
||||
// Lógica de Precios
|
||||
$price = $this->faker->numberBetween(5000, 800000);
|
||||
$cost = $price * $this->faker->randomFloat(2, 0.5, 0.7);
|
||||
$price = $this->faker->numberBetween(5000, 200000);
|
||||
$cost = $price * $this->faker->randomFloat(2, 0.1, 0.8);
|
||||
|
||||
return [
|
||||
'name' => $name,
|
||||
|
||||
@@ -12,7 +12,7 @@ return new class extends Migration
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('users', function (Blueprint $table) {
|
||||
$table->enum('role', ['admin', 'employee'])->default('employee')->after('email');
|
||||
$table->enum('role', ['admin', 'employee', 'guest'])->default('guest')->after('email');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ return new class extends Migration
|
||||
$table->integer('stock_quantity')->default(0);
|
||||
$table->integer('min_stock_alert'); // Alerta
|
||||
|
||||
$table->enum('type', ['bike', 'accessory', 'service']);
|
||||
$table->enum('type', ['bike', 'accessory', 'clothing', 'spare']); // Tipo de producto
|
||||
$table->string('serial_number')->nullable(); // Solo para bicis
|
||||
|
||||
$table->foreignId('suppliers_id')->constrained()->default(1);
|
||||
|
||||
@@ -15,7 +15,7 @@ return new class extends Migration
|
||||
// Repuestos estimados (texto simple por ahora)
|
||||
$table->text('parts_needed')->nullable()->after('problem_description');
|
||||
|
||||
// Costo Aproximado (Presupuesto)
|
||||
// Costo (Presupuesto)
|
||||
$table->decimal('estimated_cost', 10, 2)->nullable()->after('parts_needed');
|
||||
|
||||
// Teléfono de contacto rápido (por si es distinto al del cliente registrado)
|
||||
|
||||
@@ -16,7 +16,7 @@ class DatabaseSeeder extends Seeder
|
||||
{
|
||||
//Crear el Super Admin
|
||||
User::factory()->create([
|
||||
'name' => 'Jose Admin',
|
||||
'name' => 'Sergio Lauck',
|
||||
'email' => 'admin@lauck.com',
|
||||
'password' => bcrypt('password'), // Cambiar en producción
|
||||
'role' => 'admin',
|
||||
@@ -60,7 +60,7 @@ class DatabaseSeeder extends Seeder
|
||||
'suppliers_id' => 1
|
||||
]);
|
||||
|
||||
// Generar 10 productos aleatorios más
|
||||
// Generar 50 productos aleatorios más
|
||||
Product::factory(50)->create();
|
||||
|
||||
// Clientes y Turnos
|
||||
|
||||
Reference in New Issue
Block a user