command->error('No user found!'); return; } // Criar configuração de markup $setting = BusinessSetting::create([ 'user_id' => $user->id, 'name' => 'Loja Principal', 'currency' => 'EUR', 'monthly_revenue' => 50000, 'fixed_expenses' => 6000, 'tax_rate' => 10, 'sales_commission' => 5, 'card_fee' => 3, 'other_variable_costs' => 2, 'investment_rate' => 5, 'profit_margin' => 15, 'is_active' => true, ]); $setting->recalculateMarkup(); $this->command->info("Setting criado: {$setting->name} - Markup: {$setting->markup_factor}"); // Criar produtos de exemplo com fichas técnicas $products = [ ['name' => 'Camiseta Básica', 'sku' => 'CAM-001', 'cmv' => 12.50, 'category' => 'Vestuário'], ['name' => 'Calça Jeans', 'sku' => 'CAL-001', 'cmv' => 35.00, 'category' => 'Vestuário'], ['name' => 'Tênis Esportivo', 'sku' => 'TEN-001', 'cmv' => 65.00, 'category' => 'Calçados'], ['name' => 'Mochila Escolar', 'sku' => 'MOC-001', 'cmv' => 28.00, 'category' => 'Acessórios'], ['name' => 'Boné Trucker', 'sku' => 'BON-001', 'cmv' => 8.50, 'category' => 'Acessórios'], ['name' => 'Relógio Digital', 'sku' => 'REL-001', 'cmv' => 45.00, 'category' => 'Acessórios'], ['name' => 'Óculos de Sol', 'sku' => 'OCU-001', 'cmv' => 22.00, 'category' => 'Acessórios'], ['name' => 'Jaqueta Corta-Vento', 'sku' => 'JAQ-001', 'cmv' => 55.00, 'category' => 'Vestuário'], ['name' => 'Shorts Fitness', 'sku' => 'SHO-001', 'cmv' => 18.00, 'category' => 'Vestuário'], ['name' => 'Meias Pack 3', 'sku' => 'MEI-001', 'cmv' => 6.00, 'category' => 'Vestuário'], ]; foreach ($products as $productData) { // Criar a ficha técnica $sheet = ProductSheet::create([ 'user_id' => $user->id, 'business_setting_id' => $setting->id, 'name' => $productData['name'], 'sku' => $productData['sku'], 'description' => 'Produto de exemplo', 'category' => $productData['category'], 'currency' => 'EUR', 'cmv_total' => $productData['cmv'], 'is_active' => true, ]); // Criar item de custo principal ProductSheetItem::create([ 'product_sheet_id' => $sheet->id, 'name' => 'Custo de Aquisição', 'type' => ProductSheetItem::TYPE_PRODUCT_COST, 'amount' => $productData['cmv'] * 0.8, 'quantity' => 1, 'unit' => 'un', 'unit_cost' => $productData['cmv'] * 0.8, 'sort_order' => 1, ]); // Criar item de embalagem ProductSheetItem::create([ 'product_sheet_id' => $sheet->id, 'name' => 'Embalagem', 'type' => ProductSheetItem::TYPE_PACKAGING, 'amount' => $productData['cmv'] * 0.15, 'quantity' => 1, 'unit' => 'un', 'unit_cost' => $productData['cmv'] * 0.15, 'sort_order' => 2, ]); // Criar item de etiqueta ProductSheetItem::create([ 'product_sheet_id' => $sheet->id, 'name' => 'Etiqueta', 'type' => ProductSheetItem::TYPE_LABEL, 'amount' => $productData['cmv'] * 0.05, 'quantity' => 1, 'unit' => 'un', 'unit_cost' => $productData['cmv'] * 0.05, 'sort_order' => 3, ]); // Calcular preço de venda $sheet->calculateSalePrice($setting); $this->command->info("Produto: {$sheet->name} - CMV: EUR {$sheet->cmv_total} - Venda: EUR {$sheet->sale_price}"); } $this->command->info('Business seeder concluído!'); } }