Files
sam-docs/dev/dev_plans/bending-parts-analysis.md
권혁성 91e248eeab docs: [plans] 절곡품 관리 현황 분석 문서 추가
- 경동기업(5130) vs SAM 시스템 절곡품 관리 비교
- BD-XX-XXX 코드 체계, 갭 분석, 데이터 흐름 정리
2026-03-16 10:20:07 +09:00

12 KiB
Raw Blame History

절곡품(Bending Parts) 관리 현황 분석

작성일: 2026-03-16 분류: 갭 분석 / 기능 비교 대상: 경동기업(5130) 가이드레일 시스템 vs SAM 시스템


배경 및 질문

경동기업(5130)에는 절곡품(가이드레일) 관리 리스트가 있다. (5130.codebridge-x.com/guiderail/list.php)

견적/수주를 하면 해당 제품의 가이드레일을 불러와 이미지들을 보여주는 역할을 하며, 개별 절곡품들을 조합하여 가이드레일을 구성하는 구조이다.

SAM 시스템에서도 견적(dev.sam.kr/sales/quote-management/new)에서 가이드레일이 나오는데, 경동기업과 같이 절곡품 이미지를 보여주고 조합할 수 있어야 한다.

구체적 질문

  1. SAM의 items 테이블에 BD-XX-XXX 코드 품목들이 있는데, 경동기업 절곡품처럼 이미지 표현과 조합 구성이 가능한 상태인가?
  2. 초기 개발 시 절곡품을 고려하지 않고 개발 후 추후 items에 밀어넣었는데, 경동기업 수준의 관리가 되고 있는가?
  3. 경동기업 절곡품 시스템과 SAM 시스템 간 갭은 무엇인가?

1. 경동기업(5130) 절곡품 관리 체계

1.1 시스템 구조

bending 테이블 (개별 절곡품)
  ├─ 품명, 대분류(스크린/철재), 중분류(가이드레일/케이스/하단마감재)
  ├─ 규격(120*70), 재질(SUS 1.2T), 모델명(KSS01)
  ├─ 인정/비인정 구분
  ├─ 치수 JSON (inputList), 연신율 JSON (bendingrateList)
  ├─ 합계 JSON (sumList), 색상 마킹 (colorList)
  └─ 검색 키워드 (130x75한빛, 주일-130x70 등)

guiderail 테이블 (조합 전개도)
  ├─ 모델별 부품 조합 정의 (proditem1~8)
  ├─ 전개도 이미지 저장
  └─ 견적에서 호출되어 이미지 표시

1.2 주요 기능

기능 구현 파일 설명
절곡품 마스터 리스트 guiderail/list.php 22개 모델 정의, CRUD 관리
절곡품 이미지 관리 put_guiderail_image.php 이미지 업로드 + Canvas 드로잉 (drawingTool.js)
모델별 부품 조합 fun_guiderail.php KSS01 등 모델마다 1~8개 부품 조합 (getProductData())
절곡품 검색 search_bending.php 대분류/규격/재질/인정여부 복합 필터
견적에서 호출 fetch_guiderail_detail.php 견적 시 해당 모델의 이미지 + 부품 표시
메타데이터 guiderail.json 22개 모델 정의 (이미지 경로, 분류, 마감 유형)

1.3 모델별 부품 조합 예시 (KSS01 벽면형)

proditem1: ①②마감재 (SUS 1.2T, 수량2)
proditem2: ③본체    (EGI 1.55T, 수량1)
proditem3: ④벽면형-C (EGI 1.55T, 수량1)
proditem4: ⑤벽면형-D (EGI 1.55T, 수량1)

1.4 이미지 관리

  • 저장 경로: /5130/guiderail/images/, /5130/bending/img/
  • 파일명 규칙: YYYY_MM_DD_HH_MM_SS_[모델명].png
  • 드로잉 도구: Canvas 기반 drawingTool.js로 실시간 전개도 생성

1.5 bending 테이블 주요 컬럼

