Commit Graph

129 Commits

Author SHA1 Message Date
leeheejin bf58e0c878 메일관리 기능 구현 2025-10-02 15:46:23 +09:00
leeheejin 4202a5b310 Merge branch 'main' into lhj - 충돌 해결 2025-10-01 18:01:20 +09:00
leeheejin 6d1fe625e4 메일관리 시스템 구현 완료 2025-10-01 17:01:31 +09:00
leeheejin 0209be8fd6 메일 관리 작업 저장용 커밋 2025-10-01 16:15:53 +09:00
kjs d22e83d234 fix: UPDATE 액션 formData 기본 포함 및 로깅 추가
UPDATE 액션 실행 시:
- formData를 기본으로 복사하여 기본키 포함
- 상세 로깅으로 디버깅 지원
- 백엔드 동적 기본키 조회 구현
2025-10-01 15:51:13 +09:00
kjs 151de4148c fix: UPDATE 액션 동적 기본키 조회 기능 추가
문제:
- UPDATE 액션 실행 시 ID 필요 에러
- executeUpdate가 하드코딩된 id 필드만 찾음
- 실제 테이블 기본키는 다를 수 있음

해결:
1. 테이블 기본키 동적 조회
2. 기본키 값 동적 추출
3. 동적 UPDATE 쿼리 생성
4. 상세 로깅 추가

결과:
- 모든 테이블의 UPDATE 동작
- 동적 기본키 처리
2025-10-01 15:48:29 +09:00
kjs 401bbf85dc Merge branch 'main' into feature/prisma-to-raw-query-phase1-complete 2025-10-01 15:07:07 +09:00
kjs ec5fae1a4d fix: Prisma 에러 처리 코드를 PostgreSQL 에러 코드로 변경
변경사항:

1. errorHandler.ts:
   - Prisma 에러 처리 제거
   - PostgreSQL 에러 코드 기반 처리 추가:
     * 23505: unique_violation (중복 데이터)
     * 23503: foreign_key_violation (참조 무결성)
     * 23502: not_null_violation (필수값 누락)

2. dataflowDiagramController.ts:
   - P2002 (Prisma) → 23505 (PostgreSQL)
   - unique constraint 에러 처리 개선

3. commonCodeController.ts:
   - Prisma 에러 처리 주석 수정
   - PostgreSQL 23505 에러 코드 추가

최종 확인:
-  prisma. 호출: 0개
-  PrismaClient import: 0개
-  Prisma 파일: 0개
-  package.json Prisma 의존성: 0개
-  TypeScript 컴파일 에러: 0개
-  모든 Prisma 관련 코드 제거 완료
2025-10-01 14:57:25 +09:00
kjs 97f4d11870 fix: buttonActionStandardController pool 사용을 transaction 함수로 변경
문제:
- pool이 null일 수 있다는 TypeScript 에러 발생
- pool.connect()를 직접 사용하는 것은 안전하지 않음

해결:
- pool import를 transaction으로 변경
- 수동 트랜잭션 관리 코드를 transaction 함수로 교체
- BEGIN/COMMIT/ROLLBACK 자동 처리
- 파라미터 개수 최적화 (updated_date를 NOW()로 변경)

장점:
- 타입 안전성 향상
- 에러 처리 자동화
- 코드 간소화
2025-10-01 14:38:14 +09:00
kjs fcf887ae76 fix: pool export 추가로 buttonActionStandardController 컴파일 에러 해결
문제:
- buttonActionStandardController에서 pool을 import하려 했으나
- db.ts에서 pool이 export되지 않아 컴파일 에러 발생

해결:
- db.ts에 'export { pool }' 추가
- pool 직접 접근이 필요한 경우를 위해 명시적 export

영향받는 파일:
- backend-node/src/database/db.ts
- backend-node/src/controllers/buttonActionStandardController.ts (사용)
2025-10-01 14:37:33 +09:00
kjs f2f0c33bad feat: webTypeStandardController & fileController Prisma 전환 완료
컨트롤러 레이어 전환:

webTypeStandardController.ts (11개):
-  getWebTypes: findMany → query (동적 WHERE, ILIKE)
-  getWebType: findUnique → queryOne
-  createWebType: findUnique + create → queryOne (중복 체크 + INSERT)
-  updateWebType: update → query (동적 UPDATE, 11개 필드)
-  deleteWebType: delete → query (RETURNING)
-  updateSortOrder: $transaction → transaction (batch update)
-  getCategories: groupBy → query (GROUP BY, COUNT)

fileController.ts (1개):
-  downloadFile: findUnique → queryOne

