dstpabuaran.com/database/factories/OrderFactory.php
Yoga Pangestu 660d0a648c feat: create migration files for various tables including rejections, attendances, payrolls, leave requests, purchases, and stock mutations
- Added `rejections` table to track rejection reasons and related entities.
- Created `attendances` table for employee attendance records with geolocation data.
- Introduced `payroll_periods`, `payrolls`, and `payroll_adjustments` tables for payroll management.
- Established `leave_requests` table to manage employee leave applications.
- Implemented `purchases` and `purchase_items` tables for tracking supplier purchases.
- Created `media` table for file storage and management.
- Added `activity_log` table for tracking system activities.
- Established `orders` and `order_items` tables for managing customer orders.
- Created `cuttings`, `cutting_materials`, and `cutting_results` tables for production management.
- Introduced `system_configurations` table for application settings.
- Added `push_subscriptions` table for managing user push notifications.
- Created `homepage_configurations` table for homepage settings.
- Established `product_prices` table for managing product pricing.
- Added `owner_verification_requests` table for tracking ownership verification processes.
- Created `notifications` table for user notifications.
- Established `employee_advance_payments` table for managing advance payments to employees.
- Created `retail_stock_histories` table for tracking stock changes.
- Established `stok_opnames` and `stok_opname_items` tables for stock opname management.
- Created `cutting_material_combinations` table for managing material combinations.
- Added `restocks` and `restock_items` tables for managing stock replenishments.
- Established `stock_mutations` table for tracking stock changes across various operations.
2026-07-28 18:51:00 +07:00

33 lines
1.1 KiB
PHP

<?php
namespace Database\Factories;
use App\Models\Customer;
use App\Models\Order;
use App\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;
class OrderFactory extends Factory
{
public function definition(): array
{
$subtotal = fake()->numberBetween(10000, 1000000);
$discount = fake()->numberBetween(0, $subtotal);
return [
'customer_id' => Customer::factory(),
'created_by_id' => User::factory(),
'order_number' => fake()->unique()->numerify('ORD-####'),
'channel' => fake()->randomElement(['offline', 'online', 'whatsapp', 'shopee', 'tiktok']),
'price_type' => fake()->randomElement(['retail', 'wholesale']),
'status' => 'pending',
'payment_type' => fake()->randomElement(['cash', 'transfer', 'debit', 'credit']),
'is_affiliate' => false,
'subtotal' => $subtotal,
'discount' => $discount,
'total_amount' => $subtotal - $discount,
'notes' => fake()->sentence(),
];
}
}