BOM 산출 아이템 ↔ Items Master 매핑 분석
분석일: 2026-02-05
대상: 경동기업 (tenant_id: 287)
범위: BOM 산출 로직(KyungdongFormulaHandler) 전체 아이템 → SAM Items Master + 5130(chandj) DB
1. 요약
| 항목 |
수치 |
| 5130(KDunitprice) 총 아이템 |
601개 |
| SAM Items Master 총 아이템 |
780개 |
| 5130 → SAM 코드 매칭률 |
100% (601/601) |
| SAM 견적 전용 아이템 (EST/BD/PT/PM) |
157개 |
| BOM 산출 생성 아이템 종류 |
22종 |
| BOM → SAM 매핑 완료 |
17종 |
| BOM → SAM 미매핑 |
5종 |
핵심 결론
- 5130 → SAM 마이그레이션은 100% 완료 (코드 기준 전수 매칭)
- BOM 산출 로직에서 생성하는 22종 아이템 중 5종이 SAM items master에 미등록
- 미등록 5종: 케이스 마구리, L바, 무게평철12T, 검사비, 주자재(스크린/슬랫)
- SAM에는 이미 견적 전용 코드 체계(EST-, BD-, PT-, PM-)가 구축되어 있음
2. 5130(chandj) DB 구조
2.1 주요 테이블
| 테이블 |
건수 |
용도 |
| KDunitprice |
601건 |
품목 단가 마스터 (SAM의 items 테이블에 해당) |
| item_list |
9건 |
견적 품목 분류 (스크린, 셔터박스, 연기장벽 등) |
| parts |
37건 |
부품 (가이드레일, 하단마감재 등 - 모델별) |
| BDparts |
- |
절곡품 부품 |
| price_angle |
2건 |
앵글 단가표 (JSON 배열) |
| price_bend |
- |
절곡 단가표 |
| price_motor |
- |
모터 단가표 |
| price_pipe |
- |
파이프 단가표 |
| price_pole |
- |
환봉 단가표 |
| price_raw_materials |
- |
원자재 단가표 |
| price_screenplate |
- |
스크린판 단가표 |
| price_shaft |
- |
샤프트 단가표 |
| price_smokeban |
- |
연기차단재 단가표 |
| price_etc |
- |
기타 단가표 |
2.2 KDunitprice 코드 체계
| 코드 접두사 |
범위 |
분류 |
비고 |
| 00xxx |
00002~00046 |
부품/부재료 |
하장바, 가이드레일, 평철 등 |
| 20xxx |
20000~20011 |
SUS 원재료 |
SUS 1.2T, 1.5T 판재 |
| 30xxx |
30000~30006 |
EGI 원재료 + 운송 |
EGI 판재, 운송료 |
| 50xxx |
50000~50004 |
서비스 |
수리비, 제품개발, LED, 사용료 |
| 70xxx |
70001~70102 |
KD 모터/브라켓/제어기 |
경동 자체 생산품 |
| 80xxx |
80006~80202 |
기타 부품/자재 |
절곡가공, 가스켓, 점검구 등 |
| 81xxx |
81000 |
기타 |
텐텐지롤 |
| 90xxx |
90100~90727 |
반제품/부자재 |
커넥터, 환봉, 링, 복주머니 등 |
| Hxxxx |
H0001~H0020 |
철골자재 |
각파이프, 앵글 |
| K1xxx~K2xxx |
K1011~K2029 |
작업복/안전화 |
(비생산 품목) |
| Mxxxx |
M0001~M0059 |
외주 모터/브라켓 |
IS, HY, KST 등 |
| MCCD |
MCCD0001 |
방범연동기 |
|
| Nxxxx |
N71100~N76101 |
신형 모터/브라켓/제어기 |
N시리즈 |
| Rxxxx |
R0001~R0008 |
샤우드 |
BS/KS 샤우드 |
| Sxxxx |
S0000~S0039 |
스크린/슬랫/셔터 |
주자재류 |
| Wxxxx |
W0001 |
와이어 |
|
3. SAM 견적 전용 코드 체계
SAM에는 5130에 없는 견적 전용 아이템 157개가 추가 등록되어 있음.
3.1 코드 체계별 분류
| 접두사 |
건수 |
용도 |
예시 |
| BD- |
58개 |
절곡품 (모델/규격별) |
BD-케이스-500350, BD-가이드레일-KWE01-SUS-12070 |
| EST- |
71개 |
견적 산출 전용 아이템 |
EST-MOTOR-220V-300K, EST-SHAFT-4-6, EST-CTRL-매립형 |
| PT- |
15개 |
품목 템플릿 (규격 미포함) |
PT-케이스, PT-가이드레일, PT-L-BAR |
| PM- |
13개 |
제어기 부품 매핑 |
PM-020(제어기 노출형), PM-023(콘트롤박스) |
3.2 BD- (절곡품) 상세
모델별 규격이 정해진 절곡품:
- 케이스: 10종 (500350 ~ 780650)
- 마구리: 10종 (505355 ~ 785685)
- 가이드레일: 20종 (모델별 SUS/EGI, 2가지 규격)
- 하단마감재: 10종 (모델별 SUS/EGI)
- L-BAR: 5종 (모델별)
- 연기차단재: 2종 (케이스용, 가이드레일용)
- 보강평철: 1종
3.3 EST- (견적 전용) 상세
- EST-MOTOR-: 19종 (220V/380V, 용량별)
- EST-CTRL-: 17종 (제어기/방범/방화 부품)
- EST-SHAFT-: 18종 (3~12인치, 길이별)
- EST-PIPE-: 3종 (각파이프 두께/길이별)
- EST-ANGLE-: 8종 (메인앵글, 모터받침 앵글)
- EST-RAW-: 4종 (스크린원단, 슬랫)
- EST-SMOKE-: 2종 (연기차단재)
4. BOM 산출 아이템 매핑 상태
4.1 calculateSteelItems (절곡품) - 10종
| BOM 아이템명 |
SAM 등록 |
SAM 코드 |
5130 등록 |
매핑 상태 |
| 케이스 |
O |
BD-케이스-{규격}, PT-케이스 |
X (5130 미등록) |
SAM만 등록 |
| 케이스용 연기차단재 |
O |
BD-케이스용 연기차단재, EST-SMOKE-케이스용 |
X |
SAM만 등록 |
| 케이스 마구리 |
X |
- |
X |
미등록 |
| 가이드레일 |
O |
BD-가이드레일-{모델}-{재질}-{규격}, PT-가이드레일 |
O (00015) |
매핑 완료 |
| 레일용 연기차단재 |
O |
BD-가이드레일용 연기차단재, EST-SMOKE-레일용 |
X |
SAM만 등록 |
| 하장바 |
O |
00035, 00036 (5130 동일코드) |
O (00035, 00036) |
매핑 완료 |
| L바 |
X |
- |
X |
미등록 |
| 보강평철 |
O |
BD-보강평철-50, PT-보강평철 |
X |
SAM만 등록 |
| 무게평철12T |
X |
- |
O (00021 평철12T) |
SAM 미등록, 5130에는 유사품 존재 |
| 환봉 |
O |
90201~90205 (5130 동일코드) |
O (90201~90205) |
매핑 완료 |
4.2 calculatePartItems (부자재) - 5종
| BOM 아이템명 |
SAM 등록 |
SAM 코드 |
5130 등록 |
매핑 상태 |
| 감기샤프트 {인치}인치 |
O |
EST-SHAFT-{인치}-{길이} (18종) |
X (5130 미등록) |
SAM만 등록 |
| 각파이프 |
O |
EST-PIPE-{두께}-{길이} (3종) |
O (H0001~H0020) |
매핑 완료 |
| 모터 받침용 앵글 |
△ |
EST-ANGLE-BRACKET-{타입} (4종) |
X |
EST코드로 등록됨 |
| 앵글 {타입} |
O |
EST-ANGLE-MAIN-{타입} (4종) |
O (H0003, H0004) |
매핑 완료 |
| 조인트바 |
O |
800361, EST-RAW-슬랫-조인트바 |
O (800361) |
매핑 완료 |
참고: "모터 받침용 앵글"은 BOM에서 정확히 이 이름으로 검색하면 미등록이지만, EST-ANGLE-BRACKET-{타입} 4종이 이미 등록되어 있어 매핑 가능.
4.3 calculateDynamicItems (동적항목) - 7종
| BOM 아이템명 |
BOM item_code |
SAM 등록 |
SAM 코드 |
5130 등록 |
매핑 상태 |
| 검사비 |
KD-INSPECTION |
X |
- |
X |
미등록 |
| 주자재(스크린) |
KD-SCREEN |
△ |
EST-RAW-스크린-{타입} 3종 |
O (S0001 등) |
EST코드로 등록됨 |
| 주자재(슬랫) |
KD-SLAT |
△ |
EST-RAW-슬랫-{타입} 2종 |
O (S0004, S0005) |
EST코드로 등록됨 |
| 모터 {용량} |
KD-MOTOR-{용량} |
O |
EST-MOTOR-{전압}-{용량} (19종) |
O (70001~70017 등) |
매핑 완료 |
| 제어기 {타입} |
KD-CTRL-{타입} |
O |
EST-CTRL-{타입} (17종) |
O (70026, 70027 등) |
매핑 완료 |
| 뒷박스 |
KD-CTRL-BACKBOX |
O |
EST-CTRL-뒷박스, 80140 |
O (80140) |
매핑 완료 |
5. 미매핑 아이템 상세
5.1 완전 미등록 (SAM + 5130 모두 없음)
| 아이템 |
생성 메서드 |
SAM 유사 코드 |
해결 방안 |
| 케이스 마구리 |
calculateSteelItems |
BD-마구리-{규격} 10종 |
BOM에서 BD-마구리-{규격} 매핑 필요 |
| L바 |
calculateSteelItems |
BD-L-BAR-{모델}-{규격} 5종 |
BOM에서 BD-L-BAR-{모델}-{규격} 매핑 필요 |
| 검사비 |
calculateDynamicItems |
(없음) |
items master에 EST-INSPECTION 코드로 신규 등록 필요 |
5.2 SAM 미등록이나 유사품 존재
| 아이템 |
5130 유사품 |
SAM 유사품 |
해결 방안 |
| 무게평철12T |
00021 (평철12T, 2000mm, 13,500원) |
SAM ID:14147 (00021, 평철12T) |
5130 코드 00021로 이미 SAM에 존재. BOM에서 매핑만 추가 |
5.3 KD-* → EST-* 코드 변환 필요
BOM에서 사용하는 KD-* 코드는 SAM items master에 미등록. EST-* 코드로 변환 매핑 필요.
| BOM item_code |
SAM 대응 코드 |
변환 규칙 |
| KD-INSPECTION |
(미등록) |
신규 등록 필요 |
| KD-SCREEN |
EST-RAW-스크린-{타입} |
타입(실리카/화이바/와이어)에 따라 분기 |
| KD-SLAT |
EST-RAW-슬랫-{타입} |
타입(방범/방화)에 따라 분기 |
| KD-MOTOR-{용량} |
EST-MOTOR-{전압}-{용량} |
전압(220V/380V) + 용량으로 분기 |
| KD-CTRL-{타입} |
EST-CTRL-{타입} |
타입명 일치 |
| KD-CTRL-BACKBOX |
EST-CTRL-뒷박스 |
직접 매핑 |
6. 5130 price_* 단가 참조 테이블
BOM 산출 로직에서 단가를 가져오는 5130 테이블:
| 테이블 |
구조 |
용도 |
| price_angle |
JSON 배열 (itemList 컬럼) |
앵글 규격별 단가 |
| price_bend |
JSON 배열 |
절곡 가공 단가 |
| price_motor |
JSON 배열 |
모터 용량/전압별 단가 |
| price_pipe |
JSON 배열 |
파이프 규격별 단가 |
| price_pole |
JSON 배열 |
환봉 규격별 단가 |
| price_raw_materials |
JSON 배열 |
원자재(스크린, 슬랫) 단가 |
| price_screenplate |
JSON 배열 |
스크린 판재 단가 |
| price_shaft |
JSON 배열 |
샤프트 인치/길이별 단가 |
| price_smokeban |
JSON 배열 |
연기차단재 단가 |
| price_etc |
JSON 배열 |
기타 항목 단가 |
이 테이블들은 SAM의 chandj DB 연결을 통해 직접 참조하며, BOM 산출 시 실시간으로 단가를 조회함.
7. 관련 파일
| 파일 |
용도 |
api/app/Services/Quote/FormulaHandlers/KyungdongFormulaHandler.php |
BOM 산출 메인 로직 |
api/app/Services/Quote/FormulaEvaluatorService.php |
수식 평가 서비스 |
api/app/Services/Quote/QuoteCalculationService.php |
자동산출 실행 |
api/app/Models/Items/Item.php |
Items 모델 |
docs/features/quotes/README.md |
견적 시스템 문서 |
docs/plans/bom-item-mapping-plan.md |
후속 작업 계획 |