2026-01-28 11:24:25 +09:00
|
|
|
# 프로젝트: 화면 복제 기능 개선 (DB 구조 개편 후)
|
2026-01-15 14:58:12 +09:00
|
|
|
|
|
|
|
|
## 개요
|
2026-01-28 11:24:25 +09:00
|
|
|
채번/카테고리에서 `menu_objid` 의존성 제거 완료 후, 화면 복제 기능을 새 DB 구조에 맞게 수정하고 테스트합니다.
|
2026-01-15 14:58:12 +09:00
|
|
|
|
2026-01-28 11:24:25 +09:00
|
|
|
## 핵심 변경사항
|
2026-01-15 14:58:12 +09:00
|
|
|
|
2026-01-28 11:24:25 +09:00
|
|
|
### DB 구조 변경 (완료)
|
|
|
|
|
- 채번규칙: `menu_objid` 의존성 제거 → `table_name + column_name + company_code` 기반
|
|
|
|
|
- 카테고리: `menu_objid` 의존성 제거 → `table_name + column_name + company_code` 기반
|
|
|
|
|
- 복제 순서 의존성 문제 해결
|
2026-01-15 14:58:12 +09:00
|
|
|
|
2026-01-28 11:24:25 +09:00
|
|
|
### 복제 옵션 정리 (완료)
|
|
|
|
|
- [x] **삭제**: 코드 카테고리 + 코드 복사 옵션
|
|
|
|
|
- [x] **삭제**: 연쇄관계 설정 복사 옵션
|
|
|
|
|
- [x] **이름 변경**: "카테고리 매핑 + 값 복사" → "카테고리 값 복사"
|
2026-01-15 14:58:12 +09:00
|
|
|
|
2026-01-28 11:24:25 +09:00
|
|
|
### 현재 복제 옵션 (3개)
|
|
|
|
|
1. **채번 규칙 복사** - 채번규칙 복제
|
|
|
|
|
2. **카테고리 값 복사** - 카테고리 값 복제 (table_column_category_values)
|
|
|
|
|
3. **테이블 타입관리 입력타입 설정 복사** - table_type_columns 복제
|
2025-11-21 02:25:25 +09:00
|
|
|
|
2026-01-28 11:24:25 +09:00
|
|
|
---
|
2025-11-21 02:25:25 +09:00
|
|
|
|
|
|
|
|
## 테스트 계획
|
|
|
|
|
|
2026-01-28 11:24:25 +09:00
|
|
|
### 1. 화면 간 연결 복제 테스트
|
|
|
|
|
- [ ] 수주관리 1번→2번→3번→4번 화면 연결 상태에서 복제
|
|
|
|
|
- [ ] 복제 후 연결 관계가 유지되는지 확인
|
|
|
|
|
- [ ] 각 화면의 고유 키값이 새로운 화면을 참조하도록 변경되는지 확인
|
|
|
|
|
|
|
|
|
|
### 2. 제어관리 복제 테스트
|
|
|
|
|
- [ ] 다른 회사로 제어관리 복제
|
|
|
|
|
- [ ] 복제된 플로우 스텝/연결이 정상 작동하는지 확인
|
|
|
|
|
|
|
|
|
|
### 3. 추가 옵션 복제 테스트
|
|
|
|
|
- [ ] 채번규칙 복사 정상 작동 확인
|
|
|
|
|
- [ ] 카테고리 값 복사 정상 작동 확인
|
|
|
|
|
- [ ] 테이블 타입관리 입력타입 설정 복사 정상 작동 확인
|
|
|
|
|
|
|
|
|
|
### 4. 기본 복제 테스트
|
|
|
|
|
- [ ] 단일 화면 복제 (모달 포함)
|
|
|
|
|
- [ ] 그룹 전체 복제 (재귀적)
|
|
|
|
|
- [ ] 메뉴 동기화 정상 작동
|
2025-11-21 02:25:25 +09:00
|
|
|
|
2026-01-28 11:24:25 +09:00
|
|
|
---
|
2025-11-21 02:25:25 +09:00
|
|
|
|
2026-01-28 11:24:25 +09:00
|
|
|
## 관련 파일
|
|
|
|
|
- `frontend/components/screen/CopyScreenModal.tsx` - 복제 모달
|
|
|
|
|
- `frontend/components/screen/ScreenGroupTreeView.tsx` - 트리 뷰 + 컨텍스트 메뉴
|
|
|
|
|
- `backend-node/src/services/screenManagementService.ts` - 복제 서비스
|
|
|
|
|
- `backend-node/src/services/numberingRuleService.ts` - 채번규칙 서비스
|
|
|
|
|
- `docs/DB_STRUCTURE_DIAGRAM.md` - DB 구조 문서
|
2025-11-21 02:25:25 +09:00
|
|
|
|
|
|
|
|
## 진행 상태
|
2026-01-28 11:24:25 +09:00
|
|
|
- [완료] DB 구조 개편 (menu_objid 의존성 제거)
|
|
|
|
|
- [완료] 복제 옵션 정리 (코드카테고리/연쇄관계 삭제, 이름 변경)
|
|
|
|
|
- [완료] 화면 간 연결 복제 버그 수정 (targetScreenId 매핑 추가)
|
|
|
|
|
- [대기] 화면 간 연결 복제 테스트
|
|
|
|
|
- [대기] 제어관리 복제 테스트
|
|
|
|
|
- [대기] 추가 옵션 복제 테스트
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 수정 이력
|
|
|
|
|
|
|
|
|
|
### 2026-01-26: 버튼 targetScreenId 매핑 버그 수정
|
|
|
|
|
|
|
|
|
|
**문제**: 그룹 복제 시 버튼의 `targetScreenId`가 새 화면으로 매핑되지 않음
|
|
|
|
|
- 수주관리 1→2→3→4 화면 복제 시 연결이 깨지는 문제
|
|
|
|
|
|
|
|
|
|
**수정 파일**: `backend-node/src/services/screenManagementService.ts`
|
|
|
|
|
- `updateTabScreenReferences` 함수에 `targetScreenId` 처리 로직 추가
|
|
|
|
|
- 쿼리에 `targetScreenId` 검색 조건 추가
|
|
|
|
|
- 문자열/숫자 타입 모두 처리
|