docs: [bom] BOM V2 전 업종 대응 Universal 아키텍처로 확장
- BOM 유형 4→7종 (PROJECT, SERVICE, SUBSCRIPTION 추가) - item_type 10→15종 (LB노동, EQ장비, LC라이선스, TB시간제, PK패키지) - bom_lines 확장 (기간/과금주기/인력등급/옵션그룹 필드) - 업종 프리셋 5→12 카테고리 (KSIC 22개 업종 커버) - 비제조업 시나리오 (유통/보험/IT/컨설팅/물류/호텔/렌탈/교육) - 업종별 검증 시나리오 12개로 확장
This commit is contained in:
@@ -60,24 +60,49 @@ V1 BOM 시스템
|
||||
### 2.1 핵심 원칙
|
||||
|
||||
```
|
||||
P1. 모든 업종 수용 — 이산/공정/조립/혼합 제조 전부 지원
|
||||
P2. 테넌트별 자율 — BOM 깊이, 유형, 수식을 테넌트가 정의
|
||||
P1. 전 업종 수용 — 제조/유통/건설/서비스/금융/구독 전부 지원
|
||||
P2. 테넌트별 자율 — BOM 깊이, 유형, 수식, 단위를 테넌트가 정의
|
||||
P3. 단일 BOM 엔진 — 3중 병렬 → 1개 통합 BOM 테이블
|
||||
P4. 버전 필수 — 모든 BOM 변경은 리비전으로 관리
|
||||
P5. 하위 호환 — V1 JSON BOM 데이터 무손실 마이그레이션
|
||||
P6. 물리+비물리 — 자재뿐 아니라 노동/서비스/라이선스/구독도 구성요소
|
||||
```
|
||||
|
||||
### 2.2 지원 대상 업종
|
||||
### 2.2 지원 대상 업종 (KSIC 22개 업종 전수 대응)
|
||||
|
||||
| 업종 | BOM 특성 | V2 대응 |
|
||||
|------|---------|---------|
|
||||
| **블라인드/스크린** (현재) | 수식 기반, 가변 사이즈 | 수식 엔진 유지 |
|
||||
| **기계 부품** | 다단계 조립, 가공 공정 | N-Level + Routing |
|
||||
| **전자/반도체** | 대체품목, ECN 관리 | Substitute + Effectivity |
|
||||
| **식품/화학** | 배합비, 수율, 부산물 | Formula BOM + Co-product |
|
||||
| **건설/플랜트** | 프로젝트별 BOM, 대량 자재 | Project BOM + Bulk |
|
||||
| **가구/인테리어** | 옵션 조합, 커스텀 | Configurable BOM |
|
||||
| **의류/섬유** | 사이즈별 BOM, 색상별 원단 | Variant BOM |
|
||||
> BOM = "상품이나 서비스를 구성하는 모든 요소의 구조화된 명세"로 확장 정의
|
||||
|
||||
**A. 제조업 (KSIC C)**
|
||||
|
||||
| 업종 | BOM 특성 | V2 대응 | BOM 유형 | 깊이 |
|
||||
|------|---------|---------|---------|:----:|
|
||||
| 블라인드/스크린 (현재) | 수식 기반, 가변 사이즈 | 수식 엔진 유지 | FORMULA | 3~5 |
|
||||
| 기계/금속 부품 | 다단계 조립, 가공 공정 | N-Level + Routing | STANDARD | 4~7 |
|
||||
| 전자/반도체 | 대체품목, ECN, 팬텀 | Substitute + Effectivity | STANDARD+ENGINEERING | 7~12 |
|
||||
| 식품/음료/화장품 | 배합비, 수율, 전성분 | Formula BOM + Co-product | FORMULA | 2~5 |
|
||||
| 의류/섬유 | 사이즈/컬러 변형 | Variant BOM (매트릭스) | CONFIGURABLE | 2~3 |
|
||||
| 자동차/부품 | EBOM→MBOM→SBOM 전환 | 3단계 BOM 라이프사이클 | CONFIGURABLE | 7~12 |
|
||||
| 조선/중공업 | 블록 단위, 3D 연계 | 프로젝트 BOM + 블록 분해 | PROJECT | 8~15 |
|
||||
| 제약/의료기기 | GMP, 로트 추적, 유효기한 | Formula + 추적성 | FORMULA | 3~8 |
|
||||
|
||||
**B. 비제조업 — 서비스/유통/금융**
|
||||
|
||||
| 업종 | BOM = 구성요소 | V2 대응 | BOM 유형 | 깊이 |
|
||||
|------|-------------|---------|---------|:----:|
|
||||
| 유통/이커머스 | 묶음 세트, 사은품, 포장 | Kit/Bundle BOM | STANDARD | 2~3 |
|
||||
| 건설/인테리어 | 자재+인력+장비+외주 (BOQ) | Project BOM + 4요소 혼합 | PROJECT | 4~6 |
|
||||
| IT/SaaS | 기능모듈, 인프라, 라이선스 | Subscription BOM + 티어 | SUBSCRIPTION | 2~4 |
|
||||
| 보험/금융 | 주계약+특약+담보 | Configurable BOM + 요율 | CONFIGURABLE | 2~4 |
|
||||
| 물류/운송 | 차량+인력+연료+운임 | Service BOM + 수식 운임 | SERVICE | 2~3 |
|
||||
| 교육/이러닝 | 강의+교재+플랫폼+부가 | Subscription BOM | SUBSCRIPTION | 2~4 |
|
||||
| 호텔/관광/여행 | 숙박+식사+교통+관광 | Configurable + 동적 요금 | CONFIGURABLE | 2~3 |
|
||||
| 광고/마케팅 | 인력+미디어비+제작비 | Project BOM + 외주 | PROJECT | 3~4 |
|
||||
| 법률/회계/컨설팅 | 인력공수+실비+외주 | Service BOM (타임차지) | SERVICE | 2~3 |
|
||||
| 인력파견/아웃소싱 | 인력+4대보험+수수료 | Service BOM + 등급단가 | SERVICE | 2~3 |
|
||||
| 렌탈/리스/구독 | 제품원가+소모품+금융비 | Subscription + 정기교체 | SUBSCRIPTION | 2~4 |
|
||||
| 부동산/건물관리 | 인력+소모품+법정점검 | Service BOM + SLA | SERVICE | 2~4 |
|
||||
| 에너지/플랜트 | EPC 통합 (설계+조달+시공) | Project BOM + O&M | PROJECT | 4~6 |
|
||||
| 인쇄/출판/미디어 | 용지+잉크+공정+인력 | Project BOM + 부수 단가 | PROJECT | 3~4 |
|
||||
|
||||
---
|
||||
|
||||
@@ -89,7 +114,7 @@ P5. 하위 호환 — V1 JSON BOM 데이터 무손실 마이그레이션
|
||||
V2 BOM 테이블 구조
|
||||
|
||||
items (기존 유지 + 확장)
|
||||
├── item_type 확장: FG, SA, PT, WIP, PH, SM, RM, CS, BP, SV
|
||||
├── item_type 확장: FG, SA, PT, WIP, PH, SM, RM, CS, BP, SV, LB, EQ, LC, TB, PK
|
||||
└── bom 컬럼: 제거 (관계형으로 이관)
|
||||
|
||||
bom_headers (신규 — BOM 헤더/버전)
|
||||
@@ -97,7 +122,7 @@ bom_headers (신규 — BOM 헤더/버전)
|
||||
├── revision (REV.01, REV.02 ...)
|
||||
├── status (DRAFT → PENDING → APPROVED → ACTIVE → OBSOLETE)
|
||||
├── effective_from / effective_to
|
||||
└── bom_type (STANDARD | ENGINEERING | CONFIGURABLE | FORMULA)
|
||||
└── bom_type (STANDARD | ENGINEERING | CONFIGURABLE | FORMULA | PROJECT | SERVICE | SUBSCRIPTION)
|
||||
|
||||
bom_lines (신규 — BOM 라인/구성품)
|
||||
├── bom_header_id → bom_headers
|
||||
@@ -143,22 +168,34 @@ bom_templates (기존 유지) │
|
||||
└── 수식 산출 → bom_headers 자동 생성 ───────────────┘
|
||||
```
|
||||
|
||||
### 3.3 items.item_type 확장
|
||||
### 3.3 items.item_type 확장 (5→15종)
|
||||
|
||||
| 코드 | 한글 | 설명 | V1 | V2 |
|
||||
|------|------|------|:--:|:--:|
|
||||
| `FG` | 완제품 | 판매 가능한 최종 제품 | O | O |
|
||||
| `SA` | 반조립품 | 중간 조립품 (재고 관리됨) | - | **신규** |
|
||||
| `PT` | 부품 | 구성 부품 | O | O |
|
||||
| `WIP` | 재공품 | 가공 중인 중간 산출물 | - | **신규** |
|
||||
| `PH` | 팬텀 | 가상 그룹 (재고 없음, BOM 전개 시 투과) | - | **신규** |
|
||||
| `SM` | 부자재 | 보조 자재 | O | O |
|
||||
| `RM` | 원자재 | 주요 원료 | O | O |
|
||||
| `CS` | 소모품 | 일회성 소모 자재 | O | O |
|
||||
| `BP` | 부산물 | 생산 시 발생하는 부산물 | - | **신규** |
|
||||
| `SV` | 서비스 | 외주 가공, 검사비 등 비물리 항목 | - | **신규** |
|
||||
**물리적 품목 (Physical)**
|
||||
|
||||
> 테넌트별로 사용할 유형을 선택할 수 있다. 블라인드 업체는 FG/PT/SM/RM/CS만, 전자업체는 SA/PH까지 활성화.
|
||||
| 코드 | 한글 | 설명 | V1 | V2 | 대표 업종 |
|
||||
|------|------|------|:--:|:--:|---------|
|
||||
| `FG` | 완제품 | 판매 가능한 최종 제품 | O | O | 전 업종 |
|
||||
| `SA` | 반조립품 | 중간 조립품 (재고 관리됨) | - | **신규** | 전자, 자동차, 가구 |
|
||||
| `PT` | 부품 | 구성 부품 | O | O | 전 업종 |
|
||||
| `WIP` | 재공품 | 가공 중인 중간 산출물 | - | **신규** | 제조업 전반 |
|
||||
| `PH` | 팬텀 | 가상 그룹 (재고 없음, BOM 전개 시 투과) | - | **신규** | 전자, 조선 |
|
||||
| `SM` | 부자재 | 보조 자재 | O | O | 전 업종 |
|
||||
| `RM` | 원자재 | 주요 원료 | O | O | 제조업, 건설, 식품 |
|
||||
| `CS` | 소모품 | 일회성 소모 자재 | O | O | 전 업종 |
|
||||
| `BP` | 부산물 | 생산 시 발생하는 부산물 | - | **신규** | 식품, 화학, 제약 |
|
||||
|
||||
**비물리적 품목 (Non-Physical) — 서비스/유통/금융 업종 핵심**
|
||||
|
||||
| 코드 | 한글 | 설명 | V1 | V2 | 대표 업종 |
|
||||
|------|------|------|:--:|:--:|---------|
|
||||
| `SV` | 서비스 | 외주 가공, 검사비, 용역 | - | **신규** | 전 업종 |
|
||||
| `LB` | 노동 | 인력 공수 (M/M, M/D, 시간) | - | **신규** | 건설, IT, 컨설팅, 광고 |
|
||||
| `EQ` | 장비 | 장비/설비 임대, 감가상각 할당 | - | **신규** | 건설, 물류, 인쇄 |
|
||||
| `LC` | 라이선스 | SW 라이선스, 저작권, 특허 | - | **신규** | IT, 미디어, 교육 |
|
||||
| `TB` | 시간제 | 시간/기간 기반 항목 (숙박, 구독) | - | **신규** | 호텔, 렌탈, 교육 |
|
||||
| `PK` | 패키지 | 복합 상품 패키지 (보험 특약, 여행 패키지) | - | **신규** | 보험, 여행, 유통 |
|
||||
|
||||
> 테넌트별로 사용할 유형을 선택한다. 블라인드 업체는 FG/PT/SM/RM/CS만, IT SaaS는 FG/PK/LC/TB/SV를 활성화.
|
||||
|
||||
### 3.4 bom_headers 상세
|
||||
|
||||
@@ -169,10 +206,13 @@ CREATE TABLE bom_headers (
|
||||
item_id BIGINT UNSIGNED NOT NULL, -- 부모 품목
|
||||
revision VARCHAR(20) NOT NULL DEFAULT 'REV.01',
|
||||
bom_type VARCHAR(20) NOT NULL DEFAULT 'STANDARD',
|
||||
-- STANDARD: 일반 BOM
|
||||
-- ENGINEERING: 설계용 (비생산)
|
||||
-- CONFIGURABLE: 옵션 조합 BOM
|
||||
-- FORMULA: 배합/수식 BOM
|
||||
-- STANDARD: 고정 자재 구성 (제조, 유통 세트)
|
||||
-- ENGINEERING: 설계용 (비생산, 승인 후 STANDARD 전환)
|
||||
-- CONFIGURABLE: 옵션 조합 (보험 특약, 호텔 패키지, 차량 옵션)
|
||||
-- FORMULA: 배합/수식 (식품, 화장품, 블라인드 수식 산출)
|
||||
-- PROJECT: 수주형 1회성 (건설 BOQ, 광고 캠페인, SI 프로젝트)
|
||||
-- SERVICE: 노동/시간 중심 (컨설팅, 물류, FM, 인력파견)
|
||||
-- SUBSCRIPTION: 구독/반복 과금 (SaaS, 렌탈, 교육, 멤버십)
|
||||
status VARCHAR(20) NOT NULL DEFAULT 'DRAFT',
|
||||
-- DRAFT → PENDING → APPROVED → ACTIVE → OBSOLETE
|
||||
effective_from DATE NULL, -- 유효 시작
|
||||
@@ -214,7 +254,15 @@ CREATE TABLE bom_lines (
|
||||
effective_from DATE NULL, -- 라인별 유효 시작
|
||||
effective_to DATE NULL, -- 라인별 유효 종료
|
||||
is_phantom TINYINT(1) NOT NULL DEFAULT 0, -- 팬텀 여부 (BOM 전개 시 투과)
|
||||
is_optional TINYINT(1) NOT NULL DEFAULT 0, -- 옵션 여부 (CONFIGURABLE BOM)
|
||||
option_group VARCHAR(100) NULL, -- 옵션 그룹명 (같은 그룹 내 택1)
|
||||
supply_type VARCHAR(20) DEFAULT 'STOCK', -- STOCK | PURCHASE | SUBCONTRACT
|
||||
-- 비물리적 항목용 필드 (서비스/노동/구독)
|
||||
duration_value DECIMAL(10,2) NULL, -- 기간 값 (숙박 2박, 구독 12개월)
|
||||
duration_unit VARCHAR(20) NULL, -- 기간 단위 (DAY|MONTH|YEAR|HOUR)
|
||||
billing_cycle VARCHAR(20) NULL, -- 과금 주기 (MONTHLY|YEARLY|ONCE)
|
||||
grade_level VARCHAR(50) NULL, -- 인력 등급 (시니어/주니어, 파트너/어소)
|
||||
unit_price DECIMAL(18,4) NULL, -- 단가 (시간당, 월당, 건당)
|
||||
sort_order INT NOT NULL DEFAULT 0,
|
||||
notes VARCHAR(500) NULL,
|
||||
options JSON NULL, -- 확장 속성
|
||||
@@ -324,6 +372,89 @@ STANDARD BOM (생산팀)
|
||||
새 REVISION 생성 (REV.02)
|
||||
```
|
||||
|
||||
### 4.5 PROJECT BOM (프로젝트 BOM)
|
||||
|
||||
수주형 1회성 프로젝트. 건설 BOQ, SI 프로젝트, 광고 캠페인 등.
|
||||
|
||||
```
|
||||
PRJ-APT (아파트 신축 프로젝트) [PROJECT]
|
||||
├── [공종: 토목기초]
|
||||
│ ├── RM-철근 x120 톤 → 조달: 구매
|
||||
│ ├── RM-레미콘 x800 m³ → 조달: 구매
|
||||
│ ├── LB-철근공 x40 M/D → grade: 기능공
|
||||
│ └── EQ-크레인 x30 일 → duration: 30 DAY
|
||||
├── [공종: 골조]
|
||||
│ ├── RM-철근 x350 톤
|
||||
│ ├── LB-형틀목공 x80 M/D
|
||||
│ └── EQ-타워크레인 x90 일
|
||||
├── [공종: 전기설비]
|
||||
│ ├── PT-배전반 x3 SET
|
||||
│ └── LB-전기공 x60 M/D → grade: 특급기능공
|
||||
└── [외주]
|
||||
└── SV-소방설비 x1 식 → supply: SUBCONTRACT
|
||||
```
|
||||
|
||||
### 4.6 SERVICE BOM (서비스 BOM)
|
||||
|
||||
노동/시간 중심. 컨설팅, 물류, 시설관리, 인력파견 등.
|
||||
|
||||
```
|
||||
SV-CONSULTING (경영 컨설팅 프로젝트) [SERVICE]
|
||||
├── [인력]
|
||||
│ ├── LB-프로젝트리더 x3 M/M → grade: 파트너, unit_price: 2000만/월
|
||||
│ ├── LB-시니어컨설턴트 x6 M/M → grade: 시니어, unit_price: 1200만/월
|
||||
│ └── LB-주니어컨설턴트 x12 M/M → grade: 주니어, unit_price: 700만/월
|
||||
├── [도구/솔루션]
|
||||
│ ├── LC-분석SW라이선스 x3 개월 → billing: MONTHLY
|
||||
│ └── LC-설문플랫폼 x1 개월
|
||||
├── [실비]
|
||||
│ ├── CS-출장교통비 x20 건
|
||||
│ └── CS-인쇄비 x500 부
|
||||
└── [산출물]
|
||||
├── SV-현황진단보고서 x1 건
|
||||
└── SV-전략보고서 x1 건
|
||||
|
||||
SV-LOGISTICS (화물운송) [SERVICE]
|
||||
├── EQ-5톤냉장탑차 x1 대
|
||||
├── LB-운전기사 x8 시간 → grade: 1종대형
|
||||
├── RM-경유 qty_formula="거리km * 0.12" → 수식: 거리 비례
|
||||
├── SV-상하차인력 x2 인·시간 → optional: true
|
||||
└── PK-화물보험 x1 건 → optional: true, 화물가액 비례
|
||||
```
|
||||
|
||||
### 4.7 SUBSCRIPTION BOM (구독 BOM)
|
||||
|
||||
기간/과금 기반 반복 서비스. SaaS, 렌탈, 교육, 멤버십 등.
|
||||
|
||||
```
|
||||
PK-SAAS-ENT (ERP SaaS Enterprise 플랜) [SUBSCRIPTION]
|
||||
├── [기능 모듈] — billing: MONTHLY
|
||||
│ ├── LC-재무회계모듈 x1 → 포함
|
||||
│ ├── LC-생산관리모듈 x1 → 포함
|
||||
│ ├── LC-인사급여모듈 x1 → 포함
|
||||
│ └── LC-구매물류모듈 x1 → 포함
|
||||
├── [인프라]
|
||||
│ ├── TB-vCPU x8 코어 → billing: MONTHLY
|
||||
│ ├── TB-메모리 x32 GB
|
||||
│ └── TB-스토리지 x500 GB
|
||||
├── [라이선스]
|
||||
│ ├── LC-사용자계정 x50 User → billing: MONTHLY
|
||||
│ └── LC-동시접속 x20 Session
|
||||
└── [옵션 부가서비스] — optional: true
|
||||
├── SV-전담CS지원 x10 시간/월 → option_group: "support"
|
||||
├── SV-데이터백업 x1 일1회 → option_group: "backup"
|
||||
└── SV-교육 x2 회/연 → option_group: "training"
|
||||
|
||||
PK-RENTAL (정수기 렌탈) [SUBSCRIPTION]
|
||||
├── FG-정수기본체 x1 EA → 감가상각: 60개월
|
||||
├── [정기 교체 소모품] — duration_unit: MONTH
|
||||
│ ├── PT-세디먼트필터 x1 EA → 교체주기: 6개월
|
||||
│ ├── PT-카본필터 x1 EA → 교체주기: 6개월
|
||||
│ └── PT-UF멤브레인 x1 EA → 교체주기: 12개월
|
||||
├── LB-위생점검인력 x1 회/월 → billing: MONTHLY
|
||||
└── SV-금융비용 x1 식 → unit_price: 취득가 × 조달금리 / 계약개월
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. BOM 버전 관리
|
||||
@@ -506,6 +637,12 @@ CREATE TABLE tenant_bom_settings (
|
||||
use_phantom BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
-- 수식 BOM 사용 여부
|
||||
use_formula_bom BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
-- 비물리적 항목 (서비스/노동/구독) 사용 여부
|
||||
use_labor_items BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
-- 구독/과금 주기 관리 여부
|
||||
use_billing_cycle BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
-- 옵션 BOM (CONFIGURABLE) 사용 여부
|
||||
use_option_groups BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
-- 카테고리 그룹 표시 방식
|
||||
category_display VARCHAR(20) DEFAULT 'FOLDER', -- FOLDER | FLAT | NONE
|
||||
-- 커스텀 BOM 라인 필드 (테넌트별 확장)
|
||||
@@ -516,52 +653,117 @@ CREATE TABLE tenant_bom_settings (
|
||||
);
|
||||
```
|
||||
|
||||
### 8.2 업종별 프리셋
|
||||
### 8.2 업종별 프리셋 (12 카테고리, KSIC 22개 업종 커버)
|
||||
|
||||
| 프리셋 ID | 대상 업종 | KSIC | BOM 유형 | 품목 유형 |
|
||||
|-----------|---------|------|---------|---------|
|
||||
| `mfg_discrete` | 기계/금속/전자 제조 | C25~C28 | STANDARD, ENGINEERING | FG,SA,PT,PH,WIP,SM,RM,CS |
|
||||
| `mfg_formula` | 식품/화학/화장품/제약 | C10~C21 | FORMULA, STANDARD | FG,PT,RM,CS,BP,SV |
|
||||
| `mfg_custom` | 블라인드/가구/의류 | C13~C32 | FORMULA, CONFIGURABLE | FG,PT,WIP,SM,RM,CS,SV |
|
||||
| `mfg_heavy` | 자동차/조선/중공업 | C30,C281 | STANDARD, CONFIGURABLE, ENGINEERING | FG,SA,PT,PH,WIP,SM,RM,CS,SV |
|
||||
| `construction` | 건설/인테리어/에너지 | F41~42, D35 | PROJECT, CONFIGURABLE | FG,PT,SM,RM,CS,LB,EQ,SV |
|
||||
| `distribution` | 유통/도소매/이커머스 | G45~47 | STANDARD | FG,PT,SM,CS,PK |
|
||||
| `it_saas` | IT/SaaS/솔루션 | J58~63 | SUBSCRIPTION, PROJECT | FG,PK,LC,TB,LB,SV |
|
||||
| `finance_insurance` | 보험/금융 | K64~66 | CONFIGURABLE, SUBSCRIPTION | FG,PK,SV,TB |
|
||||
| `professional` | 법률/회계/컨설팅/광고 | M69~71 | SERVICE, PROJECT | SV,LB,LC,CS,EQ |
|
||||
| `logistics` | 물류/운송/인력파견 | H49~52, N78 | SERVICE | SV,LB,EQ,CS,PK |
|
||||
| `hospitality` | 호텔/관광/교육 | I55, N79, P85 | CONFIGURABLE, SUBSCRIPTION | FG,PK,SV,TB,LB |
|
||||
| `rental` | 렌탈/리스/구독 | N77, K64 | SUBSCRIPTION | FG,PT,CS,SV,TB,LB |
|
||||
|
||||
**프리셋 상세 (JSON)**
|
||||
|
||||
```json
|
||||
{
|
||||
"presets": {
|
||||
"blind_screen": {
|
||||
"label": "블라인드/스크린 제조",
|
||||
"enabled_item_types": ["FG", "PT", "WIP", "SM", "RM", "CS", "SV"],
|
||||
"enabled_bom_types": ["STANDARD", "FORMULA"],
|
||||
"max_bom_depth": 5,
|
||||
"use_formula_bom": true,
|
||||
"use_waste_rate": true,
|
||||
"use_routing": true,
|
||||
"category_display": "FOLDER"
|
||||
},
|
||||
"electronics": {
|
||||
"label": "전자/반도체",
|
||||
"enabled_item_types": ["FG", "SA", "PT", "PH", "SM", "RM", "CS"],
|
||||
"enabled_bom_types": ["STANDARD", "ENGINEERING"],
|
||||
"max_bom_depth": 15,
|
||||
"require_approval": true,
|
||||
"use_effectivity": true,
|
||||
"use_substitutes": true,
|
||||
"use_phantom": true
|
||||
},
|
||||
"food_chemical": {
|
||||
"label": "식품/화학",
|
||||
"enabled_item_types": ["FG", "PT", "RM", "CS", "BP"],
|
||||
"enabled_bom_types": ["STANDARD", "FORMULA"],
|
||||
"use_formula_bom": true,
|
||||
"use_waste_rate": true,
|
||||
"category_display": "FLAT"
|
||||
},
|
||||
"furniture": {
|
||||
"label": "가구/인테리어",
|
||||
"enabled_item_types": ["FG", "SA", "PT", "SM", "RM"],
|
||||
"enabled_bom_types": ["STANDARD", "CONFIGURABLE"],
|
||||
"max_bom_depth": 5
|
||||
},
|
||||
"simple_assembly": {
|
||||
"label": "단순 조립",
|
||||
"enabled_item_types": ["FG", "PT", "SM", "RM", "CS"],
|
||||
"enabled_bom_types": ["STANDARD"],
|
||||
"max_bom_depth": 3,
|
||||
"category_display": "FLAT"
|
||||
}
|
||||
"mfg_discrete": {
|
||||
"label": "이산/조립 제조 (기계, 전자, 금속)",
|
||||
"enabled_item_types": ["FG","SA","PT","PH","WIP","SM","RM","CS"],
|
||||
"enabled_bom_types": ["STANDARD","ENGINEERING"],
|
||||
"max_bom_depth": 15,
|
||||
"require_approval": true,
|
||||
"use_effectivity": true,
|
||||
"use_substitutes": true,
|
||||
"use_phantom": true,
|
||||
"use_routing": true,
|
||||
"use_waste_rate": true,
|
||||
"category_display": "FOLDER"
|
||||
},
|
||||
"mfg_formula": {
|
||||
"label": "배합/공정 제조 (식품, 화학, 화장품, 제약)",
|
||||
"enabled_item_types": ["FG","PT","RM","CS","BP","SV"],
|
||||
"enabled_bom_types": ["FORMULA","STANDARD"],
|
||||
"max_bom_depth": 5,
|
||||
"use_formula_bom": true,
|
||||
"use_waste_rate": true,
|
||||
"use_routing": true,
|
||||
"category_display": "FLAT"
|
||||
},
|
||||
"mfg_custom": {
|
||||
"label": "주문 제작 (블라인드, 가구, 의류)",
|
||||
"enabled_item_types": ["FG","PT","WIP","SM","RM","CS","SV"],
|
||||
"enabled_bom_types": ["FORMULA","CONFIGURABLE","STANDARD"],
|
||||
"max_bom_depth": 5,
|
||||
"use_formula_bom": true,
|
||||
"use_waste_rate": true,
|
||||
"use_routing": true,
|
||||
"category_display": "FOLDER"
|
||||
},
|
||||
"construction": {
|
||||
"label": "건설/인테리어/에너지 (BOQ+WBS)",
|
||||
"enabled_item_types": ["FG","PT","SM","RM","CS","LB","EQ","SV"],
|
||||
"enabled_bom_types": ["PROJECT","CONFIGURABLE"],
|
||||
"max_bom_depth": 6,
|
||||
"use_routing": true,
|
||||
"category_display": "FOLDER"
|
||||
},
|
||||
"distribution": {
|
||||
"label": "유통/도소매 (세트/번들)",
|
||||
"enabled_item_types": ["FG","PT","SM","CS","PK"],
|
||||
"enabled_bom_types": ["STANDARD"],
|
||||
"max_bom_depth": 3,
|
||||
"category_display": "FLAT"
|
||||
},
|
||||
"it_saas": {
|
||||
"label": "IT/SaaS/솔루션 (구독+프로젝트)",
|
||||
"enabled_item_types": ["FG","PK","LC","TB","LB","SV"],
|
||||
"enabled_bom_types": ["SUBSCRIPTION","PROJECT"],
|
||||
"max_bom_depth": 4,
|
||||
"category_display": "FOLDER"
|
||||
},
|
||||
"finance_insurance": {
|
||||
"label": "보험/금융 (주계약+특약)",
|
||||
"enabled_item_types": ["FG","PK","SV","TB"],
|
||||
"enabled_bom_types": ["CONFIGURABLE","SUBSCRIPTION"],
|
||||
"max_bom_depth": 4,
|
||||
"category_display": "FOLDER"
|
||||
},
|
||||
"professional": {
|
||||
"label": "전문 서비스 (법률, 회계, 컨설팅, 광고)",
|
||||
"enabled_item_types": ["SV","LB","LC","CS","EQ"],
|
||||
"enabled_bom_types": ["SERVICE","PROJECT"],
|
||||
"max_bom_depth": 4,
|
||||
"category_display": "FLAT"
|
||||
},
|
||||
"logistics": {
|
||||
"label": "물류/운송/인력파견",
|
||||
"enabled_item_types": ["SV","LB","EQ","CS","PK"],
|
||||
"enabled_bom_types": ["SERVICE"],
|
||||
"max_bom_depth": 3,
|
||||
"use_formula_bom": true,
|
||||
"category_display": "FLAT"
|
||||
},
|
||||
"hospitality": {
|
||||
"label": "호텔/관광/교육/여행",
|
||||
"enabled_item_types": ["FG","PK","SV","TB","LB"],
|
||||
"enabled_bom_types": ["CONFIGURABLE","SUBSCRIPTION"],
|
||||
"max_bom_depth": 3,
|
||||
"category_display": "FOLDER"
|
||||
},
|
||||
"rental": {
|
||||
"label": "렌탈/리스/구독 서비스",
|
||||
"enabled_item_types": ["FG","PT","CS","SV","TB","LB"],
|
||||
"enabled_bom_types": ["SUBSCRIPTION"],
|
||||
"max_bom_depth": 4,
|
||||
"category_display": "FOLDER"
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -762,47 +964,116 @@ foreach (Item::whereNotNull('bom')->cursor() as $item) {
|
||||
|
||||
---
|
||||
|
||||
## 12. 업종별 시나리오 검증
|
||||
## 12. 업종별 시나리오 검증 (12개)
|
||||
|
||||
### 12.1 블라인드/스크린 (현재)
|
||||
### A. 제조업군
|
||||
|
||||
**12.1 블라인드/스크린** (현재 고객, mfg_custom)
|
||||
```
|
||||
설정: STANDARD + FORMULA, WIP 사용, 카테고리 FOLDER
|
||||
검증:
|
||||
✓ 수식 산출 → BOM 자동 생성
|
||||
✓ 절곡품(WIP) BOM 트리
|
||||
✓ 카테고리 그룹 표시
|
||||
✓ V1 데이터 100% 호환
|
||||
프리셋: mfg_custom
|
||||
BOM 유형: FORMULA + STANDARD
|
||||
검증: ✓ 수식 산출 → BOM 저장, ✓ WIP 절곡품 트리, ✓ 카테고리 FOLDER, ✓ V1 100% 호환
|
||||
```
|
||||
|
||||
### 12.2 전자부품 제조
|
||||
|
||||
**12.2 전자부품** (mfg_discrete)
|
||||
```
|
||||
설정: STANDARD + ENGINEERING, SA/PH 사용, 승인 필수, 대체품목, ECN
|
||||
검증:
|
||||
✓ 15단계 BOM 깊이
|
||||
✓ 팬텀 품목 투과 전개
|
||||
✓ ECN 시 일괄 품목 대체
|
||||
✓ 리비전별 유효기간 관리
|
||||
프리셋: mfg_discrete
|
||||
BOM 유형: STANDARD + ENGINEERING
|
||||
검증: ✓ 15단계 BOM, ✓ 팬텀 투과, ✓ ECN 일괄 대체, ✓ 유효기간, ✓ 승인 워크플로우
|
||||
```
|
||||
|
||||
### 12.3 식품 제조
|
||||
|
||||
**12.3 식품/화장품** (mfg_formula)
|
||||
```
|
||||
설정: FORMULA, 수율 관리, 부산물(BP)
|
||||
검증:
|
||||
✓ 배합비 수식 (A원료 30% + B원료 70%)
|
||||
✓ 로스율 반영 투입량
|
||||
✓ 부산물 자동 등록
|
||||
프리셋: mfg_formula
|
||||
BOM 유형: FORMULA
|
||||
검증: ✓ 배합비(%) 수식, ✓ 수율/로스, ✓ 부산물(BP), ✓ 전성분 목록 추출
|
||||
```
|
||||
|
||||
### 12.4 가구 주문제작
|
||||
|
||||
**12.4 건설/인테리어** (construction)
|
||||
```
|
||||
설정: CONFIGURABLE, 옵션 조합
|
||||
검증:
|
||||
✓ 상판/다리/마감 옵션별 BOM 분기
|
||||
✓ 주문 시 옵션 선택 → BOM 확정
|
||||
프리셋: construction
|
||||
BOM 유형: PROJECT
|
||||
검증: ✓ 공종별 자재+노동(LB)+장비(EQ)+외주(SV) 4요소
|
||||
✓ 단위 다양성 (m³, 톤, M/D, 식)
|
||||
✓ 공정표 연동, ✓ 설계 변경 리비전
|
||||
```
|
||||
|
||||
### B. 서비스/유통군
|
||||
|
||||
**12.5 유통/이커머스** (distribution)
|
||||
```
|
||||
프리셋: distribution
|
||||
BOM 유형: STANDARD
|
||||
검증: ✓ 3종 세트 → 단품 재고 차감, ✓ 사은품/포장재 포함, ✓ 시즌 구성 변경
|
||||
```
|
||||
|
||||
**12.6 IT SaaS** (it_saas)
|
||||
```
|
||||
프리셋: it_saas
|
||||
BOM 유형: SUBSCRIPTION
|
||||
검증: ✓ 기능모듈(LC) + 인프라(TB) + 사용자수(LC) 구성
|
||||
✓ 월/연 과금 주기(billing_cycle)
|
||||
✓ 티어 업그레이드 (옵션 추가)
|
||||
✓ 프로젝트형 SI는 PROJECT로 분리
|
||||
```
|
||||
|
||||
**12.7 보험/금융** (finance_insurance)
|
||||
```
|
||||
프리셋: finance_insurance
|
||||
BOM 유형: CONFIGURABLE + SUBSCRIPTION
|
||||
검증: ✓ 주계약(FG) + 필수특약(PK) + 선택특약(PK, optional)
|
||||
✓ option_group: "암담보", "뇌혈관" (택1)
|
||||
✓ 갱신형: billing_cycle=YEARLY, duration=10 YEAR
|
||||
✓ 나이/성별 요율 → options JSON으로 단가 테이블 연결
|
||||
```
|
||||
|
||||
**12.8 법률/컨설팅** (professional)
|
||||
```
|
||||
프리셋: professional
|
||||
BOM 유형: SERVICE
|
||||
검증: ✓ 인력(LB) grade별 시간단가 (파트너 50만/h, 어소 15만/h)
|
||||
✓ 공수 M/M 환산 (1M/M = 160h)
|
||||
✓ 실비(CS) + 외주(SV) + 라이선스(LC) 혼합
|
||||
✓ 타임차지 vs. 고정가 구분 (bom_type으로)
|
||||
```
|
||||
|
||||
**12.9 물류/운송** (logistics)
|
||||
```
|
||||
프리셋: logistics
|
||||
BOM 유형: SERVICE
|
||||
검증: ✓ 차량(EQ) + 기사(LB) + 연료(RM, qty_formula) 구성
|
||||
✓ 운임 수식: "거리km * 중량톤 * 기본단가 * 할증계수"
|
||||
✓ 옵션: 상하차 인력, 포장, 보험 (is_optional)
|
||||
```
|
||||
|
||||
**12.10 호텔/여행** (hospitality)
|
||||
```
|
||||
프리셋: hospitality
|
||||
BOM 유형: CONFIGURABLE
|
||||
검증: ✓ 숙박(TB, 2박) + 조식(SV, 2회) + 부대시설(SV) 구성
|
||||
✓ 옵션: 스파, 레이트체크아웃 (option_group)
|
||||
✓ 여행 패키지: 항공(SV)+숙박(TB)+가이드(LB)+입장(SV) 구성
|
||||
✓ 성수기 단가 계수 → options JSON
|
||||
```
|
||||
|
||||
**12.11 렌탈/구독** (rental)
|
||||
```
|
||||
프리셋: rental
|
||||
BOM 유형: SUBSCRIPTION
|
||||
검증: ✓ 본체(FG) + 소모품(PT, 교체주기) + 점검인력(LB) 구성
|
||||
✓ 정기 교체: duration_value=6, duration_unit=MONTH
|
||||
✓ 감가상각: 제품원가 ÷ 계약개월 = 월 원가
|
||||
✓ 해지 시 잔존가치 계산
|
||||
```
|
||||
|
||||
**12.12 교육/이러닝** (hospitality)
|
||||
```
|
||||
프리셋: hospitality
|
||||
BOM 유형: SUBSCRIPTION
|
||||
검증: ✓ 강의콘텐츠(LC, 120강) + 교재(FG) + 플랫폼(TB) 구성
|
||||
✓ 구독기간: duration=6 MONTH, billing=MONTHLY
|
||||
✓ 옵션: 라이브Q&A(SV), AI분석(SV), 첨삭(LB)
|
||||
✓ 접근 권한 제어 (단원별 잠금/해제)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user