docs: [standards] 절곡 재공품 품목코드 체계 정의 (BD-XX-nn, 2계층 구조)

This commit is contained in:
김보곤
2026-03-21 10:57:34 +09:00
parent 778c76f090
commit 68d14b9166
2 changed files with 177 additions and 0 deletions

View File

@@ -151,6 +151,7 @@ DB 도메인별:
| [pdf-font-policy.md](dev/standards/pdf-font-policy.md) | PDF 생성 시 폰트 정책 (DomPDF) |
| [email-policy.md](dev/standards/email-policy.md) | 멀티테넌시 이메일 발송 정책 |
| [blade-react-policy.md](dev/standards/blade-react-policy.md) | Blade + React(JSX) 혼용 시 이중 중괄호 충돌 방지 정책 |
| [bending-item-code-policy.md](standards/bending-item-code-policy.md) | 절곡 재공품 품목코드 체계 (BD-XX-nn, 2계층 구조) |
---

View File

@@ -0,0 +1,176 @@
# 절곡 재공품 품목코드 체계
> **작성일**: 2026-03-21
> **상태**: 설계 확정
---
## 1. 개요
### 1.1 목적
절곡 바라시 기초자료(1차 가공물)에 **의미 기반 고유 품목코드**를 부여하여, 재공품 관리 및 2차 가공물(가이드레일/케이스 등)과의 매핑을 체계화한다.
### 1.2 핵심 원칙
- 품목코드는 **고유키(Unique Key)** — 중복 불가
- 날짜 정보 미포함 — LOT 번호와 명확히 구분
- 코드만으로 분류(종류+재질 계열) 식별 가능
---
## 2. 코드 형식
```
BD-{분류코드}-{순번}
```
| 세그먼트 | 길이 | 설명 | 예시 |
|----------|------|------|------|
| `BD` | 고정 | Bending 재공품 접두사 | `BD` |
| `-` | 구분자 | | `-` |
| 분류코드 | 2자리 | 부품 종류+재질 계열 | `RS`, `CP`, `CX` |
| `-` | 구분자 | | `-` |
| 순번 | 2~3자리 | 같은 분류 내 일련번호 (01부터) | `01`, `27`, `001` |
**예시:**
```
BD-RS-01 가이드레일 SUS 마감재 1번
BD-CP-12 케이스 밑면판 12번
BD-CX-27 케이스 상부덮개 27번
BD-CB-001 케이스 후면코너 (100번 이상 시 3자리)
```
---
## 3. 분류코드 정의
### 3.1 가이드레일 부품 (R 계열)
| 코드 | 부품명 | 주재질 | 현재 건수 |
|------|--------|--------|:---------:|
| `RS` | SUS 마감재 | SUS 1.2T | 25 |
| `RM` | 본체/보강 | EGI 1.55T | 12 |
| `RC` | C형 | EGI 1.55T | 11 |
| `RD` | D형 | EGI 1.55T | 7 |
| `RE` | 측면 마감재 | EGI/SUS | 11 |
| `RT` | 절단판 | — | 3 |
| `RH` | 뒷보강 | — | 1 |
| `RN` | 비인정 | — | 1 |
### 3.2 케이스 부품 (C 계열)
| 코드 | 부품명 | 주재질 | 현재 건수 |
|------|--------|--------|:---------:|
| `CP` | 밑면판/점검구 | EGI 1.55T | 44 |
| `CF` | 전면판 | EGI 1.55T | 34 |
| `CB` | 후면 코너/후면부 | EGI 1.55T | 28 |
| `CL` | 린텔 | EGI 1.55T | 27 |
| `CX` | 상부 덮개 | EGI 1.55T | 27 |
### 3.3 하단마감재 부품 (B/T 계열)
| 코드 | 부품명 | 주재질 | 현재 건수 |
|------|--------|--------|:---------:|
| `BS` | 하장바 (SUS) | SUS 1.5T | 4 |
| `BE` | 하장바 (EGI) | EGI 1.55T | 1 |
| `BH` | 보강평철 | EGI 1.15T | 1 |
| `TS` | 철재 하장바 (SUS) | SUS | 3 |
| `TE` | 철재 하장바 (EGI) | EGI | 2 |
### 3.4 기타
| 코드 | 부품명 | 현재 건수 |
|------|--------|:---------:|
| `XE` | 마구리 | 12 |
| `LE` | L-BAR | 2 |
| `ZP` | 특수 밑면/점검구 | 5 |
| `ZF` | 특수 전면판 | 3 |
| `ZB` | 특수 후면 | 1 |
---
## 4. 2계층 구조
절곡품은 **원자재 → 1차 가공물 → 2차 가공물** 2계층 구조를 따른다.
```
원자재 (SUS 1.2T, EGI 1.55T 등)
↓ 절곡 가공 (바라시)
1차 가공물: bending_items (기초자료) — BD-XX-nn 코드
↓ 조립
2차 가공물: bending_models (가이드레일/케이스/하단마감재) — GR-nn 코드
```
### 4.1 테이블 관계
| 테이블 | 역할 | 코드 형식 | 건수 (2026-03) |
|--------|------|----------|:--------------:|
| `bending_items` | 1차 가공물 (부품) | `BD-XX-nn` | 265 |
| `bending_models` | 2차 가공물 (조립품) | `GR-nn` 등 | 21+ |
### 4.2 매핑 방식
`bending_models.components` JSON 배열에서 `sam_item_id``bending_items.id`를 참조한다.
```json
// bending_models.components 예시 (가이드레일 KSS01)
[
{"orderNumber": 1, "sam_item_id": 1968, "itemName": "1번(마감제)", "material": "SUS 1.2T", "quantity": 2},
{"orderNumber": 2, "sam_item_id": 1976, "itemName": "2번(본체)", "material": "EGI 1.55T"},
{"orderNumber": 3, "sam_item_id": 1966, "itemName": "3번(벽면형-C)", "material": "EGI 1.55T"},
{"orderNumber": 4, "sam_item_id": 1965, "itemName": "4번(벽면형-D)", "material": "EGI 1.55T"}
]
```
---
## 5. 코드와 LOT 번호의 차이
| 항목 | 품목코드 (code) | LOT 번호 |
|------|----------------|----------|
| 목적 | 부품 종류 식별 | 생산 이력 추적 |
| 고유성 | 전역 고유 (Unique Key) | 생산 단위별 고유 |
| 날짜 포함 | 포함하지 않음 | 생산일 포함 |
| 예시 | `BD-RS-01` | `BD-RS-20260321` |
| 변경 여부 | 변경 불가 | 생산 시마다 생성 |
---
## 6. 신규 부품 등록 시 코드 부여 규칙
1. 해당 분류코드의 **마지막 순번 + 1** 자동 채번
2. 순번이 100 이상이면 3자리 (`BD-CP-001`)
3. 분류코드에 해당하는 것이 없으면 새 분류코드 정의 후 `01`부터 시작
```
기존: BD-CP-01 ~ BD-CP-44
신규: BD-CP-45 (자동)
```
---
## 7. 마이그레이션 이력
| 날짜 | 작업 | 비고 |
|------|------|------|
| 2026-03-21 | 기존 코드(날짜 포함) → BD-XX-nn 형식 변환 | 265건, 기존 코드는 `legacy_code`에 보존 |
### 이전 코드 형식 (폐기)
```
❌ CX250722-06 (접두사 + 날짜 + 순번) — LOT 번호와 혼동
✅ BD-CX-06 (BD + 분류 + 순번) — 품목코드 전용
```
---
## 관련 문서
- [changes/20260321_bending_api_internal_url_fix.md](../changes/20260321_bending_api_internal_url_fix.md) — 절곡품 API 연동 수정
- `api/app/Models/BendingItem.php` — 1차 가공물 모델
- `api/app/Models/BendingModel.php` — 2차 가공물 모델
---
**최종 업데이트**: 2026-03-21