Files
sam-docs/plans/bom-v2-meeting-summary.md
김보곤 4f4ebe1e68 docs: [bom] 개발팀 회의용 요약본 + PPT 발표자료 추가
- bom-v2-meeting-summary.md: 핵심 요약 (V1 한계, V2 변경점, 테이블, 로드맵, 논의사항)
- bom-v2-architecture-presentation.pptx: 9장 슬라이드
2026-03-22 20:33:04 +09:00

4.3 KiB

BOM V2 아키텍처 — 개발팀 회의 요약

일자: 2026-03-22 | 상세 문서: plans/bom-v2-universal-architecture-plan.md


1. 왜 V2가 필요한가 (V1 한계)

문제 현재 (V1) 영향
3중 BOM 병렬 Product BOM + Design BOM + Item BOM (JSON) 데이터 불일치, 유지보수 3배
버전 관리 없음 items.bom JSON 덮어쓰기 변경 이력 추적 불가
업종 종속 경동기업 수식 하드코딩 다른 회사 적용 불가
기능 부재 대체품목, 유효기간, 팬텀, 승인 없음 확장 불가

V2 목표: 3중 병렬 → 단일 BOM 엔진, 모든 업종 대응


2. V2 핵심 변경점

2.1 새 테이블 4개

items (기존 유지)
  └── bom 컬럼 → 제거 (관계형으로 이관)

bom_headers (신규)     ← BOM 버전/상태/유효기간
  └── bom_lines (신규)   ← 구성품 목록 (수량, 수식, 로스율, 공정 연결)
       └── bom_substitutes (신규)  ← 대체품목

operations (신규)      ← 공정 라우팅 (BOM-공정 연동)
tenant_bom_settings (신규) ← 테넌트별 BOM 설정

2.2 BOM 유형 4→7종

유형 용도 대표 업종
STANDARD 고정 자재 구성 제조, 유통 세트
FORMULA 수식/배합비 블라인드, 식품, 화장품
CONFIGURABLE 옵션 선택형 보험 특약, 호텔, 가구
ENGINEERING 설계용 (승인 후 STANDARD 전환) 전자, 자동차
PROJECT 수주형 1회성 건설 BOQ, SI, 광고
SERVICE 인력공수 + 실비 컨설팅, 물류, 정비
SUBSCRIPTION 정기 과금/반복 SaaS, 렌탈, 교육

2.3 품목유형 5→15종

기존 유지: FG(완제품), PT(부품), SM(부자재), RM(원자재), CS(소모품)

물리적 추가: SA(반조립), WIP(재공품), PH(팬텀), BP(부산물)

비물리적 추가: SV(서비스), LB(노동), EQ(장비), LC(라이선스), TB(시간제), PK(패키지)

2.4 BOM 버전 워크플로우

DRAFT → PENDING → APPROVED → ACTIVE → OBSOLETE
                                 ↓ (설계 변경)
                          새 REVISION (REV.02)

3. 핵심 테이블 구조

bom_headers

컬럼 타입 설명
item_id FK→items 부모 품목
revision VARCHAR(20) REV.01, REV.02...
bom_type VARCHAR(20) 7종 중 하나
status VARCHAR(20) DRAFT~OBSOLETE
effective_from/to DATE 유효기간
base_qty DECIMAL 기준 수량
source_template_id FK→bom_templates 수식 BOM 연결

bom_lines

컬럼 타입 설명
child_item_id FK→items 자식 품목
quantity DECIMAL 소요량
quantity_formula VARCHAR 수식 ("W1*H1/1e6")
waste_rate DECIMAL 로스율 (5%=0.05)
category VARCHAR 카테고리 그룹명
operation_id FK→operations 공정 연결
is_optional BOOLEAN 옵션 여부
option_group VARCHAR 옵션 그룹 (택1)
duration_value/unit DECIMAL/VARCHAR 기간 (구독/렌탈)
billing_cycle VARCHAR 과금 주기
grade_level VARCHAR 인력 등급

4. V1 → V2 마이그레이션

Phase 1: V2 테이블 생성 (V1 유지)
Phase 2: items.bom JSON → bom_headers + bom_lines 이관
Phase 3: V2 API 추가 (V1 래퍼로 하위호환)
Phase 4: MNG/React UI 전환
Phase 5: V1 items.bom 컬럼 제거

핵심: V1 데이터 100% 무손실 이관, V1 API는 래퍼로 유지하여 점진적 전환


5. 구현 로드맵

Phase 기간 핵심 작업
1 2~3주 DB 테이블 + 모델 + 기본 CRUD API + 데이터 이관
2 2~3주 BOM 트리/전개/역전개 + 버전관리 + Diff
3 3~4주 수식BOM + 대체품목 + 유효기간 + 공정연동 + 승인
4 2~3주 MNG/React UI 전환 + 테넌트 설정 화면

6. 논의 사항

  • Phase 1 시작 시점 (현재 진행 중인 작업과 우선순위)
  • V1 API 래퍼 유지 기간 (프론트엔드 전환 완료까지?)
  • 업종 프리셋 12개 중 Phase 1에서 구현할 범위
  • 비물리적 품목유형 (LB, EQ, LC, TB, PK) 도입 시점
  • Design BOM (bom_templates) 통합 vs. 병존 결정