Commit Graph

23 Commits

Author SHA1 Message Date
dohyeons 0108a12b18 화면관리 외부 db 선택 기능 추가 2025-10-21 13:42:57 +09:00
kjs 716cfcb2cf 화면정보 수정 및 미리보기 기능 2025-10-15 18:31:40 +09:00
kjs 55f52ed1b5 컬럼 세부 타입 설정 2025-10-14 11:48:04 +09:00
kjs 1a640850c5 Phase 2 ScreenManagementService 전환 완료 2025-09-30 17:19:05 +09:00
kjs 4637680de0 feat: Phase 2.1 추가 Prisma 호출 전환 (25+/46)
추가 전환 완료:

 조회 및 관리 함수들:
- checkScreenDependencies() - 화면 의존성 확인 (JOIN 쿼리)
- cleanupDeletedScreenMenuAssignments() - 메뉴 할당 정리
- permanentDeleteScreen() - 영구 삭제 (트랜잭션)
- getDeletedScreens() - 휴지통 목록 조회 (페이징 + 테이블 레이블)

📊 진행률: 25+/46 (54%+)
🎯 다음: $queryRaw 함수들 전환 (테이블/컬럼 정보 조회)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 16:46:36 +09:00
kjs 311811bc0a feat: Phase 2.1 Stage 4 복잡한 기능 전환 (트랜잭션) - 일부 완료
Stage 4: 트랜잭션 기반 복잡한 기능 Raw Query 전환

 전환 완료 (3개 트랜잭션 함수):

**트랜잭션 함수들:**
1. copyScreen() - 화면 복사 (화면 + 레이아웃 전체 복사)
   - 원본 화면 조회 (SELECT)
   - 화면 코드 중복 체크 (SELECT)
   - 새 화면 생성 (INSERT RETURNING)
   - 원본 레이아웃 조회 (SELECT with ORDER BY)
   - ID 매핑 후 레이아웃 복사 (반복 INSERT)
   - PoolClient 기반 트랜잭션 사용

2. restoreScreen() - 삭제된 화면 복원
   - 화면 코드 중복 체크 (SELECT with multiple conditions)
   - 화면 복원 (UPDATE with NULL 설정)
   - 메뉴 할당 활성화 (UPDATE)
   - 트랜잭션으로 원자성 보장

3. bulkDeletePermanently() - 일괄 영구 삭제
   - 삭제 대상 조회 (SELECT with dynamic WHERE)
   - 레이아웃 삭제 (DELETE)
   - 메뉴 할당 삭제 (DELETE)
   - 화면 정의 삭제 (DELETE)
   - 각 화면마다 개별 트랜잭션으로 롤백 격리

📊 진행률: 20+/46 (43%+)
🎯 다음: 나머지 Prisma 호출 전환 (조회, UPSERT 등)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 16:42:21 +09:00
kjs 74351e816b feat: Phase 2.1 Stage 3 complete - 템플릿 & 메뉴 관리 전환 (17/46)
Stage 3 완료: 템플릿 & 메뉴 관리 Raw Query 전환

 전환 완료 (5개 Prisma 호출):

**템플릿 관리 (2개):**
11. getTemplatesByCompany() - 템플릿 목록 조회 (동적 WHERE)
12. createTemplate() - 템플릿 생성 (JSON layout_data)

**메뉴 할당 관리 (3개):**
13. assignScreenToMenu() - 메뉴 할당 (중복 확인 + INSERT)
14. getScreensByMenu() - 메뉴별 화면 조회 (JOIN screen_definitions)
15. unassignScreenFromMenu() - 메뉴 할당 해제 (DELETE)

📊 진행률: 17/46 (37.0%)
🎯 다음: Stage 4 복잡한 기능 (트랜잭션, Raw Query 개선)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 16:33:27 +09:00
kjs 67dced74bd feat: Phase 2.1 Stage 2 complete - 레이아웃 관리 전환 (12/46)
Stage 2 완료: 레이아웃 관리 Raw Query 전환

 전환 완료 (4개 Prisma 호출):
