Files
sam-docs/features/bending/README.md

9.2 KiB

절곡 바라시 기초자료

작성일: 2026-03-21 상태: 운영 중


1. 개요

1.1 목적

절곡 바라시 기초자료는 원자재(SUS, EGI 등)를 절곡(바라시) 가공하여 만드는 1차 가공물(부품)의 형상을 정의하는 마스터 데이터이다.

1.2 2계층 생산 구조

원자재 (SUS 1.2T, EGI 1.55T 등)
    ↓ 절곡 가공 (바라시)
1차 가공물: bending_items (기초자료) — 절곡 형상 정의
    ↓ 조립
2차 가공물: bending_models (가이드레일/케이스/하단마감재) — 부품을 조합한 완성품
  • 기초자료 = 1차 가공물 = 절곡 형상 (길이 무관)
  • 가이드레일/케이스 = 2차 가공물 = 1차 가공물을 조립한 형상

1.3 재공품(WIP)과의 관계

재공품은 유휴 시간을 활용하여 가장 많이 나가는 정형화된 부품을 미리 생산하는 것이다.

  • 모든 절곡 형상을 재공품으로 관리하는 것이 아님
  • 수요가 높은 표준 형상만 재공품 코드로 관리
  • 기초자료는 표준 형상 + 주문에 따른 변형 형상도 관리

2. 품목코드 체계

2.1 기초자료 코드 (형상 정의, 길이 무관)

BD-{분류코드}.{변형번호}
세그먼트 설명 예시
BD Bending 접두사 (고정) BD
분류코드 부품 종류 + 재질 계열 (2자리) CL, RS, CP
.nnn 변형 번호 (점 구분자, 3자리) .001, .027

규칙:

  • .001 = 대표(표준) 형상 — 재공품의 기준이 되는 절곡도
  • .002~ = 표준 대비 변형 — 주문에 따라 수정된 절곡도
  • 최대 .999 (999종 변형 수용)

예시:

BD-CL.001   케이스 린텔 — 대표(표준) 형상
BD-CL.002   케이스 린텔 — 변형 1
BD-RS.001   가이드레일 SUS 마감재 — 대표(표준)
BD-RS.025   가이드레일 SUS 마감재 — 변형 25

2.2 재공품 코드 (형상 + 길이, 고유 품목)

BD-{분류코드}-{길이코드}
세그먼트 설명 예시
BD Bending 접두사 (기초자료와 공통) BD
분류코드 기초자료와 동일 (2자리) CL, RS
-길이코드 원자재 길이 (하이픈 구분자) -30 (3000mm)

예시:

BD-CL-30    케이스 린텔 3000mm (고유 품목코드)
BD-RS-24    가이드레일 SUS 마감재 2438mm

2.3 기초자료 vs 재공품 코드 구분

구분 형식 구분자 의미
기초자료 (표준) BD-CL.001 점 (.) 절곡 형상만 (길이 무관)
기초자료 (변형) BD-CL.002 점 (.) 주문 수정 형상
재공품 BD-CL-30 하이픈 (-) 표준 형상 + 길이 (고유 품목)

BD-CL까지 공통, 그 뒤 구분자(. vs -)로 구분. 기초자료는 길이 정보를 담지 않는다.

2.4 LOT 번호

{제품}{종류}{날짜코드}-{길이코드}
예시 의미
CL6318-30 케이스 린텔, 2026-03-18 생산, 3000mm

LOT 번호는 생산 이력 추적용이며, 품목코드/기초자료 코드와는 별개 체계이다.


3. 분류코드 접두사 정의

3.1 가이드레일 부품 (R 계열)

코드 부품명 주재질
RS SUS 마감재 SUS 1.2T
RM 본체/보강 EGI 1.55T
RC C형 EGI 1.55T
RD D형 EGI 1.55T
RE 측면 마감재 EGI/SUS
RT 절단판
RH 뒷보강
RN 비인정

3.2 케이스 부품 (C 계열)

코드 부품명 주재질
CP 밑면판/점검구 EGI 1.55T
CF 전면판 EGI 1.55T
CB 후면 코너/후면부 EGI 1.55T
CL 린텔 EGI 1.55T
CX 상부 덮개 EGI 1.55T

3.3 하단마감재 부품 (B/T 계열)

코드 부품명 주재질
BS 하장바 SUS SUS 1.5T
BE 하장바 EGI EGI 1.55T
BH 보강평철 EGI 1.15T
TS 철재 하장바 SUS SUS
TE 철재 하장바 EGI EGI

3.4 기타

코드 부품명
XE 마구리
LE L-BAR
ZP 특수 밑면/점검구
ZF 특수 전면판
ZB 특수 후면

4. 데이터 모델

4.1 테이블

테이블 역할 프로젝트
bending_items 1차 가공물 (부품 형상) API
bending_models 2차 가공물 (조립품) API