컬럼 설명 예시
itemName 품명 가이드레일
item_sep 대분류 스크린, 철재
item_bending 중분류 가이드레일, 케이스, 하단마감재
item_spec 규격 12070, 120120
material 재질 SUS 1.2T, EGI 1.55T
model_UA 인정여부 인정, 비인정
model_name 모델명 KSS01, KWE01, KQTS01
search_keyword 검색어 130x75한빛
inputList 치수 JSON [...]
bendingrateList 연신율 JSON [...]
sumList 합계 JSON [...]
colorList 색상 마킹 JSON [...]
rail_width 레일 폭 70, 120

2. SAM 시스템 현재 상태

2.1 BD-XX-XXX 코드 체계

BendingItemSeeder로 ~40개 품목이 items 테이블에 등록되어 있다.

코드 구조: BD-{PREFIX}-{LENGTH_CODE}

PREFIX 용도 예시
RS/RE 가이드레일 마감재 (벽면) BD-RS-30
SS/SE 가이드레일 마감재 (측면) BD-SS-35
RM 가이드레일 본체 (벽면) BD-RM-42
SM 가이드레일 본체 (측면) BD-SM-24
RC/RD 가이드레일 C형/D형 (벽면) BD-RC-30
BS/TS 하단마감재 (SUS/철재) BD-BS-40
LA L-Bar BD-LA-40
HH 보강평철 BD-HH-30
CF/CL/CP/CB 셔터박스 부품 BD-CF-35
GI 연기차단재 BD-GI-54
XX 하부BASE/상부덮개/마구리 (공용) BD-XX-35
YY 별도마감 BD-YY-30

길이코드 매핑:

코드 mm 코드 mm
12 1219 40 4000
24 2438 41 4150
30 3000 42 4200
35 3500 43 4300

2.2 items 테이블 저장 구조

{
  "item_type": "PT",
  "item_category": "BENDING",
  "code": "BD-RS-30",
  "name": "가이드레일 마감재 3000mm",
  "options": {
    "source": "bending_item_seeder",
    "lot_managed": true,
    "consumption_method": "auto",
    "production_source": "self_produced",
    "input_tracking": true,
    "prefix": "RS",
    "length_code": "30",
    "length_mm": 3000
  }
}

2.3 SAM에서 구현된 기능

기능 파일 설명
동적 BOM 생성 BendingInfoBuilder.php (1172줄) 제품코드별 자동 부품 조합
Prefix 자동 결정 PrefixResolver.php (300줄) BD-코드 자동 매핑
작업지시서 절곡 표시 GuideRailSection 등 (React) 가이드레일/하단마감재/셔터박스/연기차단재 테이블
절곡 검사 (Phase 3) inspection-config API 공정 자동 판별, BOM 기반 구성품 로딩
정적 이미지 api/public/images/bending/ 22개 이미지 (6개 모델 × 벽면/측면)
재질 매핑 BendingInfoBuilder 제품코드별, 마감재질별 자동 결정

2.4 데이터 흐름

Quote (견적)
  └─ calculation_inputs: { items[], bomResults[] }
        ↓ OrderService::store()
OrderNode (개소별)
  └─ options: { product_code, bom_result }
        ↓ OrderService::createWorkOrders()
WorkOrder (작업지시)
  └─ work_order_items[].options: {
       bending_info: {
         productCode, finishMaterial,
         guideRail: { wall, side },
         bottomBar, shutterBox, smokeBarrier
       },
       slat_info: { joint_bar, glass_qty }
     }
        ↓ 프론트 렌더링
작업일지
  ├─ 가이드레일 (이미지 + 테이블)
  ├─ 하단마감재
  ├─ 셔터박스
  └─ 연기차단재

3. 갭 분석

3.1 핵심 갭 (경동기업에 있고 SAM에 없는 것)

🔴 ① 절곡품 마스터 관리 화면

항목 경동기업(5130) SAM
관리 화면 guiderail/list.php — CRUD 없음
필터링 대분류/규격/재질/인정여부 복합 필터 없음
검색 키워드 기반 통합 검색 없음

BD-XX-XXX 품목이 items 테이블에 등록만 되어 있고, 절곡품 전용 관리 화면이 없다.

🔴 ② 견적 시 가이드레일 이미지 표시

항목 경동기업(5130) SAM
견적 화면 모델 선택 → 전개도 이미지 + 부품 조합 표시 이미지 미표시
호출 방식 fetch_guiderail_detail.php 해당 기능 없음

