feat: BP-MES Phase 1 모델 업데이트 및 Seeder 실행

[모델 업데이트]
- Product 모델: 하이브리드 구조 필드로 fillable/casts 간소화
  - 고정 필드: safety_stock, lead_time, is_variable_size, product_category, part_type, attributes_archive
  - 동적 필드: attributes JSON (category_fields로 관리)
  - 제거: BP-MES 전용 33개 필드 (이제 attributes에 저장)

- ProductComponent 모델: BOM 계산 필드 + 동적 필드
  - 고정 필드: quantity_formula, condition
  - 동적 필드: attributes JSON
  - 제거: is_bending, bending_diagram, bending_details (이제 attributes에 저장)

[Seeder 실행]
- BpMesCategoryFieldsSeeder: FG/PT/절곡품 카테고리 및 필드 생성
- BpMesTenantStatFieldsSeeder: 통계 필드 설정 (마진율, 가공비, 인건비, 설치비 등)

[검증 완료]
- Tinker 모델 테스트 통과
- Pint 코드 포맷팅 검사 통과
This commit is contained in:
2025-11-14 11:11:55 +09:00
parent 342d15196e
commit 4fde8c0221
2 changed files with 9 additions and 33 deletions

View File

@@ -23,25 +23,21 @@ class ProductComponent extends Model
'ref_id',
'quantity',
'sort_order',
// BP-MES: 수식 계산 및 조건부 BOM
// 하이브리드 구조: 고정 필드 (범용 BOM 계산)
'quantity_formula',
'condition',
// BP-MES: 절곡품
'is_bending',
'bending_diagram',
'bending_details',
// 동적 필드 (테넌트별 커스텀)
'attributes',
'created_by',
'updated_by',
];
protected $casts = [
'quantity' => 'decimal:6',
'attributes' => 'array',
'created_at' => 'datetime',
'updated_at' => 'datetime',
'deleted_at' => 'datetime',
// BP-MES: 추가 타입 캐스팅
'is_bending' => 'boolean',
'bending_details' => 'array',
];
protected $hidden = [