Commit Graph

292 Commits

Author SHA1 Message Date
kjs e8123932ba 화면관리 12컬럼 중간 커밋 2025-10-13 18:28:03 +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 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 3fa410cbe4 ui 수정 및 시현할 기능 업데이트 2025-10-02 14:34:15 +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
leeheejin 0209be8fd6 메일 관리 작업 저장용 커밋 2025-10-01 16:15: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
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
leeheejin e0143e9cba 문서뷰어기능구현 2025-09-29 13:29:03 +09:00
kjs c9afdec09f restapi 버튼 동작 2025-09-29 12:17:10 +09:00
leeheejin 3600621554 화면관리 쪽 파일첨부 수정 2025-09-26 17:12:03 +09:00
leeheejin ee7c8e989e 파일 업로드 기능 구현 및 상세설정 연동
- 템플릿 파일첨부 컴포넌트와 FileComponentConfigPanel 실시간 동기화
- FileUpload 위젯에 전역 파일 상태 관리 기능 추가
- 파일 업로드/삭제 시 전역 상태 및 localStorage 동기화
- RealtimePreview에서 전역 상태 우선 읽기 및 파일 개수 표시
- 한컴오피스, Apple iWork 파일 형식 지원 추가
- 파일 뷰어 모달 및 미리보기 기능 구현
- 업로드된 파일 디렉토리 .gitignore 추가
2025-09-26 13:11:34 +09:00
leeheejin c28e27f3e8 화면관리의 테이블 리스트, 카드 디스플레이 수정 2025-09-25 18:54:25 +09:00
leeheejin 28485d6e5c 콘솔 주석처리, 화면관리쪽 컬럼수, 페이지네이션 수정 2025-09-25 16:22:02 +09:00
leeheejin cd84d9033c uiux 개선 2025-09-25 14:22:30 +09:00
leeheejin 1a60177fe4 feat: 관리자 페이지 레이아웃 통일 및 JSX 구문 수정
- admin/screenMng, dataflow 페이지에 tableMng 레퍼런스 레이아웃 적용
- admin/standards 페이지 JSX 괄호 문제 수정
- 전체 관리자 페이지 UI 일관성 향상
- bg-gray-50 배경, container 구조, 통일된 제목 스타일 적용
2025-09-24 18:07:36 +09:00
kjs ad7f350f00 fix: API 클라이언트 설정 원복 및 빈 테이블명 API 호출 방지
- API 클라이언트를 원래 포트 8080으로 되돌림
- loadEntityDisplayConfig에서 sourceTable/joinTable이 비어있을 때 API 호출 방지
- 불필요한 백엔드 서버 중지
2025-09-23 17:06:23 +09:00
kjs 9d346a3d3a fix: 엔티티 컬럼 표시 설정 문제 해결
- TableListComponent에서 엔티티 컬럼 라벨을 기준 테이블 라벨로 표시
- TableListConfigPanel에서 input_type 필드로 엔티티 컬럼 감지
- ScreenDesigner에서 컬럼 정보 로드 시 input_type 필드 포함
- UnifiedColumnInfo 타입에 input_type 필드 추가
- 엔티티 컬럼 감지 로직에 디버깅 로그 추가

