Commit Graph

270 Commits

Author SHA1 Message Date
kjs 0dc4d53876 제어관리 노드 작동 방식 수정 2025-10-13 17:47:24 +09:00
kjs 8046c2a2e0 되돌리기 기능 추가 2025-10-13 13:28:20 +09:00
kjs ec35ca303f Merge branch 'main' into feature/batch-testing-updates 2025-10-13 13:15:13 +09:00
kjs 1274f58c3c rest api 액션노드 기능변경 2025-10-13 12:00:41 +09:00
kjs 68308efd22 Fix: DataConnectionDesigner.tsx 문법 오류 수정 - 손상된 파일 복구 2025-10-08 10:55:29 +09:00
kjs 1760703150 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-10-08 09:45:59 +09:00
kjs e48cc4decc 노드 수정 2025-10-08 09:39:13 +09:00
kjs 258bd80201 액션 노드들 로직 구현 2025-10-02 17:51:15 +09:00
kjs 37e018b33c 외부 db노드 설정 2025-10-02 16:43:40 +09:00
kjs 0743786f9b feat: 노드 기반 데이터 플로우 시스템 구현
- 노드 에디터 UI 구현 (React Flow 기반)
  - TableSource, DataTransform, INSERT, UPDATE, DELETE, UPSERT 노드
  - 드래그앤드롭 노드 추가 및 연결
  - 속성 패널을 통한 노드 설정
  - 실시간 필드 라벨 표시 (column_labels 테이블 연동)

- 데이터 변환 노드 (DataTransform) 기능
  - EXPLODE: 구분자로 1개 행 → 여러 행 확장
  - UPPERCASE, LOWERCASE, TRIM, CONCAT, SPLIT, REPLACE 등 12가지 변환 타입
  - In-place 변환 지원 (타겟 필드 생략 시 소스 필드 덮어쓰기)
  - 변환된 필드가 하위 액션 노드에 자동 전달

- 노드 플로우 실행 엔진
  - 위상 정렬을 통한 노드 실행 순서 결정
  - 레벨별 병렬 실행 (Promise.allSettled)
  - 부분 실패 허용 (한 노드 실패 시 연결된 하위 노드만 스킵)
  - 트랜잭션 기반 안전한 데이터 처리

- UPSERT 액션 로직 구현
  - DB 제약 조건 없이 SELECT → UPDATE or INSERT 방식
  - 복합 충돌 키 지원 (예: sales_no + product_name)
  - 파라미터 인덱스 정확한 매핑

- 데이터 소스 자동 감지
  - 테이블 선택 데이터 (selectedRowsData) 자동 주입
  - 폼 입력 데이터 (formData) 자동 주입
  - TableSource 노드가 외부 데이터 우선 사용

- 버튼 컴포넌트 통합
  - 기존 관계 실행 + 새 노드 플로우 실행 하이브리드 지원
  - 노드 플로우 선택 UI 추가
  - API 클라이언트 통합 (Axios)

- 개발 문서 작성
  - 노드 기반 제어 시스템 개선 계획
  - 노드 연결 규칙 설계
  - 노드 실행 엔진 설계
  - 노드 구조 개선안
  - 버튼 통합 분석
2025-10-02 16:22:29 +09:00
leeheejin bf58e0c878 메일관리 기능 구현 2025-10-02 15:46:23 +09:00
leeheejin 3fa410cbe4 ui 수정 및 시현할 기능 업데이트 2025-10-02 14:34:15 +09:00
kjs db25b0435f 제어관리 수정 2025-10-02 11:12:45 +09:00
leeheejin 2c0dca08b4 console.log 주석 처리 - 개발환경 정리
- menu, company, screenMng, i18n, tableMng 모듈 console 주석 처리
- 총 55개 파일 수정
- 빌드 에러 수정 완료
- 백엔드 서버 정상 작동 확인

