212 lines
6.6 KiB
Markdown
212 lines
6.6 KiB
Markdown
# 절곡 재공품 품목코드 체계
|
|
|
|
> **작성일**: 2026-03-21
|
|
> **상태**: 설계 확정
|
|
|
|
---
|
|
|
|
## 1. 개요
|
|
|
|
### 1.1 목적
|
|
|
|
절곡 바라시 기초자료(1차 가공물)에 **의미 기반 고유 품목코드**를 부여하여, 재공품 관리 및 2차 가공물(가이드레일/케이스 등)과의 매핑을 체계화한다.
|
|
|
|
### 1.2 핵심 원칙
|
|
|
|
- 품목코드는 **고유키(Unique Key)** — 중복 불가
|
|
- 날짜 정보 미포함 — LOT 번호와 명확히 구분
|
|
- 코드만으로 분류(종류+재질 계열) 식별 가능
|
|
|
|
---
|
|
|
|
## 2. 코드 형식
|
|
|
|
### 2.1 기초자료 (1차 가공물 — 형상 정의)
|
|
|
|
```
|
|
BD-{분류코드} ← 해당 분류에 1건일 때
|
|
BD-{분류코드}.{순번} ← 해당 분류에 다수일 때
|
|
```
|
|
|
|
| 세그먼트 | 설명 | 예시 |
|
|
|----------|------|------|
|
|
| `BD` | Bending 접두사 (고정) | `BD` |
|
|
| 분류코드 | 부품 종류+재질 계열 (2자리) | `RS`, `CP`, `CX` |
|
|
| `.순번` | 같은 분류 내 일련번호 (점 구분자, 01부터) | `.01`, `.27` |
|
|
|
|
**예시:**
|
|
```
|
|
BD-RH 가이드레일 뒷보강 (1건 → 순번 없음)
|
|
BD-RS.01 가이드레일 SUS 마감재 1번
|
|
BD-CP.12 케이스 밑면판 12번
|
|
BD-CL.27 케이스 린텔 27번
|
|
```
|
|
|
|
### 2.2 재공품 (WIP 품목 — 길이 포함)
|
|
|
|
```
|
|
BD-{분류코드}-{길이코드}
|
|
```
|
|
|
|
| 세그먼트 | 설명 | 예시 |
|
|
|----------|------|------|
|
|
| `BD` | Bending 접두사 (기초자료와 공통) | `BD` |
|
|
| 분류코드 | 기초자료와 동일 (2자리) | `CL`, `RS` |
|
|
| `-길이코드` | 원자재 길이 (하이픈 구분자) | `-30` (3000mm) |
|
|
|
|
**예시:**
|
|
```
|
|
BD-CL-30 케이스 린텔 3000mm
|
|
BD-RS-24 가이드레일 SUS 마감재 2438mm
|
|
```
|
|
|
|
### 2.3 기초자료 vs 재공품 코드 구분
|
|
|
|
| 구분 | 구분자 | 형식 | 의미 |
|
|
|------|:------:|------|------|
|
|
| 기초자료 | 점 (`.`) | `BD-CL.03` | 절곡 형상만 (길이 무관) |
|
|
| 재공품 | 하이픈 (`-`) | `BD-CL-30` | 형상 + 길이 (고유 품목) |
|
|
|
|
> **핵심**: `BD-CL`까지 공통, 그 뒤 구분자가 다름. 기초자료는 길이 정보를 담지 않는다. 재공품 코드는 그 자체로 고유번호이므로 변종이 발생하면 새 코드를 부여한다.
|
|
|
|
---
|
|
|
|
## 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 번호의 차이
|
|
|
|
| 항목 | 기초자료 코드 | 재공품 코드 | LOT 번호 |
|
|
|------|-------------|------------|----------|
|
|
| 목적 | 절곡 형상 정의 | 품목 식별 (형상+길이) | 생산 이력 추적 |
|
|
| 길이 정보 | 없음 | 포함 | 포함 |
|
|
| 날짜 정보 | 없음 | 없음 | 포함 |
|
|
| 구분자 | 점 (`.`) | 하이픈 (`-`) | — |
|
|
| 예시 | `BD-CL.03` | `BD-CL-30` | `CL6318-30` |
|
|
| 변경 여부 | 변경 불가 | 변경 불가 (고유) | 생산 시 생성 |
|
|
|
|
---
|
|
|
|
## 6. 신규 부품 등록 시 코드 부여 규칙
|
|
|
|
API가 분류코드(`BD-XX`)를 받으면 자동으로 채번한다:
|
|
|
|
1. **해당 분류 첫 등록**: `BD-XX` (순번 없음)
|
|
2. **두 번째 등록 시**: 기존 `BD-XX`를 `BD-XX.01`로 변경, 신규는 `BD-XX.02`
|
|
3. **이후 등록**: 마지막 순번 +1 → `BD-XX.03`, `BD-XX.04`, ...
|
|
4. 순번 100 이상이면 3자리 (`BD-CP.100`)
|
|
|
|
```
|
|
첫 등록: BD-AA (순번 없음)
|
|
두 번째: BD-AA.01 (기존 변경) + BD-AA.02 (신규)
|
|
세 번째: BD-AA.03
|
|
```
|
|
|
|
---
|
|
|
|
## 7. 마이그레이션 이력
|
|
|
|
| 날짜 | 작업 | 비고 |
|
|
|------|------|------|
|
|
| 2026-03-21 (1차) | 기존 코드(날짜 포함) → `BD-XX-nn` 형식 변환 | 265건 |
|
|
| 2026-03-21 (2차) | `BD-XX-nn` → `BD-XX.nn` 형식 변환 | 재공품 코드와 구분자 분리 |
|
|
|
|
### 이전 코드 형식 (폐기)
|
|
|
|
```
|
|
❌ CX250722-06 (접두사 + 날짜 + 순번) — LOT 번호와 혼동
|
|
❌ BD-CX-06 (하이픈 구분) — 재공품 BD-CX-30과 혼동
|
|
✅ BD-CX.06 (점 구분) — 기초자료 전용, 재공품과 구분 명확
|
|
```
|
|
|
|
---
|
|
|
|
## 관련 문서
|
|
|
|
- [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
|