feat: ItemService 동적 테이블 라우팅 구현

- item_type → ItemPage.source_table → Model 클래스 동적 라우팅
- getModelInfoByItemType(): item_type으로 Model 정보 조회 (캐싱)
- newQuery(): 동적 Query Builder 생성
- 모든 CRUD 메서드 item_type 필수 파라미터로 변경
- ItemsController item_type 전달 로직 수정
- 에러 메시지 추가 (item_type_required, invalid_source_table)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-12-13 23:28:06 +09:00
parent a93dfe7b19
commit d1afa6e05e
3 changed files with 320 additions and 90 deletions

View File

@@ -111,6 +111,9 @@
'field_not_found' => '필드를 찾을 수 없습니다.',
'field_key_reserved' => '":field_key"은(는) 시스템 예약어로 사용할 수 없습니다.',
'bom_not_found' => 'BOM 항목을 찾을 수 없습니다.',
'item_type_required' => '품목 유형(item_type)은 필수입니다.',
'invalid_item_type' => '유효하지 않은 품목 유형입니다.',
'invalid_source_table' => '품목 유형에 대한 소스 테이블이 설정되지 않았습니다.',
// 품목 관리 관련
'item' => [