관련 파일:
- frontend/components/admin/MenuManagement.tsx
- frontend/components/admin/MenuFormModal.tsx
- frontend/components/admin/ScreenAssignmentTab.tsx
- frontend/components/admin/CompanyTable.tsx
- frontend/components/admin/MultiLang.tsx
- frontend/app/(main)/admin/tableMng/page.tsx
- 기타 screen 관련 컴포넌트 49개 파일
2025-10-01 18:17:30 +09:00
leeheejin 4202a5b310 Merge branch 'main' into lhj - 충돌 해결 2025-10-01 18:01:20 +09:00
kjs 3f76d16afe feat: 버튼 컴포넌트 수정 액션에서 모달 제목/설명 전달
변경 사항:
1. InteractiveScreenViewer - handleEditAction 수정 
   - config에서 editModalTitle, editModalDescription 읽기
   - openEditModal 이벤트로 제목/설명 전달

2. ButtonTypeConfig 타입 추가 
   - editModalTitle 필드 추가
   - editModalDescription 필드 추가

3. ButtonConfigPanel 수정 
   - webTypeConfig에도 제목/설명 저장
   - 이중 저장 (action + webTypeConfig)

결과:
-  버튼의 수정 액션 실행 시 설정한 제목이 모달에 표시됨
-  버튼의 수정 액션 실행 시 설정한 설명이 모달에 표시됨
-  EditModal이 openEditModal 이벤트에서 제목/설명 받음
-  전체 데이터 흐름 완성
2025-10-01 17:45:29 +09:00
kjs 114928ca4f feat: 수정 버튼 액션에 제목과 설명 설정 기능 추가
추가된 기능:
1. ButtonConfigPanel - 수정 모달 제목/설명 입력 필드 추가 
2. EditModal - 제목/설명 props 추가 및 조건부 헤더 렌더링 
3. DataTableConfigPanel - 수정 모달 설정 섹션 추가 
4. InteractiveDataTable - editModalConfig에서 제목/설명 읽기 
5. screen/[screenId]/page - 제목/설명 전달 추가 
6. 타입 정의 - editModalConfig 추가 

변경된 파일:
- frontend/components/screen/config-panels/ButtonConfigPanel.tsx
- frontend/components/screen/EditModal.tsx
- frontend/components/screen/InteractiveDataTable.tsx
- frontend/components/screen/panels/DataTableConfigPanel.tsx
- frontend/app/(main)/screens/[screenId]/page.tsx
- frontend/types/screen-legacy-backup.ts

결과:
-  수정 버튼에서 모달 제목과 설명을 설정할 수 있음
-  데이터테이블에서도 수정 모달 설정 가능
-  제목과 설명이 모달 헤더에 표시됨
-  설정하지 않으면 기본 동작 유지
2025-10-01 17:41:30 +09:00
kjs b452f148a9 오라클 제어 수정 2025-10-01 17:36:17 +09:00
kjs 8615a358c0 fix: EditModal 라벨 표시 및 중복 박스 제거
문제:
1. 라벨이 보이지 않음 (hideLabel=true, labelDisplay=false)
2. 인풋이 중복으로 보임 (불필요한 패딩/테두리)

수정:
1. hideLabel={false} 
2. labelDisplay: true 
3. 컴포넌트 감싸는 div에서 스타일 제거 (패딩, 테두리) 

결과:
-  라벨 정상 표시
-  깔끔한 인풋 렌더링
-  원본 레이아웃 유지
2025-10-01 17:27:24 +09:00
kjs 7bb70bdd3b fix: ActionConditionBuilder 모든 Select 중복 키 수정
수정된 위치:
- line 271: fromColumns (소스 필드)
- line 289: toColumns (소스 필드)
- line 623: fromColumns (필드 매핑)
- line 638: toColumns (필드 매핑)
- line 737: getAvailableFieldsForMapping (대상 필드)

모든 .map() 앞에 .filter() 추가:
- 빈 columnName 제외
- 중복 키 방지
- React 경고 해결
2025-10-01 17:23:18 +09:00
kjs c3e6eff0fe fix: ActionConditionBuilder 중복 키 에러 수정
문제:
- toColumns에 빈 문자열 columnName 중복
- 중복된 키 to_ 생성
- React 키 중복 경고

수정:
- fromColumns filter 추가
- toColumns filter 추가
- 빈 문자열 컬럼 제외

에러:
Encountered two children with the same key
2025-10-01 17:21:08 +09:00
kjs 767c031629 fix: Select Item 빈 문자열 value 에러 수정
문제:
- SelectItem에 빈 문자열 value 전달 시 에러
- col.columnName이 빈 문자열일 수 있음

