Commit Graph

541 Commits

Author SHA1 Message Date
kjs c25405b4de docs: Phase 2.1 진행률 업데이트 (17/46 완료)
문서 업데이트:
- 현재 진행률 17/46 (37.0%) 추가
- Stage 1-3 완료 체크 ()
- Stage 4 진행 중 표시 (🔄)
- 커밋 해시 추가 (13c1bc4, 0e8d1d4, 67dced7, 74351e8)

완료된 작업:
 Stage 1: 기본 CRUD (8개 함수)
 Stage 2: 레이아웃 관리 (2개 함수)
 Stage 3: 템플릿 & 메뉴 관리 (5개 함수)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 16:35:41 +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 ba10e7a12b docs: Add Phase 2.1 ScreenManagementService migration plan
Phase 2 시작: ScreenManagementService 상세 분석 완료

📊 분석 결과:
- 총 46개 Prisma 호출 (Phase 2 최대)
- 파일: 1,805 라인
- 복잡도: 매우 높음

🔍 Prisma 사용:
- 화면 정의: 18개
- 레이아웃: 4개
- 템플릿: 2개
- 메뉴 할당: 5개
- 트랜잭션: 3개

📋 4단계 전환 계획:
1. 기본 CRUD (6함수)
2. 레이아웃 (3함수)
3. 템플릿&메뉴 (6함수)
4. 복잡한 기능 (4함수)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 16:07:31 +09:00
kjs 824e5f4827 feat: Complete Phase 1.5 - AuthService Raw Query migration
Phase 1.5 완료: 인증 서비스 Raw Query 전환 및 테스트 완료

 AuthService 전환 완료 (5개 Prisma 호출 제거):
- loginPwdCheck(): Raw Query로 사용자 비밀번호 조회
- insertLoginAccessLog(): Raw Query로 로그인 로그 기록
- getUserInfo(): Raw Query로 사용자/권한/회사 정보 조회
  - authority_sub_user ↔ authority_master JOIN (master_objid ↔ objid)
  - 3개 쿼리로 분리 (사용자, 권한, 회사)
- processLogin(): 전체 로그인 플로우 통합
- processLogout(): 로그아웃 로그 기록

🧪 테스트 완료:
- 단위 테스트: 30개 테스트 모두 통과 
  - 로그인 검증 (6개)
  - 사용자 정보 조회 (5개)
  - 로그인 로그 기록 (4개)
  - 전체 로그인 프로세스 (5개)
  - 로그아웃 (2개)
  - 토큰 검증 (3개)
  - Raw Query 전환 검증 (3개)
  - 성능 테스트 (2개)
- 통합 테스트: 작성 완료 (auth.integration.test.ts)
  - 로그인 → 토큰 발급 → 인증 → 로그아웃 플로우

🔧 주요 변경사항:
- Prisma import 제거 → Raw Query (query from db.ts)
- authority 테이블 JOIN 수정 (auth_code → master_objid/objid)
- 파라미터 바인딩으로 SQL Injection 방지
- 타입 안전성 유지 (TypeScript Generic 사용)

📊 성능:
- 로그인 프로세스: < 1초
- 사용자 정보 조회: < 500ms
- 모든 테스트 실행 시간: 2.016초