4.2 bending_items 주요 필드

필드 설명
code 품목코드 (고유, BD-XX.nnn)
item_name 부품명
item_sep 대분류 (스크린/철재)
item_bending 분류 (가이드레일/케이스/하단마감재/마구리)
material 원자재 (SUS 1.2T, EGI 1.55T 등)
bending_data 전개도 JSON [{input, rate, sum, color, aAngle}]
legacy_code 이전 코드 (마이그레이션 이력 보존)

4.3 2차 가공물 매핑

bending_models.components JSON 배열에서 sam_item_idbending_items.id를 참조한다.

가이드레일 KSS01 (GR-3)
├── BD-RS.001 (SUS 마감재, 수량2)
├── BD-RM.001 (본체)
├── BD-RC.001 (C형)
└── BD-RD.001 (D형)

5. MNG 화면 기능

5.1 메뉴 구조

절곡품 관리
├── 기초관리          ← 이 문서의 대상
├── 가이드레일
├── 케이스
└── 하단마감재

5.2 기초관리 CRUD

기능 설명
목록 대분류/분류/재질/인정여부 필터, 검색, 페이지네이션
등록 분류코드 드롭다운 선택 → 순번(.nnn) 자동 채번
조회 코드/기본정보/전개도/이미지 표시
수정 코드 편집 가능 (저장 시 중복 검사)
삭제 Soft delete

5.3 코드 관련 동작

등록 시

  1. 분류코드 드롭다운에서 BD-XX 선택
  2. 저장 시 API가 해당 분류의 마지막 번호 +1 자동 채번
  3. 결과: BD-CL.028 (CL 분류에 .027까지 있었다면)

수정 시

  1. 코드 필드 편집 가능
  2. 저장 시 API가 변경된 코드의 중복 검사 수행
  3. 중복이면 422 에러 + "코드 'BD-XX.nnn'는 이미 사용 중입니다" 메시지
  4. 중복 아니면 정상 저장

코드 변경 불가 케이스

  • 같은 코드 유지 → 중복 검사 건너뜀
  • 자기 자신은 중복에서 제외

6. API 엔드포인트

Method Path 설명 화이트리스트
GET /api/v1/bending-items 목록 (페이지네이션) 필수
GET /api/v1/bending-items/filters 필터 옵션 필수
GET /api/v1/bending-items/prefixes 분류코드 접두사 목록 필수
POST /api/v1/bending-items 등록 (자동 채번) 필수
GET /api/v1/bending-items/{id} 상세 조회 필수
PUT /api/v1/bending-items/{id} 수정 (코드 중복 검사) 필수
DELETE /api/v1/bending-items/{id} 삭제 필수

화이트리스트: ApiKeyMiddlewareallowWithoutAuth에 등록 필요 (Bearer 토큰 없이 API Key + X-TENANT-ID로 접근)


7. MNG→API 통신 규칙

7.1 Docker 환경 (로컬)

$baseUrl = config('services.api.internal_url'); // https://nginx
$headers['Host'] = 'api.sam.kr';                // nginx 서버 블록 라우팅

7.2 서버 환경 (개발/운영)

$baseUrl = config('services.api.base_url');     // https://api.dev.codebridge-x.com
// Host 헤더 불필요

7.3 이미지 표시

용도 라우트 방식
일반 <img> 표시 /files/{id}/view R2 presigned URL로 redirect
Canvas 편집기 /files/{id}/proxy MNG 서버가 R2에서 다운로드 후 스트리밍 (CORS 우회)

8. 마이그레이션 이력

날짜 작업
2026-03-21 (1차) 기존 코드(날짜 포함 LOT 형식) → BD-XX-nn 변환 (265건)
2026-03-21 (2차) BD-XX-nnBD-XX.nn 변환 (재공품과 구분자 분리)
2026-03-21 (3차) BD-XX.nnBD-XX.nnn 3자리 변형번호 (999종 수용)
2026-03-21 (4차) 순번 없는 항목 → .001 통일 (대표 번호)
❌ CX250722-06   (날짜 포함) — LOT 번호와 혼동
❌ BD-CX-06      (하이픈) — 재공품 BD-CX-30과 혼동
❌ BD-CX.06      (2자리) — 변형 수용량 99종 한계
✅ BD-CX.006     (점 + 3자리) — 변형 999종, 재공품과 구분 명확

기존 코드는 legacy_code 필드에 보존되어 있다.


관련 문서

  • bending-item-code-policy.md — 품목코드 체계 정책
  • 20260321_bending_api_internal_url_fix.md — API 연동 수정 이력
  • api/app/Models/BendingItem.php — 1차 가공물 모델
  • api/app/Models/BendingModel.php — 2차 가공물 모델
  • api/app/Services/BendingItemService.php — 자동 채번/중복 검사 로직
  • api/app/Services/BendingCodeService.php — 재공품 코드맵/LOT 채번

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