Files
sam-docs/data/analysis/bom-item-mapping-analysis.md
권혁성 6b8b70a74f docs: BOM 품목 매핑, 수주 개소관리, 배포 가이드 문서 추가
- BOM 품목 매핑 분석 및 계획 문서
- 수주 개소(노드) 관리 계획 문서
- 배포 가이드 문서
- 수입검사 양식 변경 이력 업데이트

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 10:02:47 +09:00

10 KiB

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 후속 작업 계획