# 입고등록 — 원자재로트번호 자동채번 적용 요청 **날짜:** 2026-03-17 **요청자:** R&D실 (백엔드) **대상:** React 프론트엔드 --- ## 변경 요약 입고등록 화면의 **원자재로트번호** 필드를 **읽기 전용(자동채번)**으로 변경한다. --- ## 대상 화면 ``` URL: /material/receiving-management/new/mode-new /material/receiving-management/[id]?mode=edit 컴포넌트: ReceivingDetail.tsx ``` --- ## 변경 내용 ### 원자재로트번호 (`lot_no`) 필드 | 항목 | 변경 전 | 변경 후 | |------|--------|--------| | 입력 방식 | 사용자 직접 입력 (프론트 `generateLotNo()` 호출) | **읽기 전용** (API 자동 생성) | | 신규 등록 시 | 프론트에서 랜덤 생성 후 전송 | `lot_no` 미전송 → API가 자동 채번 | | 저장 후 표시 | — | API 응답의 `lot_no` 값을 표시 | | 수정 모드 | 편집 가능 | **읽기 전용** (기존 값 표시) | ### UI 처리 ``` ✅ input 요소에 readOnly 또는 disabled 속성 적용 ✅ 배경색을 회색(비활성) 처리하여 자동생성임을 시각적으로 표현 ✅ 신규 등록 시 placeholder: "저장 시 자동 생성" 또는 빈 값 ✅ 저장 후 API 응답에서 lot_no를 받아 화면에 표시 ❌ 프론트의 generateLotNo() 함수 호출 제거 (또는 미사용 처리) ``` ### API 동작 ``` POST /api/v1/receivings (신규 등록) → lot_no 미전송 시 API가 채번규칙 기반 자동 생성 → 응답: { "data": { "lot_no": "260317-01", ... } } PUT /api/v1/receivings/{id} (수정) → lot_no 변경 불가 (프론트에서 전송하지 않음) POST /api/v1/receivings/{id}/process (입고처리) → lot_no 미전송 시 API가 자동 생성 → 응답에 최종 lot_no 포함 ``` ### 채번 형식 ``` YYMMDD-NN (일별 시퀀스, 01부터 시작) 예: 260317-01, 260317-02, ... 260318-01 (다음날 리셋) ``` > 채번 형식은 MNG 채번규칙 관리에서 테넌트별로 변경 가능. 프론트는 형식에 의존하지 않고 API 응답값을 그대로 표시하면 된다. --- ## 참고 - API 변경 커밋: `feat: [receiving] 원자재로트번호 채번규칙 연동` - 채번규칙 문서: `docs/rules/numbering-rules.md`