기술적 구현:
- 동적 WHERE 절: ILIKE를 사용한 검색
- 동적 UPDATE: 11개 필드 조건부 업데이트
- 트랜잭션: transaction 함수로 batch update
- GROUP BY: 카테고리별 집계

전체 진행률: 42/29 (145%) - 컨트롤러 완료
남은 작업: Routes(4), Service(4), Config(4)
2025-10-01 14:36:36 +09:00
kjs 7919079362 docs: Phase 4 남은 Prisma 호출 전환 계획서 작성
현재 상황 분석 및 문서화:

컨트롤러 레이어:
-  adminController.ts (28개) 완료
-  screenFileController.ts (2개) 완료
- 🔄 남은 파일 (12개 호출):
  * webTypeStandardController.ts (11개)
  * fileController.ts (1개)

Routes & Services:
- ddlRoutes.ts (2개)
- companyManagementRoutes.ts (2개)
- multiConnectionQueryService.ts (4개)

Config:
- database.ts (4개 - 제거 예정)

새로운 계획서:
- PHASE4_REMAINING_PRISMA_CALLS.md (상세 전환 계획)
- 파일별 Prisma 호출 상세 분석
- 전환 패턴 및 우선순위 정리

전체 진행률: 445/444 (100.2%)
남은 작업: 12개 (추가 조사 필요한 파일 제외)
2025-10-01 14:33:08 +09:00
hjjeong 5f63c24c42 feat: 대시보드 관리 시스템 구현
## 백엔드
- DashboardController: 대시보드 CRUD 및 쿼리 실행 API
- DashboardService: 비즈니스 로직 처리
- PostgreSQL 연동 및 데이터 관리

## 프론트엔드
- DashboardDesigner: 캔버스 기반 대시보드 디자이너
- QueryEditor: SQL 쿼리 편집 및 미리보기
- ChartRenderer: 다양한 차트 타입 지원 (Bar, Line, Area, Donut, Stacked, Combo)
- DashboardViewer: 실시간 데이터 반영 뷰어

## 개선사항
- 콘솔 로그 프로덕션 준비 (주석 처리)
- 차트 컴포넌트 확장 (6가지 타입)
- 실시간 쿼리 실행 및 데이터 바인딩
2025-10-01 12:06:24 +09:00
leeheejin 2a8841c6dc Merge branch 'main' into lhj - 충돌 해결 (메인 브랜치 코드 선택) 2025-10-01 11:31:53 +09:00
leeheejin fc99beb851 TypeScript 오류 수정 및 Merge conflict 해결
- dataflowControlService.ts: condition.field non-null assertion 추가
- batchExternalDbService.ts: connection 속성들 non-null assertion 추가, error 타입 unknown으로 변경
- multiConnectionQueryService.ts: connection, schemaResult.data non-null assertion 추가
- dataflowExecutionController.ts: 도달할 수 없는 코드 제거
- TableListComponent.tsx, SingleTableWithSticky.tsx: merge conflict 마커 제거
- 모든 TypeScript 컴파일 오류 해결 완료
2025-10-01 09:58:38 +09:00
dohyeons 142f6a1a90 코드 활성/비활성화 해결 2025-09-30 14:28:40 +09:00
leeheejin 8c19d57ced ui, 외부커넥션에서 쿼리 조회만 가능하도록 2025-09-30 10:30:05 +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
hjjeong c2a4a4a61e Merge remote-tracking branch 'origin/main' into feature/batch-testing-updates 2025-09-29 17:04:52 +09:00
hjjeong 1be8771e01 rest api get 파라미터 설정 개발중 2025-09-29 16:55:37 +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 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
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
hjjeong 3333429928 배치관리시스템 (DB, RestAPI) 2025-09-26 17:29:20 +09:00
kjs 9de0b4158c Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node 2025-09-26 17:17:53 +09:00
leeheejin 3600621554 화면관리 쪽 파일첨부 수정 2025-09-26 17:12:03 +09:00
kjs 9454e3a81f 제어관리 데이터 저장기능 2025-09-26 13:52:32 +09:00
leeheejin ee7c8e989e 파일 업로드 기능 구현 및 상세설정 연동
- 템플릿 파일첨부 컴포넌트와 FileComponentConfigPanel 실시간 동기화
- FileUpload 위젯에 전역 파일 상태 관리 기능 추가
- 파일 업로드/삭제 시 전역 상태 및 localStorage 동기화
- RealtimePreview에서 전역 상태 우선 읽기 및 파일 개수 표시
- 한컴오피스, Apple iWork 파일 형식 지원 추가
- 파일 뷰어 모달 및 미리보기 기능 구현
- 업로드된 파일 디렉토리 .gitignore 추가
2025-09-26 13:11:34 +09:00
hjjeong 5921a84581 fix: 배치 관리 시스템 Oracle/MariaDB 커넥터 추가 및 timestamp 타입 변환 오류 수정
- DatabaseConnectorFactory에 Oracle, MariaDB 커넥터 추가
- BatchService에서 PostgreSQL timestamp 타입 캐스팅 추가
- BatchExternalDbService에 쿼리 로깅 추가
- 배치 실행 로그 관련 타입 및 컨트롤러 개선
- 프론트엔드 배치 관리 UI 개선
2025-09-25 14:25:18 +09:00
hjjeong 949aab0b73 feat: 배치 관리 시스템 구현
 주요 기능:
- 배치 설정 관리 (생성/수정/삭제/실행)
- 배치 실행 로그 관리 및 모니터링
- 배치 스케줄러 자동 실행 (cron 기반)
- 외부 DB 연결을 통한 데이터 동기화
- Oracle, MSSQL, MariaDB 커넥터 지원

🔧 백엔드 구현:
- BatchManagementController: 배치 설정 CRUD
- BatchExecutionLogController: 실행 로그 관리
- BatchSchedulerService: 자동 스케줄링
- BatchExternalDbService: 외부 DB 연동
- 배치 관련 테이블 스키마 추가

🎨 프론트엔드 구현:
- 배치 관리 대시보드 UI
- 배치 생성/수정 폼
- 실행 로그 모니터링 화면
- 수동 실행 및 상태 관리

🛡️ 안전성:
- 기존 시스템과 독립적 구현
- 트랜잭션 기반 안전한 데이터 처리
- 에러 핸들링 및 로깅 강화
2025-09-25 11:04:16 +09:00
kjs d5b63d1c9b Merge branch 'main' into feature/screen-management 2025-09-24 10:50:09 +09:00
hjjeong 4abf5b31c0 배치관리 중간커밋 2025-09-24 10:46:55 +09:00
leeheejin 4efec8d758 데이터베이스 틀린 비밀번호 입력시 연결거부처리 2025-09-24 10:30:36 +09:00
leeheejin bc6e6056c1 외부커넥션관리 2025-09-24 10:04:25 +09:00
kjs de6c7a8008 feat: 엔티티 타입 컬럼 표시 설정을 화면 편집기로 이동
- 테이블 타입 관리에서 엔티티 타입의 표시 컬럼 설정 완전 제거
- 컬럼 설정 패널에서 엔티티 타입일 때 표시 컬럼 조합 선택 기능 추가
- 기본 테이블과 조인 테이블의 컬럼을 자유롭게 조합 가능
- 구분자 설정 및 실시간 미리보기 기능 포함
- 별도 모달 방식 제거하고 기존 컬럼 설정 패널에 통합
2025-09-23 16:23:36 +09:00
kjs 4aefb5be6a 엔티티 타입 다중 표시 컬럼 기능 구현
Frontend:
- EntityTypeConfig 인터페이스에 displayColumns 배열 추가
- EntityTypeConfigPanel에서 여러 표시 컬럼 선택 UI 구현
- 구분자 설정 기능 추가
- 하위 호환성을 위한 displayColumn 유지

Backend:
- EntityJoinConfig에 displayColumns 배열 지원
- 화면별 엔티티 설정을 전달받는 API 확장
- CONCAT을 사용한 다중 컬럼 표시 SQL 생성
- 기존 단일 컬럼과의 호환성 유지

이제 화면마다 다른 표시 컬럼 조합을 설정할 수 있음
예: 한 화면에서는 '이름'만, 다른 화면에서는 '이름 - 부서명' 표시
2025-09-23 15:58:54 +09:00
kjs e653effac0 테이블 추가기능 수정사항 2025-09-23 10:40:21 +09:00
kjs 1436c908a6 Merge branch 'dev' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-09-22 17:02:52 +09:00
kjs dfda1bcc24 테이블 및 컬럼 생성기능 추가 2025-09-22 17:00:59 +09:00
hyeonsu 0bad11686e web_type에 따른 input 변화 구현 2025-09-21 12:31:37 +09:00
hyeonsu 28bd0d55cd Merge branch 'dev' of http://39.117.244.52:3000/kjs/ERP-node into external-connections 2025-09-21 11:10:31 +09:00
hyeonsu 33600ce667 webtype 엔티티 수정 2025-09-21 10:28:15 +09:00