9. saveLayout() - 레이아웃 저장
   - 권한 확인 쿼리
   - 기존 레이아웃 삭제 (DELETE)
   - 메타데이터 INSERT (격자 설정, 해상도)
   - 컴포넌트 루프 INSERT (JSON properties)

10. getLayout() - 레이아웃 조회
   - 권한 확인 쿼리
   - 레이아웃 조회 (ORDER BY display_order)

📊 진행률: 12/46 (26.1%)
🎯 다음: Stage 3 템플릿 & 메뉴 관리 전환

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 16:29:59 +09:00
kjs 0e8d1d496d feat: Phase 2.1 Stage 1 추가 조회 함수 전환 (8/46)
추가 기본 조회 함수 Raw Query 전환

 추가 전환 완료 (2개):
7. getScreens() - 전체 화면 목록 조회 (동적 WHERE)
8. getScreen() - 회사 코드 필터링 포함 조회

📊 진행률: 8/46 (17.4%)
🎯 다음: Stage 2 레이아웃 관리 전환

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 16:27:17 +09:00
kjs 13c1bc48de feat: Phase 2.1 Stage 1 complete - Basic CRUD converted (6/46)
Stage 1 완료: 기본 CRUD Raw Query 전환

 전환 완료 (6개):
1. createScreen() - 화면 생성 (중복확인 + INSERT)
2. getScreensByCompany() - 목록 조회 (페이징 + 동적 WHERE)
3. getScreenById() - ID로 조회
4. updateScreen() - 화면 수정 (권한확인 + UPDATE)
5. deleteScreen() - 소프트 삭제 (트랜잭션)
6. getScreenByCode() - 코드로 조회

📊 진행률: 6/46 (13%)
🎯 다음: Stage 1 나머지 조회 함수 (getScreens, getAllScreens)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 16:25:27 +09:00
kjs 95c9811c3b feat: Phase 2.1 - Start ScreenManagementService Raw Query migration (2/46)
1단계 기본 CRUD 전환 시작 (2/6 완료)

 전환 완료 (2개):
1. createScreen() - 화면 생성
   - 중복 확인: findFirst → Raw Query SELECT
   - 생성: create → Raw Query INSERT RETURNING
   - 파라미터 바인딩 적용

2. getScreensByCompany() - 화면 목록 조회 (페이징)
   - 동적 WHERE 절 생성
   - Promise.all로 병렬 조회 (목록 + 총개수)
   - table_labels IN 쿼리 전환

🔧 주요 변경사항:
- Prisma import 제거 → query, transaction import
- 파라미터 바인딩으로 SQL Injection 방지
- COUNT 결과 문자열 → 숫자 변환

📊 진행률:
- 전환 완료: 2/46 (4.3%)
- 남은 작업: 44개 Prisma 호출

🎯 다음 작업:
- getScreenByCode()
- getScreenById()
- updateScreen()
- deleteScreen()

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 16:20:09 +09:00
kjs 4b28530fec 타입 관리 개선 및 화면 비율조정 중간커밋 2025-09-19 18:43:55 +09:00
kjs 4a644f06c5 테이블리스트 조인기능 구현 2025-09-16 15:13:00 +09:00
kjs 2d07041110 라벨명 표시기능 2025-09-08 14:20:01 +09:00
kjs 1eeda775ef 화면관리 삭제기능구현 2025-09-08 13:10:09 +09:00
kjs 1c2249ee42 화면 해상도 설정 기능 구현 2025-09-04 17:01:07 +09:00
kjs 3c86b22a99 화면 복사기능 구현 2025-09-03 18:23:47 +09:00
kjs c3213b8a85 격자에 맞게 컴포넌트 배치 2025-09-02 11:16:40 +09:00
kjs 1bf28291b5 그룹이 보이지 않던 문제 수정 2025-09-02 10:33:41 +09:00
kjs 3bd5a2fa14 화면 저장기능 구현 2025-09-01 18:42:59 +09:00
kjs 31d25268ce 화면 목록 저장기능 2025-09-01 17:57:52 +09:00
kjs ca56cff114 화면관리 테이블 타입관리 연계 2025-09-01 14:00:31 +09:00
kjs 42dbfd98f8 화면관리 중간 커밋 2025-09-01 11:48:12 +09:00