- QuoteFormulaSeeder: is_active 플래그 추가 (기본 true) - 미정의 변수 사용 수식 비활성화: - GR_QTY_WALL, GR_QTY_SIDE, GR_QTY_MIXED (BASE_QTY 미정의) - EDGE_QTY (EDGE_WING_SIZE 미정의) - PRICE_GR, PRICE_CASE, PRICE_MOTOR, PRICE_CTRL, PRICE_EDGE (QTY, UNIT_PRICE 미정의) - PRICE_INSP (INSPECTION_FEE 미정의) - PRICE_AREA_SCREEN, PRICE_AREA_STEEL (AREA, UNIT_PRICE_PER_M2 미정의)
109 lines
3.4 KiB
PHP
109 lines
3.4 KiB
PHP
<?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개 카테고리 생성 완료');
|
|
}
|
|
}
|