견적 페이지(/sales/quote-management/new)에서 가이드레일 선택은 되지만 이미지가 표시되지 않는다.

🔴 ③ 절곡품 개별 전개도 데이터

항목 경동기업(5130) SAM
치수 데이터 inputList JSON 없음
연신율 데이터 bendingrateList JSON 없음
합계 계산 sumList JSON 없음
색상 마킹 colorList JSON 없음
전개도 드로잉 Canvas 기반 실시간 생성 없음

BendingInfoBuilder조합 로직만 있고, 개별 절곡품의 전개도 상세 데이터는 저장되지 않는다.

3.2 보조 갭

🟡 ④ 절곡품 속성 풍부도

속성 경동기업 bending 테이블 SAM items.options
품명 itemName name
대분류 item_sep (스크린/철재) 없음
중분류 item_bending (가이드레일/케이스) 없음
규격 item_spec (120*70) 없음
재질 material (SUS 1.2T) 없음
모델명 model_name (KSS01) 없음
인정여부 model_UA 없음
검색키워드 search_keyword 없음
레일 폭 rail_width 없음
prefix options.prefix
길이코드 options.length_code
길이(mm) options.length_mm

🟡 ⑤ 이미지 업로드/드로잉 기능

항목 경동기업(5130) SAM
이미지 업로드 put_guiderail_image.php 없음
Canvas 드로잉 drawingTool.js 없음
이미지 저장 동적 생성 + 파일 저장 정적 파일 22개만

3.3 SAM이 우위인 부분

영역 설명
동적 BOM BendingInfoBuilder가 제품코드별 자동 조합 (5130은 하드코딩)
Prefix 체계 PrefixResolver로 BD-코드 자동 결정 (5130은 수동)
작업지시 연동 work_order_items.options.bending_info로 구조화된 데이터 전달
검사 동적 구현 Phase 3에서 API 기반 검사 완료 (5130보다 진보적)
멀티테넌시 테넌트별 독립 관리 가능 (5130은 단일)

4. 종합 비교

경동기업(5130)                         SAM 시스템
─────────────────────────────         ─────────────────────────────
[절곡품 마스터 관리] ─────────────→    ❌ 없음 (items에 등록만)
  ├─ 이미지/전개도 관리                  ├─ 정적 이미지 22개만
  ├─ 치수/연신율 데이터                  ├─ ❌ 없음
  ├─ 검색/필터                          └─ ❌ 없음
  └─ CRUD 화면

[가이드레일 조합] ───────────────→    ✅ BendingInfoBuilder (더 체계적)
  ├─ 모델별 부품 정의                   ├─ ✅ 동적 BOM 생성
  ├─ 재질 자동 매핑                     ├─ ✅ PrefixResolver
  └─ 견적에서 이미지 표시                └─ ❌ 이미지 미표시

[절곡 검사] ─────────────────────→    ✅ Phase 3 완료 (더 진보적)
  ├─ 중간검사                           ├─ ✅ inspection-config API
  └─ 하드코딩 검사                       └─ ✅ 동적 검사

5. 결론

SAM은 절곡품의 "계산과 조합"은 잘 되어 있지만, "관리와 시각화"가 빠져 있다.

경동기업처럼 절곡품을 독립적으로 관리하고 견적에서 이미지를 보여주려면, 절곡품 마스터 관리 기능을 새로 구현해야 한다.

필요 작업 (예상)

  1. 절곡품 마스터 관리 화면 — mng 또는 react에 CRUD + 필터링
  2. items.options 속성 확장 — 대분류, 중분류, 규격, 재질, 모델명 등
  3. 견적 화면 이미지 연동 — 모델 선택 시 가이드레일 전개도 이미지 표시
  4. 전개도 데이터 구조 — 치수/연신율/합계 JSON 저장 방안 설계
  5. 이미지 업로드 기능 — 절곡품별 전개도 이미지 관리

관련 문서

  • 통합 마스터 플랜: docs/dev/dev_plans/integrated-master-plan.md
  • Phase 2 (절곡 분석/설계): docs/dev/dev_plans/integrated-phase-2.md
  • Phase 3 (절곡 검사, 완료): docs/dev/dev_plans/integrated-phase-3.md
  • 품목 정책: docs/rules/item-policy.md