diff --git a/INDEX.md b/INDEX.md index 2a164fb..0193be0 100644 --- a/INDEX.md +++ b/INDEX.md @@ -263,6 +263,7 @@ DB 도메인별: | [20260318_receiving_create_ux_improvement.md](changes/20260318_receiving_create_ux_improvement.md) | 입고등록 UX 개선 (초기값 설정, 상세 이동, 413 수정, Dialog 접근성) | | [20260318_nginx_file_upload_413_fix.md](changes/20260318_nginx_file_upload_413_fix.md) | 서비스 파일 업로드 413 오류 수정 (Nginx client_max_body_size 설정) | | [20260318_receiving_inspection_attachment_bug.md](changes/20260318_receiving_inspection_attachment_bug.md) | 입고상세 수입검사 첨부파일 삭제 후 미갱신 버그 (React 수정 필요) | +| [20260318_bending_lot_codemap_update.md](changes/20260318_bending_lot_codemap_update.md) | 절곡품 LOT 코드맵 최신화 + 품목 222건 등록 + 일련번호 제거 | --- diff --git a/changes/20260318_bending_lot_codemap_update.md b/changes/20260318_bending_lot_codemap_update.md new file mode 100644 index 0000000..17bde6e --- /dev/null +++ b/changes/20260318_bending_lot_codemap_update.md @@ -0,0 +1,101 @@ +# 절곡품 LOT 채번 코드맵 최신화 + 품목 일괄 등록 + 일련번호 제거 + +**날짜:** 2026-03-18 +**작업자:** Claude Code + +--- + +## 변경 개요 + +경동기업 재공품 LOT 채번 규칙을 최신 기준으로 업데이트했다. 신규 종류/길이 코드 추가, 누락 품목 222건 일괄 등록, LOT 번호에서 일련번호(-001) 제거. + +--- + +## 수정된 파일 + +| 파일 | 변경 내용 | 프로젝트 | +|------|----------|---------| +| `app/Services/BendingCodeService.php` | 코드맵 최신화 + generateLotNumber() 일련번호 제거 | API | +| `app/Http/Controllers/Api/V1/BendingController.php` | generate-lot 응답 단순화 | API | +| `scripts/register-bending-items.php` | 품목 일괄 등록 스크립트 | API | + +--- + +## 상세 변경 사항 + +### 1. BendingCodeService 코드맵 최신화 + +**신규 종류 코드 3종:** + +| 코드 | 종류 | 적용 제품 | +|------|------|----------| +| W | 본체(L120) | R(벽면형), S(측면형) | +| F | SUS마감재(L120) | R(벽면형), S(측면형) | +| H | 화이바원단(W80) | G(연기차단재) | + +**신규 길이 코드 4종:** + +| 길이 | 코드 | +|------|------| +| 610mm | 06 | +| 1750mm | 17 | +| 2000mm | 20 | +| 4500mm | 45 | + +**명칭 변경:** +- R:M 본체 → S:M 본체디딤 (측면형만) +- SUS(마감) → SUS마감재 / SUS마감재(3) +- 화이바원단 → 화이바원단(W50) +- 가이드레일(R/S)에서 EGI(E) 종류 코드 제거 + +### 2. 품목 일괄 등록 (222건) + +LOT 코드 기준 26개 제품+종류 조합 × 12개 길이 = 320개 조합 중 누락 222건을 `items` 테이블에 등록. `bending_item_mappings` 테이블에 320건 매핑 동시 등록. + +| 구분 | 건수 | +|------|:----:| +| 기존 품목 유지 | 170건 | +| 신규 생성 | 222건 | +| bending_item_mappings | 320건 | + +### 3. LOT 번호 일련번호 제거 + +``` +변경 전: CL6318-30-001 (일련번호 포함) +변경 후: CL6318-30 (일련번호 없음) +``` + +같은 날 같은 조합은 동일 LOT 번호를 사용한다. + +**API 응답 변경 (`POST /api/v1/bending/generate-lot`):** + +```json +// 변경 전 +{ "lot_base": "CL6318-30", "lot_number": "CL6318-30-001", "date_code": "6318", "material": "EGI 1.55T" } + +// 변경 후 +{ "lot_number": "CL6318-30", "material": "EGI 1.55T" } +``` + +> `lot_base`, `date_code` 필드 제거. `lot_number`에 일련번호 미포함. + +--- + +## React 영향 (프론트엔드 전달 필요) + +- `BendingLotForm.tsx`의 LOT 프리뷰(`lotPreview`)는 이미 올바르게 동작 (일련번호 없는 형태) +- 저장 시 `generateBendingLot()` API 응답에서 `lot_base`, `date_code` 필드 제거됨 + - 현재 코드에서 `lotData.lot_number`와 `lotData.material`만 사용하므로 **호환성 문제 없음** +- 추가 구현 권장: 3요소 선택 시 매핑 품목이 자동 표시되는 UX 강화 (현재도 동작하나 확인 필요) + +--- + +## 관련 문서 + +- `rules/bending-lot-numbering-policy.md` — LOT 채번 규칙 정책 +- `plans/bending-item-registration-plan.md` — 품목 등록 계획 (완료) +- `plans/bending-lot-auto-generation-plan.md` — LOT 자동 채번 기획 + +--- + +**최종 업데이트**: 2026-03-18