- claudedocs 폴더 구조 재정리: archive/sessions, guides/migration·mobile·universal-list, refactoring 분류 - 오래된 세션 컨텍스트/체크리스트 문서 정리 (아카이브 이동 또는 삭제) - AuthContext → authStore(Zustand) 전환 시작, RootProvider 간소화 - GenericCRUDDialog 공통 다이얼로그 컴포넌트 추가 - PermissionDialog 삭제 → GenericCRUDDialog로 대체 - RankDialog/TitleDialog GenericCRUDDialog 기반으로 리팩토링 - toast-utils.ts 삭제 (미사용) - fileDownload.ts 개선, excel-download.ts 정리 - menuStore/themeStore Zustand 셀렉터 최적화 - useColumnSettings/useTableColumnStore 기능 보강 - 세금계산서/견적/작업자화면/결재 등 소규모 개선 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.4 KiB
3.4 KiB
품목기준관리 - 백엔드 통합 대기 작업
작성일: 2025-11-26 상태: 백엔드 통합 작업 대기 중
현재 상황 요약
해결된 이슈
-
섹션 순서 변경 422 에러
- 원인: 백엔드가
items필드를 기대하는데 프론트가section_orders전송 - 수정 파일:
src/types/item-master-api.ts-SectionReorderRequest.items로 변경src/contexts/ItemMasterContext.tsx-reorderSections함수 수정
- 원인: 백엔드가
-
response.data.map is not a function 에러
- 원인: 백엔드 응답이 배열이 아닌 경우 처리 누락
- 수정: 배열/비배열 응답 모두 처리하도록 조건문 추가
-
불러오기 다이얼로그에 마스터 항목 미표시
- 수정 파일:
src/components/items/ItemMasterDataManagement/dialogs/ImportFieldDialog.tsxsrc/components/items/ItemMasterDataManagement.tsx
- 변경 내용: 마스터 항목 / 독립 필드 탭 분리
- 수정 파일:
백엔드 통합 대기 중인 이슈
데이터 동기화 문제
현상:
- 계층구조에서 섹션 내 항목 생성 시 → 마스터항목 탭, 속성 탭, 불러오기에도 표시됨
- 원인:
GET /v1/item-master/fieldsAPI가 모든 필드를 반환 (독립 필드만 반환해야 함)
백엔드 요청 사항:
GET /v1/item-master/fields→section_id IS NULL인 필드만 반환- 마스터 항목 + 섹션 필드 통합 구조 검토
현재 데이터 구조 (분리됨)
item_master_fields 테이블 (마스터 항목)
├─ 항목 탭에서 생성/관리
├─ 속성 탭 서브탭으로 표시
└─ 불러오기 시 "복사"하여 새 필드 생성
item_fields 테이블 (실제 필드)
├─ section_id != null → 섹션 필드 (계층구조/섹션 탭)
└─ section_id = null → 독립 필드 (불러오기에서 "연결")
예상되는 통합 구조 (백엔드 작업 중)
통합된 필드 테이블
├─ is_master = true → 마스터 필드 (템플릿)
├─ section_id != null → 섹션 필드
└─ section_id = null, is_master = false → 독립 필드
→ 마스터 필드 수정 시 연결된 모든 필드에 반영
프론트엔드 수정 필요 사항 (백엔드 통합 후)
1. API 응답 구조 변경 대응
InitResponse타입 수정 (통합된 필드 구조)transformers.ts변환 로직 수정
2. Context 수정
itemMasterFieldsvsindependentFields통합 가능성- 필드 CRUD 함수 통합
3. UI 수정
- ImportFieldDialog 탭 구조 재검토 (통합되면 탭 불필요할 수 있음)
- 데이터 동기화 로직 단순화
관련 파일 목록
수정된 파일 (2025-11-26)
src/types/item-master-api.tssrc/contexts/ItemMasterContext.tsxsrc/lib/api/error-handler.tssrc/components/items/ItemMasterDataManagement.tsxsrc/components/items/ItemMasterDataManagement/dialogs/ImportFieldDialog.tsx
참고할 파일
src/lib/api/item-master.ts- API 호출 함수src/lib/api/transformers.ts- 응답 변환 함수src/components/items/ItemMasterDataManagement/hooks/useTabManagement.ts- 속성 탭 생성 로직
다음 작업 체크리스트
- 백엔드 통합 API 완료 확인
- 새 API 응답 구조 확인 및 타입 수정
- Context 데이터 구조 통합
- ImportFieldDialog 통합 여부 결정
- 테스트: 마스터 항목 수정 → 연결된 필드 동기화 확인