Files
sam-api/database/seeders/QuoteFormulaCategorySeeder.php
hskwon f48ac54fe4 [fix] 미정의 변수 사용 수식 12개 비활성화
- 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 미정의)
2025-12-04 15:24:10 +09:00

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