<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class QuoteFormulaCategorySeeder extends Seeder
{
    /**
     * 견적수식 카테고리 시드 데이터
     * 출처: design/src/components/utils/formulaSampleData.ts
     */
    public function run(): void
    {
        $tenantId = 1; // 기본 테넌트

        $categories = [
            [
                'code' => 'OPEN_SIZE',
                'name' => '오픈사이즈',
                'description' => '제품의 설치 오픈 사이즈 (W0, H0)',
                'sort_order' => 1,
            ],
            [
                'code' => 'MAKE_SIZE',
                'name' => '제작사이즈',
                'description' => '실제 제작 사이즈 (W1, H1)',
                'sort_order' => 2,
            ],
            [
                'code' => 'AREA',
                'name' => '면적',
                'description' => '제품 면적 계산 (㎡)',
                'sort_order' => 3,
            ],
            [
                'code' => 'WEIGHT',
                'name' => '중량',
                'description' => '제품 중량 계산 (kg)',
                'sort_order' => 4,
            ],
            [
                'code' => 'GUIDE_RAIL',
                'name' => '가이드레일',
                'description' => '가이드레일 자동 선택 및 수량 계산',
                'sort_order' => 5,
            ],
            [
                'code' => 'CASE',
                'name' => '케이스',
                'description' => '케이스(셔터박스) 자동 선택',
                'sort_order' => 6,
            ],
            [
                'code' => 'MOTOR',
                'name' => '모터',
                'description' => '개폐전동기 자동 선택',
                'sort_order' => 7,
            ],
            [
                'code' => 'CONTROLLER',
                'name' => '제어기',
                'description' => '연동제어기 자동 선택',
                'sort_order' => 8,
            ],
            [
                'code' => 'EDGE_WING',
                'name' => '마구리',
                'description' => '마구리 날개 수량 계산',
                'sort_order' => 9,
            ],
            [
                'code' => 'INSPECTION',
                'name' => '검사',
                'description' => '제품 검사비',
                'sort_order' => 10,
            ],
            [
                'code' => 'PRICE_FORMULA',
                'name' => '단가수식',
                'description' => '품목별 단가 계산 수식',
                'sort_order' => 11,
            ],
        ];

        foreach ($categories as $category) {
            DB::table('quote_formula_categories')->updateOrInsert(
                [
                    'tenant_id' => $tenantId,
                    'code' => $category['code'],
                ],
                [
                    'tenant_id' => $tenantId,
                    'code' => $category['code'],
                    'name' => $category['name'],
                    'description' => $category['description'],
                    'sort_order' => $category['sort_order'],
                    'is_active' => true,
                    'created_at' => now(),
                    'updated_at' => now(),
                ]
            );
        }

        $this->command->info('QuoteFormulaCategorySeeder: 11개 카테고리 생성 완료');
    }
}