이제 화면 편집기에서 엔티티 컬럼의 표시 컬럼 설정이 정상적으로 보여야 함
2025-09-23 16:51:12 +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 f15c1fa114 검색필터 수정사항 2025-09-23 15:31:27 +09:00
kjs 1f67576d5d 화면 자동맞춤 기능 제거 및 전체 화면 표시 개선
- ResponsiveScreenContainer에서 자동맞춤 모드들(fit, scale, fullwidth) 제거
- 기본값을 original 모드로 변경하여 설계한 크기 그대로 표시
- 화면 컨테이너가 전체 높이를 사용하도록 레이아웃 수정
- 스크롤 문제 해결을 위해 overflow 설정 최적화
2025-09-23 15:21:50 +09:00
kjs da9985cd24 검색 필터기능 수정사항 2025-09-23 14:26:18 +09:00
kjs 0258c2a76c 라벨표시 수정 2025-09-22 14:13:05 +09:00
kjs 4b28530fec 타입 관리 개선 및 화면 비율조정 중간커밋 2025-09-19 18:43:55 +09:00
kjs d1e1c7964b 테스트 프로젝트 테이블 생성 및 오류들 수정 2025-09-19 12:19:34 +09:00
kjs f7d884568b 테스트테이블 생성 및 오류 수정 2025-09-19 02:15:21 +09:00
kjs 7a1358484b feat: 화면관리 시스템 UI 컴포넌트 개선 및 스키마 업데이트 2025-09-18 21:33:04 +09:00
kjs 004bf28d17 버튼 삭제 수정기능 구현 2025-09-18 18:49:30 +09:00
kjs 7cbbf45dc9 저장버튼 제어기능 (insert) 2025-09-18 10:05:50 +09:00
kjs d8358d8234 카드 컴포넌트생성 2025-09-15 17:10:46 +09:00
kjs d609cc89b9 코드 셀렉트박스 기능 구현 2025-09-15 15:38:48 +09:00
kjs c243137a91 테이블 리스트 기능 수정 2025-09-15 11:43:59 +09:00
kjs 52dd18747a 아코디언 컴포넌트 생성 2025-09-12 16:47:02 +09:00
kjs b071d8090b 버튼 기능구현 2025-09-12 14:24:25 +09:00
kjs 134976ff9e 컴포넌트 추가방식 변경 2025-09-11 18:38:28 +09:00
kjs 77a6b50761 레이아웃 컴포넌트 단순화 2025-09-11 16:21:00 +09:00
kjs 4da06b2a56 카드 레이아웃 구현 2025-09-11 12:22:39 +09:00
kjs 083f053851 레이아웃 추가기능 2025-09-10 18:36:28 +09:00
kjs f7aa71ec30 컴포넌트 표시만 뜨던오류 수정 2025-09-10 15:49:32 +09:00
kjs 01860df8d7 컴포넌트 화면편집기에 배치 2025-09-10 14:09:32 +09:00
kjs 3bf694ce24 위치 실시간으로 보이도록 수정 2025-09-10 09:50:20 +09:00
kjs 4736dd87b6 컴포넌트 배치문제 해결 2025-09-09 18:02:07 +09:00
kjs db782eb9c9 템플릿관리, 컴포넌트 관리 2025-09-09 17:42:23 +09:00
kjs 49c8f9a2dd 웹 타입 설정패널 분리 2025-09-09 15:42:04 +09:00
kjs a17602c643 웹타입 컴포넌트 분리작업 2025-09-09 14:29:04 +09:00
kjs 540d82e7e4 화면 편집기에서 라벨표시 2025-09-08 14:23:55 +09:00
kjs 2d07041110 라벨명 표시기능 2025-09-08 14:20:01 +09:00
kjs 1eeda775ef 화면관리 삭제기능구현 2025-09-08 13:10:09 +09:00
kjs 87ce1b74d4 파일 삭제기능 구현 2025-09-08 10:02:30 +09:00
kjs 0b38f349aa 데이터 테이블 첨부파일 연계 2025-09-06 00:16:27 +09:00
kjs d73be8a4d3 파일 컴포넌트 분리 2025-09-05 21:52:19 +09:00
kjs 20cdcca171 이미지 미리보기 기능 2025-09-05 14:52:10 +09:00
kjs 53a44b901d 파일 업로드,다운로드 기능 2025-09-05 12:04:13 +09:00
kjs aa066a1ea9 저장후 시각적 효과 표시 2025-09-05 10:27:10 +09:00
kjs f57a7babe6 Merge branch 'dev' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-09-05 10:25:40 +09:00
kjs 95e68ca087 모달에서 저장 안되는 문제 수정 2025-09-04 18:36:40 +09:00
kjs 1c2249ee42 화면 해상도 설정 기능 구현 2025-09-04 17:01:07 +09:00
kjs 9bf879e29d feat: 화면관리 시스템 구현
- 컴포넌트 드래그앤드롭 시스템 완성
- 속성 편집 및 실시간 미리보기 기능
- 버튼 시스템 통합 (유니버설 버튼)
- 격자 시스템 및 해상도 설정 패널
- 상세설정 패널 구현
- 스타일 편집기 최적화
- 라벨 처리 시스템 개선
2025-09-04 15:20:26 +09:00
kjs 78d4d7de23 feat: 개별 위젯 컴포넌트 입력 타입 및 자동 값 설정 기능 추가
- BaseComponent에 inputType, autoValueType 속성 추가
- DetailSettingsPanel에 입력 타입 및 자동 값 타입 선택 UI 추가
- RealtimePreview에서 자동 값 타입별 값 생성 및 표시 로직 구현
- 텍스트, 숫자, 날짜 위젯에서 7가지 자동 값 타입 지원
  - 현재 날짜시간, 현재 날짜, 현재 시간
  - 현재 사용자, UUID, 시퀀스, 사용자 정의
- 자동입력 모드에서 읽기 전용 스타일 적용 (회색 배경)
- 백엔드 API에 input_type 처리 로직 추가
- TableTypeSelector에 입력 타입 설정 UI 추가
2025-09-04 14:23:35 +09:00
kjs feb26fa32a 스타일 적용안되던 문제 수정 2025-09-04 11:33:52 +09:00
kjs 3c86b22a99 화면 복사기능 구현 2025-09-03 18:23:47 +09:00
kjs b5edef274f 추가모달 상세설정 구현 2025-09-03 17:12:27 +09:00
kjs 941c6d9d84 기본적인 crud 구현 2025-09-03 16:38:10 +09:00
kjs 4a0c42d80c 테이블 템플릿 제작 2025-09-03 15:23:12 +09:00
kjs f2bdf5356a 실제 화면에 상세설정 적용 2025-09-03 11:50:42 +09:00
kjs f82d18575e 타입별 상세설정 추가 2025-09-03 11:32:09 +09:00
kjs 162ab12806 라벨 표시기능 2025-09-02 16:46:54 +09:00
kjs 9af3cdea01 메뉴들 플로팅 패널로 구현 2025-09-02 16:18:38 +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 ff2b3c37c6 테두리 설정 2025-09-01 17:05:36 +09:00
kjs 984dd70505 다중선택 및 정렬기능 구현 2025-09-01 16:40:24 +09:00
kjs e18c78f40d 컴포넌트 그룹화기능 2025-09-01 15:57:49 +09:00
kjs ad988f2951 실제 화면과 동일하게 보여지도록 화면 컴포넌트 수정 2025-09-01 15:42:08 +09:00
kjs def192641b 테이블 타입관리 에러 2025-09-01 15:22:47 +09:00
kjs 089249fb65 웹 타입에 맞는 형태로 보여지게 수정 2025-09-01 14:52:25 +09:00
kjs 6c45686157 화면관리 컴포넌트 드래그앤 드롭기능 2025-09-01 14:26:39 +09:00
kjs ca56cff114 화면관리 테이블 타입관리 연계 2025-09-01 14:00:31 +09:00
kjs 42dbfd98f8 화면관리 중간 커밋 2025-09-01 11:48:12 +09:00