수정:
- filter에 col.columnName 체크 추가
- 빈 문자열 컬럼 제외

에러 메시지:
A <Select.Item /> must have a value prop
that is not an empty string
2025-10-01 17:18:06 +09:00
leeheejin 6d1fe625e4 메일관리 시스템 구현 완료 2025-10-01 17:01:31 +09:00
leeheejin 0209be8fd6 메일 관리 작업 저장용 커밋 2025-10-01 16:15:53 +09:00
hjjeong 841e8d656d Merge branch 'feature/dashboard-management' 2025-10-01 13:39:33 +09:00
hjjeong c58dd9ff7e console.log를 주석처리 문법오류 해결 2025-10-01 13:36:04 +09:00
hjjeong 716a9a3b31 Merge branch 'feature/dashboard-management' into main
대시보드 관리 시스템 통합
- 충돌 해결 완료
- 백엔드/프론트엔드 대시보드 기능 추가
2025-10-01 12:10:42 +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 990d8123b8 프론트엔드 UI/UX 개선사항 복구 및 테이블 스타일링 통일
- 테이블 헤더 스타일링 개선 (더 진한 배경색, 오렌지 호버 효과)
- 파일첨부 컴포넌트 개선 (뚝뚝 잘리는 문제 해결, 패딩/아이콘 크기 조정)
- 카드 디스플레이 스타일링 개선 (명확한 테두리, 오렌지 호버 효과)
- 라벨 표시 기능 수정 (드롭다운 라벨링 문제, 체크박스 풀리는 문제 해결)
- 패널 및 레이아웃 개선 (카드 간격 통일, 주황색 영역 추가)
- CSS 통일성 작업 (Select 컴포넌트 너비 w-48로 조정)
- 정렬 화살표 표시 조건 수정 (정렬된 컬럼에서만 화살표 표시)
- 테이블 스타일링 통일 (SingleTableWithSticky, TableListComponent, InteractiveDataTable)
2025-09-30 18:43:26 +09:00
leeheejin 8c437270a8 표 css 통일, 라벨링 2025-09-30 18:42:33 +09:00
dohyeons 51d9c45d9e 공통코드관리 수정 시 에러 해결 2025-09-30 16:48:07 +09:00
dohyeons 6da8d14845 프로필 이미지 삭제 직후 렌더링이 안되는 문제 해결 2025-09-30 15:45:21 +09:00
hjjeong cf747b5fb3 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/dashboard-management 2025-09-30 14:44:46 +09:00
dohyeons 142f6a1a90 코드 활성/비활성화 해결 2025-09-30 14:28:40 +09:00
hjjeong d8f73c1136 feat: 대시보드 관리 시스템 구현
 새로운 기능:
- 드래그 앤 드롭 대시보드 설계 도구
- SQL 쿼리 에디터 및 실시간 실행
- Recharts 기반 차트 컴포넌트 (Bar, Pie, Line)
- 차트 데이터 매핑 및 설정 UI
- 요소 이동, 크기 조절, 삭제 기능
- 레이아웃 저장 기능

📦 추가된 컴포넌트:
- DashboardDesigner: 메인 설계 도구
- QueryEditor: SQL 쿼리 작성 및 실행
- ChartConfigPanel: 차트 설정 패널
- ChartRenderer: 실제 차트 렌더링
- CanvasElement: 드래그 가능한 캔버스 요소

🔧 기술 스택:
- Recharts 라이브러리 추가
- TypeScript 타입 정의 완비
- 독립적 컴포넌트 구조로 설계

🎯 접속 경로: /admin/dashboard
2025-09-30 13:23:22 +09:00
hjjeong 7fc3111c4d 배치목록 카드형으로 변경 2025-09-30 10:30:26 +09:00
leeheejin 8c19d57ced ui, 외부커넥션에서 쿼리 조회만 가능하도록 2025-09-30 10:30:05 +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
leeheejin d861eb5196 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:32:20 +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
leeheejin a5bf6601a0 ui, 파일업로드 관련 손보기 2025-09-29 17:21:47 +09:00
kjs 3c26f24179 버튼에 제어 달기 2025-09-29 15:21:14 +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
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
kjs e0777d0fc3 데이터 매핑 설정 중간커밋 2025-09-26 17:52:11 +09:00