Files
sam-api/database/seeders/QuoteFormulaCategorySeeder.php

109 lines
3.4 KiB
PHP
Raw Normal View History

<?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개 카테고리 생성 완료');
}
}