Files
sam-docs/dev/dev_plans/bending-work-step-mapping-plan.md

4.2 KiB

절곡품 작업단계 매핑 계획

작성일: 2026-03-20 상태: 설계 확정 담당: R&D실


1. 개요

1.1 목적

절곡 공정(P-003)의 작업단계가 모든 절곡 품목에 동일하게 표시되는 문제를 해결한다. BD 코드 접두사에 따라 해당 품목에 필요한 작업단계만 표시한다.

1.2 현재 문제

현재: 모든 절곡 작업지시 → [가이드레일 제작, 케이스 제작, 하단마감재 제작, 검사]
문제: BD-ST-24 (가이드레일 측면형)에 케이스/하단마감재 단계가 불필요하게 표시됨

1.3 기대 결과

BD-RS-30 (가이드레일 벽면) → [가이드레일 제작, 검사]
BD-ST-24 (가이드레일 측면) → [가이드레일 제작, 검사]
BD-CF-35 (케이스 전면부)   → [케이스 제작, 검사]
BD-CB-35 (케이스 린텔부)   → [케이스 제작, 검사]
BD-BL-35 (하단마감재 스크린) → [하단마감재 제작, 검사]

2. BD 코드 분류 체계

2.1 코드 구조

BD-{종류코드}{규격코드}-{길이코드}
예: BD-RS-30 = BD + R(가이드레일) + S(측면형) + 30(길이)

2.2 종류코드 → 작업단계 매핑

종류코드 접두사 제품 분류 필요 작업단계
R 가이드레일-벽면형 guide_rail, inspection
S 가이드레일-측면형 guide_rail, inspection
C 케이스 (린텔/전면/점검/후면) case, inspection
B 하단마감재-스크린 bottom_finish, inspection
T 하단마감재-철재 bottom_finish, inspection
L L-Bar guide_rail, inspection
G 연기차단재 guide_rail, inspection

3. 구현 방안: 프론트엔드 코드 매핑

3.1 선택 근거

방안 장점 단점
A. DB 규칙 기반 유연 마이그레이션, 관리 UI 필요
B. 프론트엔드 코드 매핑 빠른 구현, 변경 용이 BD 코드 체계 변경 시 수정 필요

BD 코드 체계가 안정적이고 종류가 7개로 한정되어 있어 프론트엔드 매핑이 적합하다.

3.2 구현 위치

파일 변경 내용
react/src/components/production/WorkOrders/types.ts BENDING_STEP_MAP 상수 추가
react/src/components/production/WorkOrders/WorkOrderDetail.tsx ProcessStepPills에 필터링 로직 적용

3.3 매핑 상수

// BD 코드 접두사 → 필요 작업단계 매핑
const BENDING_STEP_MAP: Record<string, string[]> = {
  'R': ['guide_rail', 'inspection'],   // 가이드레일-벽면
  'S': ['guide_rail', 'inspection'],   // 가이드레일-측면
  'C': ['case', 'inspection'],         // 케이스
  'B': ['bottom_finish', 'inspection'], // 하단마감재-스크린
  'T': ['bottom_finish', 'inspection'], // 하단마감재-철재
  'L': ['guide_rail', 'inspection'],   // L-Bar
  'G': ['guide_rail', 'inspection'],   // 연기차단재
};

3.4 필터링 로직

1. 작업지시의 work_order_items에서 품목 코드(BD-XX-YY) 수집
2. BD- 접두사 뒤의 첫 글자(종류코드)로 필요 단계 결정
3. 여러 품목이 있으면 필요 단계의 합집합(union)으로 표시
4. BD 코드가 아닌 품목이면 전체 단계 표시 (fallback)

4. 데이터 흐름

API: WorkOrder → items[].item_code (BD-RS-30, BD-CF-35 등)
  ↓
React: transformApiToFrontend()
  ↓ items에서 BD 코드 추출
  ↓ BENDING_STEP_MAP으로 필요 단계 결정
  ↓
ProcessStepPills(filteredSteps)
  ↓ 필요 단계만 렌더링

5. 재고생산(STOCK)의 경우

재고생산은 단일 품목(BD-XX-YY)으로 생성되므로 매핑이 명확하다.

STK202603180005 → BD-ST-24 (가이드레일 측면)
  → 종류코드 'S' → ['guide_rail', 'inspection']
  → 가이드레일 제작 + 검사 만 표시

관련 문서


최종 업데이트: 2026-03-20