docs: [bending] 재공품 LOT 번호 채번 규칙 문서 추가

- 경동기업 절곡품 LOT 코드 체계 (제품/종류/날짜/길이/일련번호)
- 향후 MNG 채번 규칙 관리로 전환 방향 명시
This commit is contained in:
김보곤
2026-03-18 19:31:54 +09:00
parent e29995ddc2
commit fbb0167812
2 changed files with 237 additions and 0 deletions

View File

@@ -155,6 +155,7 @@ DB 도메인별:
| [attendance-api.md](rules/attendance-api.md) | 근태 API 규칙 |
| [department-tree-api.md](rules/department-tree-api.md) | 부서 트리 API |
| [employee-api.md](rules/employee-api.md) | 직원 API |
| [bending-lot-numbering-policy.md](rules/bending-lot-numbering-policy.md) | 재공품(절곡품) LOT 번호 채번 규칙 (경동기업 기준, 향후 MNG 채번 규칙으로 전환) |
---

View File

@@ -0,0 +1,236 @@
# 재공품(절곡품) LOT 번호 채번 규칙
> **작성일**: 2026-03-18
> **상태**: 설계 확정
> **적용 테넌트**: 경동기업 (현재 하드코딩, 향후 MNG 채번 규칙으로 전환 예정)
---
## 1. 개요
### 1.1 목적
재고생산 시 절곡품의 LOT 번호를 체계적으로 부여하여 생산 이력을 추적한다.
### 1.2 핵심 원칙
- LOT 번호는 **제품 + 종류 + 날짜 + 모양&길이 + 일련번호**로 구성
- 현재 경동기업 전용 코드 체계이며, 타 테넌트는 별도 채번 규칙이 필요할 수 있음
- 향후 MNG 채번 규칙 관리 기능으로 테넌트별 설정 가능하도록 확장 예정
---
## 2. LOT 번호 구조
```
G I 4A05 - 53 - 001
│ │ │ │ │
│ │ │ │ └── 일련번호 (001~)
│ │ │ └── 모양&길이 코드
│ │ └── 날짜 코드 (4자리)
│ └── 종류 코드
└── 제품 코드
```
**예시**: `GI4A05-53-001` = 연기차단재 + 화이바원단(W50) + 2024년10월05일 + W50×3000 + 1번째
---
## 3. 제품 코드 (7종)
| 코드 | 제품명 |
|------|--------|
| R | 가이드레일(벽면형) |
| S | 가이드레일(측면형) |
| G | 연기차단재 |
| B | 하단마감재(스크린) |
| T | 하단마감재(철재) |
| L | L-Bar |
| C | 케이스 |
---
## 4. 종류 코드 (제품별)
### 4.1 가이드레일(벽면형) — R
| 코드 | 종류 | 재질 |
|------|------|------|
| M | 본체 | EGI 1.55T |
| T | 본체(철재) | EGI 1.55T |
| C | C형 | EGI 1.55T |
| D | D형 | EGI 1.55T |
| S | SUS마감재 | SUS 1.2T |
| W | 본체(L120) | EGI 1.55T |
| F | SUS마감재(L120) | SUS 1.2T |
### 4.2 가이드레일(측면형) — S
| 코드 | 종류 | 재질 |
|------|------|------|
| M | 본체디딤 | EGI 1.55T |
| T | 본체(철재) | EGI 1.55T |
| C | C형 | EGI 1.55T |
| D | D형 | EGI 1.55T |
| S | SUS마감재(3) | SUS 1.2T |
| U | SUS마감재(3) | SUS 1.2T |
| W | 본체(L120) | EGI 1.55T |
| F | SUS마감재(L120) | SUS 1.2T |
### 4.3 케이스 — C
| 코드 | 종류 | 재질 |
|------|------|------|
| F | 전면부 | EGI 1.55T |
| P | 점검구 | EGI 1.55T |
| L | 린텔부 | EGI 1.55T |
| B | 후면코너부 | EGI 1.55T |
### 4.4 하단마감재(스크린) — B
| 코드 | 종류 | 재질 |
|------|------|------|
| S | SUS | SUS 1.2T |
| E | EGI | EGI 1.55T |
### 4.5 하단마감재(철재) — T
| 코드 | 종류 | 재질 |
|------|------|------|
| S | SUS | SUS 1.2T |
| E | EGI | EGI 1.55T |
### 4.6 L-Bar — L
| 코드 | 종류 | 재질 |
|------|------|------|
| A | 스크린용 | EGI 1.55T |
### 4.7 연기차단재 — G
| 코드 | 종류 | 재질 |
|------|------|------|
| I | 화이바원단(W50) | 화이바원단 |
| H | 화이바원단(W80) | 화이바원단 |
> **참고**: 동일 코드가 다른 제품에서 다른 의미로 사용될 수 있다 (예: F = 가이드레일의 SUS마감재(L120) / 케이스의 전면부). 제품 코드와 함께 사용하므로 충돌 없음.
---
## 5. 날짜 코드 (4자리)
```
[년1자리][월1자리][일2자리]
```
### 5.1 년 코드
끝자리 사용: 2024→4, 2025→5, 2026→6, ..., 2030→0
### 5.2 월 코드
| 월 | 코드 |
|----|------|
| 1~9월 | 1~9 |
| 10월 | A |
| 11월 | B |
| 12월 | C |
### 5.3 일 코드
01~31 그대로 (2자리)
### 5.4 예시
| 날짜 | 날짜 코드 |
|------|----------|
| 2024-10-05 | `4A05` |
| 2026-03-17 | `6317` |
| 2026-12-25 | `6C25` |
---
## 6. 모양&길이 코드
### 6.1 연기차단재 전용 (제품 G)
| 규격 | 코드 |
|------|------|
| W50 × 3000 | 53 |
| W50 × 4000 | 54 |
| W80 × 3000 | 83 |
| W80 × 4000 | 84 |
### 6.2 일반 (가이드레일, 하단마감재, 케이스 등)
| 길이(mm) | 코드 |
|----------|------|
| 610 | 06 |
| 1219 | 12 |
| 1750 | 17 |
| 2000 | 20 |
| 2438 | 24 |
| 3000 | 30 |
| 3500 | 35 |
| 4000 | 40 |
| 4150 | 41 |
| 4300 | 43 |
| 4500 | 45 |
> **확장 가능**: 신규 길이 발생 시 코드를 추가한다.
---
## 7. 일련번호
같은 LOT 베이스(`제품+종류+날짜-길이`)에 대해 001부터 순차 부여한다.
```
GI6317-53-001 ← 1번째
GI6317-53-002 ← 2번째
GI6317-53-003 ← 3번째
```
---
## 8. 구현 위치
| 항목 | 파일 |
|------|------|
| 코드맵 상수 | `api/app/Services/BendingCodeService.php` |
| 날짜 코드 생성 | `BendingCodeService::generateDateCode()` |
| LOT 번호 생성 | `BendingCodeService::generateLotNumber()` |
| 재질 매핑 | `BendingCodeService::MATERIAL_MAP` |
| API 엔드포인트 | `GET /api/v1/bending/code-map` |
| 프론트엔드 | `react/src/components/stocks/BendingLotForm.tsx` |
---
## 9. 향후 계획
### 9.1 MNG 채번 규칙 관리로 전환
현재 `BendingCodeService`에 하드코딩된 코드맵을 MNG의 채번 규칙 관리 기능으로 전환하여 테넌트별로 설정 가능하게 한다.
```
현재: BendingCodeService 상수 (경동기업 전용)
목표: MNG 채번 규칙 관리 화면 → DB 저장 → API로 조회
→ 테넌트마다 다른 제품/종류/길이 코드 설정 가능
```
### 9.2 품목 매핑 데이터 등록
`bending_item_mappings` 테이블에 LOT 코드 조합 → 품목(items) 매핑 데이터를 등록해야 재고생산에서 품목 자동 식별이 가능하다.
---
## 관련 문서
- `dev/dev_plans/bending-management/README.md` — 절곡품 관리 전체 계획
- `frontend/api-specs/bending-lot-api.md` — 절곡품 LOT API 명세
- `changes/20260318_nginx_file_upload_413_fix.md` — 파일 업로드 413 수정
---
**최종 업데이트**: 2026-03-18