🎯 다음 단계:
- Phase 2: 핵심 서비스 전환 (ScreenManagement, TableManagement 등)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 15:59:32 +09:00
hyeonsu 38f0f865df Merge pull request '프로필 이미지 삭제 직후 렌더링이 안되는 문제 해결' (#79) from fix/profileImage into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/79
2025-09-30 15:46:04 +09:00
dohyeons 6da8d14845 프로필 이미지 삭제 직후 렌더링이 안되는 문제 해결 2025-09-30 15:45:21 +09:00
kjs e837ccc1d1 docs: Add Phase 1.5 for Auth and Admin service migration
Phase 2 진행 전 인증/관리자 시스템 우선 전환 계획 수립

🔐 Phase 1.5 추가:
- AuthService 우선 전환 (5개 Prisma 호출)
- AdminService 확인 (이미 Raw Query 사용)
- AdminController 전환 (28개 Prisma 호출)

📋 변경 사항:
- Phase 1.5를 Phase 2보다 우선 실행하도록 계획 변경
- 인증/관리자 시스템을 먼저 안정화한 후 핵심 서비스 전환
- 로그인 → 인증 → API 호출 전체 플로우 검증

📚 새 문서:
- PHASE1.5_AUTH_MIGRATION_PLAN.md (상세 전환 계획)
  - AuthService 전환 방법 및 코드 예시
  - 단위 테스트 및 통합 테스트 계획
  - 완료 체크리스트

🎯 목표:
- 전체 시스템의 안정적인 인증 기반 구축
- Phase 2 이후 모든 서비스가 안전하게 인증 시스템 사용

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 15:40:18 +09:00
kjs 50d5305b93 클로드md 안올리게 설정 2025-09-30 15:30:38 +09:00
kjs bcc79b185c 페이즈1 완료 2025-09-30 15:29:56 +09:00
kjs ed78ef184d feat: Complete Phase 1 of Prisma to Raw Query migration
Phase 1 완료: Raw Query 기반 데이터베이스 아키텍처 구축

 구현 완료 내용:
- DatabaseManager 클래스 구현 (연결 풀, 트랜잭션 관리)
- QueryBuilder 유틸리티 (동적 쿼리 생성)
- 타입 정의 및 검증 로직 (database.ts, databaseValidator.ts)
- 단위 테스트 작성 및 통과

🔧 전환 완료 서비스:
- externalCallConfigService.ts (Raw Query 전환)
- multiConnectionQueryService.ts (Raw Query 전환)

📚 문서:
- PHASE1_USAGE_GUIDE.md (사용 가이드)
- DETAILED_FILE_MIGRATION_PLAN.md (상세 계획)
- PRISMA_TO_RAW_QUERY_MIGRATION_PLAN.md (Phase 1 완료 표시)

🧪 테스트:
- database.test.ts (핵심 기능 테스트)
- 모든 테스트 통과 확인

이제 Phase 2 (핵심 서비스 전환)로 진행 가능

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 15:29:20 +09:00
hyeonsu 318436475a Merge pull request '코드 활성/비활성화 해결' (#78) from fix/commcode into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/78
2025-09-30 14:29:02 +09:00
dohyeons 142f6a1a90 코드 활성/비활성화 해결 2025-09-30 14:28:40 +09:00
leeheejin 0b787b4c4c Fix modal label display issues and DOM node removal errors
- Hide rounded background labels in modal (계약구분, 국내/해외, 기본 버튼)
- Add try-catch blocks for DOM operations to prevent removeChild errors
- Fix event listener registration/removal in RealtimePreview, FileUpload, FileComponentConfigPanel
- Improve error handling for CustomEvent dispatching
2025-09-29 19:33:38 +09:00
hyeonsu d0d37d9e29 Merge pull request '에러 해결' (#77) from fix/error into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/77
2025-09-29 18:44:48 +09:00
dohyeons 6e3d5b40d2 에러 해결 2025-09-29 18:44:16 +09:00
hjlee 66395c9cc5 Merge pull request 'image' (#76) from lhj into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/76
2025-09-29 18:14:31 +09:00
leeheejin da429e7f24 image 2025-09-29 18:14:03 +09:00
kjs 78d49ee936 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node 2025-09-29 18:04:57 +09:00
kjs 126b3e1175 에러수정 2025-09-29 18:04:56 +09:00
hyeonsu 55f4c7fa26 Merge pull request 'fix/429error' (#75) from fix/429error into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/75
2025-09-29 17:47:16 +09:00
dohyeons e74deb7c34 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into fix/429error 2025-09-29 17:30:44 +09:00
dohyeons 6e8f529cd3 추가 감소 2025-09-29 17:29:58 +09:00
hjlee 467c5598ab Merge pull request 'dev' (#74) from dev into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/74
2025-09-29 17:24:24 +09:00
dohyeons 808a317ed0 38개로 감소 2025-09-29 17:24:06 +09:00
hjlee 5a5af8d258 Merge pull request 'lhj' (#73) from lhj into dev
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/73
2025-09-29 17:22:49 +09:00
leeheejin a5bf6601a0 ui, 파일업로드 관련 손보기 2025-09-29 17:21:47 +09:00
kjs f336e3b31f query 변환 계획 2025-09-29 17:19:31 +09:00
hjjeong 153fb18288 Merge pull request 'feature/batch-testing-updates' (#72) from feature/batch-testing-updates into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/72
2025-09-29 17:09:13 +09:00
hjjeong c2a4a4a61e Merge remote-tracking branch 'origin/main' into feature/batch-testing-updates 2025-09-29 17:04:52 +09:00
dohyeons 6ce5fc84a8 Revert React Query changes 2025-09-29 16:55:39 +09:00
hjjeong 1be8771e01 rest api get 파라미터 설정 개발중 2025-09-29 16:55:37 +09:00
kjs dbb049cb28 Merge pull request '버튼에 제어 달기' (#71) from feature/screen-management into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/71
2025-09-29 15:21:48 +09:00
kjs 62cb06c7d9 Merge branch 'main' into feature/screen-management 2025-09-29 15:21:42 +09:00
kjs 3c26f24179 버튼에 제어 달기 2025-09-29 15:21:14 +09:00
hjjeong 9dfd0cb40f Merge branch 'main' into feature/batch-testing-updates 2025-09-29 14:17:22 +09:00
hjjeong 9680991962 feat: 배치 관리 시스템 테스트 및 업데이트 기능 개선
- 배치 스케줄러 서비스 안정성 향상
- 외부 DB 연결 서비스 개선
- 배치 컨트롤러 및 관리 컨트롤러 업데이트
- 프론트엔드 배치 관리 페이지 개선
- Prisma 스키마 업데이트
2025-09-29 13:48:59 +09:00
kjs 43d8676f09 Merge pull request 'feature/screen-management' (#66) from feature/screen-management into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/66
2025-09-29 13:39:55 +09:00
kjs e057c4d960 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-09-29 13:37:35 +09:00
leeheejin bff7416cd1 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into lhj 2025-09-29 13:33:24 +09:00
kjs 0fca8cd90b get요청 db 저장기능 2025-09-29 13:32:59 +09:00
leeheejin e0143e9cba 문서뷰어기능구현 2025-09-29 13:29:03 +09:00
kjs c9afdec09f restapi 버튼 동작 2025-09-29 12:17:10 +09:00
kjs cedb5e3ec3 에러 수정 2025-09-29 10:23:21 +09:00
hjjeong 2448f26bc3 Merge branch 'feature/rest-api-integration' of http://39.117.244.52:3000/kjs/ERP-node 2025-09-26 20:04:07 +09:00
hjjeong cdd345a777 에러수정2 2025-09-26 18:51:27 +09:00
hjjeong 52d1e0acad 주의 2025-09-26 17:55:38 +09:00