Commit Graph

601 Commits

Author SHA1 Message Date
kjs 668b45d4ea feat: 채번규칙 메뉴 스코프 전환 완료
 주요 변경사항:
- 백엔드: menuService.ts 추가 (형제 메뉴 조회 유틸리티)
- 백엔드: numberingRuleService.getAvailableRulesForMenu() 메뉴 스코프 적용
- 백엔드: tableCategoryValueService 메뉴 스코프 준비 (menuObjid 파라미터 추가)
- 프론트엔드: TextInputConfigPanel에 부모 메뉴 선택 UI 추가
- 프론트엔드: 메뉴별 채번규칙 필터링 (형제 메뉴 공유)

🔧 기술 세부사항:
- getSiblingMenuObjids(): 같은 부모를 가진 형제 메뉴 OBJID 조회
- 채번규칙 우선순위: menu (형제) > table > global
- 사용자 메뉴(menu_type='1') 레벨 2만 부모 메뉴로 선택 가능

📝 다음 단계:
- 카테고리 컴포넌트도 메뉴 스코프로 전환 예정
2025-11-11 14:32:00 +09:00
kjs bab960b50e feat: 엑셀 다운로드 파일명을 메뉴 이름으로 변경
- 메뉴 클릭 시 localStorage에 메뉴 이름 저장 (useMenu, AppLayout)
- 엑셀 다운로드 시 localStorage의 메뉴 이름을 파일명으로 사용
- 백엔드 카테고리 컬럼 조회 쿼리 파라미터 버그 수정
- API 호출 시 불필요한 autoFilter 파라미터 제거

파일명 형식: {메뉴이름}_{날짜}.xlsx
예시: 품목등록테스트_2025-11-11.xlsx
2025-11-11 10:29:47 +09:00
kjs 49f779e0e4 feat: writer 컬럼 자동 user_name 변환 완료
- writer 컬럼이 있는 테이블에서 자동으로 user_name 표시
- 백엔드: entityJoinService에서 writer 컬럼 감지 및 user_info 조인
- 프론트엔드: entityJoinApi 항상 사용 및 writer_name 자동 표시
- 디버깅 로그 제거
2025-11-10 16:38:16 +09:00
kjs 605fbc4383 debug: writer 컬럼 조인 디버깅 로그 추가
- 프론트엔드: formatCellValue에서 writer 컬럼 데이터 로깅
- 백엔드: writer 조인 설정 및 검증 상세 로깅
- 목적: writer_name이 빈값으로 표시되는 문제 원인 파악
2025-11-10 16:36:54 +09:00
kjs ccbb6924c8 feat: writer 컬럼 자동 user_name 변환 기능 추가
- 문제: 테이블 리스트에서 writer 컬럼이 user_id로 표시됨
- 해결:
  1. 백엔드: entityJoinService에서 writer 컬럼 자동 감지
  2. writer 컬럼 발견 시 user_info 테이블과 자동 조인
  3. writer_name 별칭으로 user_name 반환
  4. 프론트엔드: writer 컬럼일 때 writer_name 우선 표시
- 영향:
  - writer 컬럼이 있는 모든 테이블에서 자동으로 작성자명 표시
  - 기존 entity 조인 설정과 충돌 없이 작동
  - column_labels 설정 불필요
2025-11-10 16:32:00 +09:00
kjs 94846e92ef Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-11-10 09:36:05 +09:00
dohyeons 68577a09f9 우측 패널 항목 삭제 기능 구현 2025-11-07 18:20:24 +09:00
dohyeons afea879920 수정/삭제 기능 구현 2025-11-07 16:02:01 +09:00
kjs 4294fbf608 feat: 채번 규칙 테이블 기반 자동 필터링 구현
- 채번 규칙 scope_type을 table로 단순화
- 화면의 테이블명을 자동으로 감지하여 채번 규칙 필터링
- TextInputConfigPanel에 screenTableName prop 추가
- getAvailableNumberingRulesForScreen API로 테이블 기반 조회
- NumberingRuleDesigner에서 자동으로 테이블명 설정
- webTypeConfigConverter 유틸리티 추가 (기존 화면 호환성)
- AutoGenerationConfig 타입 개선 (enabled, options.numberingRuleId)
- 채번 규칙 선택 UI에서 ID 제거, 설명 추가
- 불필요한 console.log 제거

Backend:
- numberingRuleService: 테이블 기반 필터링 로직 구현
- numberingRuleController: available-for-screen 엔드포인트 수정

Frontend:
- TextInputConfigPanel: 테이블명 기반 채번 규칙 로드
- NumberingRuleDesigner: 적용 범위 UI 제거, 테이블명 자동 설정
- ScreenDesigner: webTypeConfig → autoGeneration 변환 로직 통합
- DetailSettingsPanel: autoGeneration 속성 매핑 개선
2025-11-07 14:27:07 +09:00
dohyeons efaa267d78 분할 패널에서 부서 추가 기능 구현 2025-11-07 14:22:23 +09:00
dohyeons 25740c499d 좌측 패널에 매핑한 컬럼 나오도록 구현 2025-11-07 11:51:44 +09:00
dohyeons 35f130061a 빌드 오류 해결 2025-11-07 10:22:49 +09:00
dohyeons 920cdccdf9 빌드 에러 해결 2025-11-07 10:18:34 +09:00
kjs fb201cc799 회사별 테이블 데이터 격리 2025-11-06 18:35:05 +09:00
kjs 0e4cf7b641 쿼리 에러 수정 2025-11-06 18:10:21 +09:00
kjs f2500865a6 격자 저장문제 수정 2025-11-06 17:01:13 +09:00
leeheejin 3f890cdbfa Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into lhj
; Conflicts:
;	frontend/components/admin/CreateTableModal.tsx
;	frontend/components/screen/CopyScreenModal.tsx
;	frontend/components/screen/MenuAssignmentModal.tsx
;	frontend/components/screen/ScreenList.tsx
;	frontend/components/screen/widgets/FlowWidget.tsx
;	frontend/lib/registry/components/table-list/TableListComponent.tsx
2025-11-06 12:14:07 +09:00
leeheejin 0839f7f603 리사이징, 체크박스,엔터치면 다음 칸으로 이동, 표수정, 컬럼에서 이미지 넣는거 등등 2025-11-06 12:11:49 +09:00
kjs e25f8893b0 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-11-06 11:58:09 +09:00
kjs 4c98839df8 코드 에러 수정 2025-11-05 18:13:06 +09:00
kjs bc029d1df8 카테고리 구현 2025-11-05 18:08:51 +09:00
kjs f3bed0d713 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-11-05 16:38:30 +09:00
dohyeons df779ac04c 대표 이미지 저장 기능 구현 2025-11-05 15:50:29 +09:00
dohyeons 9429033e2c Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feat/dashboard 2025-11-05 15:39:11 +09:00
dohyeons 8489ff03c2 파일 업로드 구조 개선 2025-11-05 15:39:02 +09:00
kjs fe1c99c727 카테고리 2025-11-05 15:24:05 +09:00
kjs 573a300a4a 카테고리 기능 구현 2025-11-05 15:23:57 +09:00
hjlee 6c713a11d8 Merge pull request '행 이동 화면 할당한 상황에서도 가능하게, 코드병합 버튼액션에 추가' (#183) from lhj into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/183
2025-11-04 18:34:43 +09:00
leeheejin 82ff18e388 행 이동 화면 할당한 상황에서도 가능하게, 코드병합 버튼액션에 추가 2025-11-04 18:31:26 +09:00
dohyeons 63b6e89435 디버깅용 console.log 삭제 2025-11-04 18:02:20 +09:00
dohyeons acaa3414d2 파일 업로드 회사별로 보이도록 수정 2025-11-04 17:57:28 +09:00
kjs 198f678b68 채번 자동생성기능 2025-11-04 17:35:02 +09:00
kjs 6901baab8e feat(screen-designer): 그리드 컬럼 시스템 개선 및 컴포넌트 너비 렌더링 수정
주요 변경사항:
- 격자 설정을 편집 탭에서 항상 표시 (해상도 설정 하단)
- 그리드 컬럼 수 동적 조정 가능 (1-24)
- 컴포넌트 생성 시 현재 그리드 컬럼 수 기반 자동 계산
- 컴포넌트 너비가 설정한 컬럼 수대로 정확히 표시되도록 수정

수정된 파일:
- ScreenDesigner: 컴포넌트 드롭 시 gridColumns와 style.width 동적 계산
- UnifiedPropertiesPanel: 격자 설정 UI 통합, 차지 컬럼 수 설정 시 width 자동 계산
- RealtimePreviewDynamic: getWidth 우선순위 수정, DOM 크기 디버깅 로그 추가
- 8개 컴포넌트: componentStyle.width를 항상 100%로 고정
  * ButtonPrimaryComponent
  * TextInputComponent
  * NumberInputComponent
  * TextareaBasicComponent
  * DateInputComponent
  * TableListComponent
  * CardDisplayComponent

문제 해결:
- 컴포넌트 내부에서 component.style.width를 재사용하여 이중 축소 발생
- 해결: 부모 컨테이너(RealtimePreviewDynamic)가 width 제어, 컴포넌트는 항상 100%
- 결과: 파란 테두리와 내부 콘텐츠가 동일한 크기로 정확히 표시
2025-11-04 16:17:19 +09:00
kjs 9f131a80ab Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-11-04 15:16:48 +09:00
dohyeons 39080dff59 autofill 기능 구현 2025-11-04 14:33:39 +09:00
kjs 7cf455083d 채번 컴포넌트 생성 2025-11-04 13:58:21 +09:00
dohyeons 4dde008c6d Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feat/dashboard 2025-11-04 09:44:09 +09:00
leeheejin 7425c37094 엑셀 다운로드, 업로드, 사진촬영(바코드 스캔기능) 추가 2025-11-04 09:41:58 +09:00
dohyeons c50c8d01df 삭제 후엔 부서 선택 해제 2025-11-03 17:42:46 +09:00
dohyeons 6b53cb414c 삭제를 alert에서 modal로 변경 2025-11-03 17:28:12 +09:00
dohyeons 0d6b018ec4 부서 추가 구현 2025-11-03 16:59:01 +09:00
dohyeons 257912ea92 부서 read 기능 구현 2025-11-03 16:31:03 +09:00
leeheejin 94e5a5de0b 회사코드 입력, 작성자 입력가능하게 수정완료 2025-11-03 16:26:32 +09:00
dohyeons d7164531ef Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feat/dashboard 2025-11-03 14:43:53 +09:00
dohyeons fd7fc754f4 회사 관리 - 등록 페이지 수정 2025-11-03 14:31:21 +09:00
kjs 8a77e6d33c fix: getColumnInputTypes가 column_labels 테이블 조회하도록 수정
- 기존: table_type_columns 테이블 조회 (잘못된 테이블)
- 수정: column_labels 테이블 조회 (올바른 테이블)
- 이제 테이블 관리에서 설정한 input_type이 정확하게 반영됨
2025-11-03 10:32:08 +09:00
kjs 2279630143 fix: ExecutionResult 타입 불일치 오류 수정
🐛 버그 수정
- dynamicFormService.ts에서 ExecutionResult 타입 오류 해결
- executedNodes → nodes로 속성명 변경
- errors 속성을 nodes에서 추출하도록 수정

🔧 변경 내용
- executionResult.nodes를 사용하여 executedActions 생성
- 실패한 노드를 필터링하여 errors 배열 생성
- TypeScript 컴파일 오류 해결

📝 관련 이슈
- TS2339: Property 'executedNodes' does not exist on type 'ExecutionResult'
- TS2339: Property 'errors' does not exist on type 'ExecutionResult'
2025-10-31 18:00:08 +09:00
kjs e42675616b fix: 제어관리 저장 및 실행 문제 수정
- frontend: screen.ts에 saveScreenLayout 함수 추가 (ScreenDesigner_new.tsx가 호출하던 누락된 함수)
- frontend: ScreenDesigner_new.tsx 저장 시 디버깅 로그 추가
- backend: screenManagementService.ts에 dataflowConfig 저장 확인 로그 추가

문제 원인:
- ScreenDesigner_new.tsx가 호출하던 screenApi.saveScreenLayout 함수가 정의되지 않음
- 이로 인해 레이아웃 저장이 실패했을 가능성

해결:
- saveScreenLayout 함수를 추가하여 정상적인 레이아웃 저장 가능
- 디버깅 로그를 통해 실제로 selectedDiagramId가 저장되는지 확인 가능
2025-10-31 17:21:47 +09:00
kjs 9a674b6686 fix: 버튼 제어관리 노드 플로우 실행 수정
프론트엔드:
- ImprovedButtonControlConfigPanel에서 selectedDiagramId 저장 추가
- 플로우 선택 시 flowConfig와 함께 selectedDiagramId도 저장
- selectedRelationshipId는 null로 설정 (노드 플로우는 관계 불필요)

백엔드:
- dynamicFormService에서 relationshipId 유무에 따라 실행 방식 분기
- relationshipId가 없으면 NodeFlowExecutionService.executeFlow() 실행
- relationshipId가 있으면 기존 dataflowControlService.executeDataflowControl() 실행
- 노드 플로우 실행 시 formData를 contextData로 전달

원인:
- 기존에는 flowConfig만 저장하고 selectedDiagramId를 저장하지 않음
- 백엔드에서 selectedDiagramId가 없어서 제어관리 실행 조건 불만족
- 관계 기반 제어와 노드 플로우를 구분하지 못함
2025-10-31 17:16:47 +09:00
kjs 27d278ca8c debug: 제어관리 실행 디버깅 로그 추가
- 제어관리가 실행되지 않는 원인을 파악하기 위한 상세 로그 추가
- 각 컴포넌트의 타입, 액션, 제어관리 설정 여부 출력
- 제어관리 설정이 없는 경우 명시적인 로그 출력
- 조건 불만족 시 어떤 조건이 맞지 않는지 확인 가능
2025-10-31 17:12:29 +09:00
kjs 148155e6fe feat: 관리자 테이블 스타일 개선 및 탭 컴포넌트 디자인 수정
- 외부 커넥션 관리 테이블 표준화 (DB 연결, REST API 연결)
- 모든 관리자 테이블의 그림자 제거 (테이블 타입 관리 왼쪽 카드 제외)
- 테이블 타입 관리 왼쪽 카드 호버 효과 강화 (shadow-lg, bg-muted/20)
- 탭 컴포넌트 배경색 밝게 조정 (bg-muted/30)
- 탭 트리거 테두리 제거
2025-10-30 17:55:55 +09:00
kjs 556354219a 스타일 수정중 2025-10-30 12:03:50 +09:00
kjs 244f04a199 등록자랑 회사코드 자동으로 들어가도록 수정 2025-10-29 16:06:01 +09:00
dohyeons f62af9077a 빌드에러해결 2025-10-29 11:33:46 +09:00
kjs 0dab71edfe Merge branch 'main' into feature/screen-management 2025-10-29 11:26:18 +09:00
kjs efdef36cda 모달창 올리기 2025-10-29 11:26:00 +09:00
leeheejin d21764ba51 Merge: 충돌 해결 - CustomMetricWidget 실제 코드 유지 2025-10-28 19:00:24 +09:00
leeheejin 0fe2fa9db1 원본승격 완료, 차트 위젯은 보류 2025-10-28 18:21:00 +09:00
kjs 2a968ab3cf 플로우 위젯 검색 리스트 2025-10-28 14:55:41 +09:00
dohyeons 71beae8e24 문제 해결 2025-10-28 13:42:23 +09:00
leeheejin fb73ee2878 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into lhj
; Please enter a commit message to explain why this merge is necessary,
; especially if it merges an updated upstream into a topic branch.
;
; Lines starting with ';' will be ignored, and an empty message aborts
; the commit.
2025-10-28 13:40:37 +09:00
kjs 025fe04192 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-10-28 13:39:40 +09:00
kjs 57f7c48cd9 빌드 오류 수정: 불완전한 백업 파일 삭제 2025-10-28 13:34:46 +09:00
kjs 7c45b3e254 플로우 위젝 라벨표시 및 , 배치관리 회사별 분리 2025-10-28 12:06:54 +09:00
kjs c333a9fd9d 공통코드,REST API 회사별 분리 2025-10-28 11:54:44 +09:00
leeheejin d5e72ce901 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into lhj
; Please enter a commit message to explain why this merge is necessary,
; especially if it merges an updated upstream into a topic branch.
;
; Lines starting with ';' will be ignored, and an empty message aborts
; the commit.
2025-10-28 10:08:40 +09:00
kjs 25f6217433 회사별 메뉴 분리 및 권한 관리 2025-10-28 10:07:07 +09:00
leeheejin b09a7c8398 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into lhj
; Please enter a commit message to explain why this merge is necessary,
; especially if it merges an updated upstream into a topic branch.
;
; Lines starting with ';' will be ignored, and an empty message aborts
; the commit.
2025-10-28 09:49:19 +09:00
leeheejin 5b394473f4 restapi 여러개 띄우는거 작업 가능하게 하는거 진행중 2025-10-27 18:33:15 +09:00
kjs 821336d40d 최고관리자가 부여한 권한에 따라 메뉴 보여주기 2025-10-27 18:27:32 +09:00
kjs 15776e76f5 최고 관리자는 좌측에 공통 메뉴만 보이도록 수정 2025-10-27 17:14:28 +09:00
kjs 02df4355e2 회사별 메뉴 필터링 기능 2025-10-27 16:58:43 +09:00
kjs 29c49d7f07 각 회사별 데이터 분리 2025-10-27 16:40:59 +09:00
kjs 5fdefffd26 로그시스템 개선 2025-10-27 11:11:08 +09:00
kjs a9d85b780b 플로우 각 단계별 컬럼 설정기능 2025-10-27 09:49:13 +09:00
kjs 0a57a2cef1 성능개선 2025-10-24 14:24:18 +09:00
kjs 8d1f0e7098 제어관리 개선판 2025-10-24 14:11:12 +09:00
dohyeons 67e838dc03 package-lock 파일 재생성 2025-10-23 17:44:12 +09:00
leeheejin 6a5cf839a7 Merge branch 'main' into lhj
충돌 해결:
- CanvasElement.tsx: CustomMetricWidget(main) + 통합 TaskWidget(lhj) 모두 유지
- DashboardTopMenu.tsx: lhj의 '일정관리 위젯' 유지
- DashboardSidebar.tsx: main의 삭제 수락
2025-10-23 15:14:47 +09:00
leeheejin aa3cd95a36 날씨 랑 todo/긴급위젯이랑 정비일정 위젯 합치기 완료 2025-10-23 15:11:10 +09:00
dohyeons 6422dac2a4 사용자 커스텀 카드 위젯 구현 2025-10-23 14:24:41 +09:00
leeheejin 8ec54b4e7d 날씨 진행 중 세이브 2025-10-23 12:31:14 +09:00
leeheejin 13f4d07577 메일관리 2025-10-22 17:07:38 +09:00
leeheejin 479b0ba3ed ui 고치기 전 세이브 2025-10-22 16:06:04 +09:00
leeheejin 79fef2691d 메일관리 대시보드에 있던 살짝의 오류 수정 2025-10-22 11:33:56 +09:00
leeheejin 9cb705dba8 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into lhj
; Please enter a commit message to explain why this merge is necessary,
; especially if it merges an updated upstream into a topic branch.
;
; Lines starting with ';' will be ignored, and an empty message aborts
; the commit.
2025-10-21 17:33:07 +09:00
dohyeons d57756189f 대시보드 테이블에 회사 코드 컬럼 추가 2025-10-21 15:53:17 +09:00
dohyeons 656f1c2ebd 테이블 변경 이력 로그에 ip_address와 변경자 컬럼 기록 추가 2025-10-21 15:25:05 +09:00
leeheejin fa30763ae2 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into lhj 2025-10-21 15:15:38 +09:00
dohyeons 74d287daa9 테이블 변경 이력 로그 시스템 구현 2025-10-21 15:08:41 +09:00
kjs d43a8c9e18 Merge branch 'main' into feature/screen-management 2025-10-21 14:21:45 +09:00
kjs 74ebb565e6 플로우 로그기능 수정 2025-10-21 14:21:29 +09:00
dohyeons 0108a12b18 화면관리 외부 db 선택 기능 추가 2025-10-21 13:42:57 +09:00
kjs 0d96ea566b 플로우 외부연결 중간커밋 2025-10-21 13:19:18 +09:00
kjs 967f9a9f5b Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-10-21 13:18:39 +09:00
leeheejin 687dccb522 알림 api 수정 2025-10-21 12:51:57 +09:00
dohyeons 2263863456 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feat/rest-api 2025-10-21 11:06:30 +09:00
dohyeons 090cba09f1 rest api 관리 구현 2025-10-21 10:59:15 +09:00
kjs 6fc50cd315 저장 오류 수정 2025-10-20 18:23:15 +09:00
leeheejin 12e5d99339 Merge branch 'main' into lhj - Flow management system integration 2025-10-20 18:08:11 +09:00
leeheejin 1e3136cb0b todo 오류 있던거 수정 이젠 디비꺼도 지워짐 2025-10-20 18:04:49 +09:00
kjs 876e3bfa05 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-10-20 17:51:36 +09:00
kjs 1f12df2f79 플로우 외부db연결 2025-10-20 17:50:27 +09:00
leeheejin 86135dcf10 대시보드관리디벨롭 2025-10-20 17:42:35 +09:00
kjs 7d8abc0449 플로우 분기처리 구현 2025-10-20 15:53:00 +09:00
leeheejin 7ceecd15af 투두리스트랑 커스텀통계카드 2025-10-20 15:52:22 +09:00
leeheejin 5b503edfa8 작업 이력 통계 위젯 추가
백스페이스 안먹는 오류 수정
그리드 컴포넌트 수정
등등
2025-10-20 14:07:08 +09:00
dohyeons c5a4b0b10c 저장 버튼을 누르기 전 저장 x 2025-10-20 11:26:50 +09:00
dohyeons e2d99aef40 quantity 타입 문제 해결 2025-10-20 11:07:58 +09:00
kjs de9491aa29 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-10-20 10:56:23 +09:00
kjs f9c171c513 플로우 구현 2025-10-20 10:55:33 +09:00
dohyeons 0217393cb8 저장 시 위치가 바뀌는 문제 해결 2025-10-20 10:12:23 +09:00
dohyeons ab07908f09 요소 추가 버튼 시 api 호출 삭제 2025-10-20 10:06:17 +09:00
dohyeons 8932f61298 Phase 1-4 완료 2025-10-20 09:53:31 +09:00
kjs 52c7391cf5 Merge branch 'main' into feature/screen-management 2025-10-17 17:15:47 +09:00
dohyeons 40d923212a 배포 에러 수정 2025-10-17 16:41:04 +09:00
dohyeons d473ace18d Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feat/dashboard 2025-10-17 16:25:30 +09:00
dohyeons 4a4700ea23 뷰어에서 자재 클릭시 보기 구현 2025-10-17 16:23:33 +09:00
kjs 2a8081a253 반응형 및 테이블 리스트 컴포넌트 오류 수정 2025-10-17 15:31:23 +09:00
dohyeons 184d687f0f 일단 야드관리 3d 드래그앤 드랍까지 2025-10-17 15:26:21 +09:00
leeheejin 0a02a6c7ab 자잘한 오류 수정과 스크롤, 헤더 변경완료 2025-10-17 14:52:08 +09:00
dohyeons 3b57d4acda 창고 3d 위젯 기능 삭제 2025-10-17 13:44:51 +09:00
leeheejin 829161d195 Merge origin/main into lhj - 대시보드 기능 통합
- 달력-할일-긴급지시 Context 연동 (lhj)
- 창고 현황 3D 위젯 추가 (main)
- 대시보드 저장 모달 개선 (main)
- 메뉴 할당 모달 추가 (main)
- 그리드 스냅 기능 유지
- DashboardProvider 통합
2025-10-17 10:01:33 +09:00
kjs 29a2a18d69 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-10-16 18:19:21 +09:00
dohyeons 963e57d7e7 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/dashboard 2025-10-16 18:10:22 +09:00
leeheejin 7097775343 알아서 배치되는거 하기 전 세이브 디벨롭만 된 상태 2025-10-16 16:34:59 +09:00
dohyeons 8e2c66e2a4 3d 중간저장 2025-10-16 15:39:54 +09:00
kjs a0dde51109 분할 패널 및 반복 필드 그룹 컴포넌트 2025-10-16 15:05:24 +09:00
leeheejin 6d51aced2c 위젯 커스텀 제목 및 헤더 표시/숨김 기능 추가
- 위젯 설정에서 제목 변경 가능
- 위젯 헤더 표시/숨김 토글 추가
- DB 마이그레이션 자동 실행 (custom_title, show_header 컬럼)
- 편집 모드/보기 모드 모두 지원
- DashboardTopMenu 레이아웃 유지
2025-10-16 14:59:07 +09:00
dohyeons 8e0ef82de7 해상도 복원 구현 2025-10-16 11:29:45 +09:00
dohyeons a7123216f2 백엔드 수정 2025-10-16 11:03:57 +09:00
dohyeons 9168844fab Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/dashboard 2025-10-16 10:56:34 +09:00
dohyeons 8f676c0a6d 배포용 수정 2025-10-16 10:33:21 +09:00
dohyeons 9e1a7c53e1 settings 저장 2025-10-16 10:27:43 +09:00
kjs 716cfcb2cf 화면정보 수정 및 미리보기 기능 2025-10-15 18:31:40 +09:00
kjs c42853f261 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-10-15 17:32:22 +09:00
kjs 0c3462a646 Merge branch 'feature/screen-management' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-10-15 17:29:30 +09:00
kjs 7686158a01 분할레이아웃 2025-10-15 17:25:38 +09:00
leeheejin 1995adf245 중간저장 2025-10-15 17:14:42 +09:00
leeheejin 0b5b140625 대시보드 위젯 렌더링 수정 및 외부 API 키 통합
- DashboardViewer에 ListSummaryWidget 연결
- list 위젯이 실제 DB 데이터 표시하도록 수정
- ITS_API_KEY (국토교통부 교통사고 API) 추가
- KMA_API_KEY (기상청 특보 API) 재적용
- dashboard.ts API URL 수정 (/api로 통일)
2025-10-15 17:02:06 +09:00
dohyeons eff3b45dc9 기간 필터링 추가 2025-10-15 15:05:20 +09:00
kjs 4c05b25fd8 Merge branch 'main' into feature/screen-management 2025-10-15 13:33:26 +09:00
kjs 3d242c1c8e 화면관리 ui개선 및 파일업로드 설정 2025-10-15 13:30:11 +09:00
dohyeons 3ecdf73bc5 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/dashboard 2025-10-15 11:56:36 +09:00
leeheejin 36aec28708 차량위치 위젯 기존꺼 분할 완료 2025-10-15 10:29:15 +09:00
dohyeons 593983d6ee rest api 기능 구현 2025-10-15 10:02:32 +09:00
leeheejin 9599d34ba9 투두리스트, 예약요청, 정비,문서 2025-10-14 17:21:28 +09:00
leeheejin c6930a4e66 배송/화물현황과 리스크/알림(api 활용, 공공데이터 복구시 대체될 가능성 있음) 2025-10-14 16:36:00 +09:00
kjs 55f52ed1b5 컬럼 세부 타입 설정 2025-10-14 11:48:04 +09:00
kjs dadd49b98f 화면관리 수정 2025-10-13 19:18:01 +09:00
dohyeons 55d8d5432e Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/report 2025-10-13 19:16:23 +09:00
dohyeons 28d460fecd 리포트 관리 되돌리기 2025-10-13 19:15:52 +09:00
leeheejin 26649b78f3 환율과 날씨 위젯 api 활용 완료 날씨는 현재 기상청 ai hub로 사용중 나중에 공공데이터 서비스가 가능할때 바꾸기 바람 2025-10-13 19:04:28 +09:00
leeheejin 87bec6760a Merge conflict 해결 - 로컬 변경사항 유지 (날씨 API) 2025-10-13 18:39:37 +09:00
kjs c99936cef0 Merge branch 'main' into feature/screen-management 2025-10-13 17:48:44 +09:00
kjs 0dc4d53876 제어관리 노드 작동 방식 수정 2025-10-13 17:47:24 +09:00
dohyeons fbb42dd83c mail-templates도 수정 2025-10-13 16:18:54 +09:00
dohyeons b6eaaed85e mail-attachment 로직 수정 2025-10-13 16:11:51 +09:00
dohyeons 7a10b2652c mail 백엔드 로직 수정 2025-10-13 16:04:13 +09:00
leeheejin 51dea84bc5 Merge branch 'lhj' 2025-10-13 15:19:59 +09:00
leeheejin 95c98cbda3 메일관리 기능 구현 완료 2025-10-13 15:17:34 +09:00
dohyeons d1b2e6c010 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/report 2025-10-13 15:08:43 +09:00
kjs 9d5ac1716d 메뉴추가 기본값 제거 2025-10-13 15:06:48 +09:00
kjs 6e41fdf039 메뉴관리 추가 안되는 버그 수정 2025-10-13 15:01:37 +09:00
kjs 2d8f5a184d 배치관리 쿼리수정 2025-10-13 12:09:33 +09:00
kjs 1315cfedc4 Merge branch 'feature/screen-management' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-10-13 12:00:42 +09:00
kjs 1274f58c3c rest api 액션노드 기능변경 2025-10-13 12:00:41 +09:00
dohyeons 7828b5e073 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/report 2025-10-13 09:44:09 +09:00
dohyeons f7b9a5db1c 타입 단언 사용 2025-10-08 10:34:16 +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
leeheejin b4c5be1f17 메일관리 콘솔로그 주석처리 세이브 2025-10-02 18:22:58 +09:00
dohyeons 57c4e8317d Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/report 2025-10-02 18:01:14 +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
dohyeons a219878288 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/report 2025-10-02 15:41:01 +09:00
leeheejin 3fa410cbe4 ui 수정 및 시현할 기능 업데이트 2025-10-02 14:34:15 +09:00
dohyeons b32b05a76c 쿼리 에서 cud 명령어 막기 구현 2025-10-02 09:56:44 +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 b452f148a9 오라클 제어 수정 2025-10-01 17:36:17 +09:00
kjs 852075c799 fix: Oracle INSERT 자동 커밋 추가
문제:
- Oracle DB에 INSERT 해도 데이터가 실제로 저장되지 않음
- executeQuery에서 autoCommit 옵션이 없었음

수정:
1. 쿼리 타입 확인 (INSERT/UPDATE/DELETE/MERGE)
2. DML 쿼리는 autoCommit: true 설정 
3. SELECT 쿼리는 autoCommit: false (기본값)

로깅 추가:
- isDML 확인
- autoCommit 상태
- rowsAffected 추가

결과:
-  INSERT 실행 후 자동 COMMIT
-  UPDATE/DELETE도 자동 COMMIT
-  SELECT는 영향 없음
-  오라클 데이터 정상 저장
2025-10-01 17:34:56 +09:00
leeheejin 6d1fe625e4 메일관리 시스템 구현 완료 2025-10-01 17:01:31 +09:00
dohyeons d83264181c 이미지 & 구분선 구현 2025-10-01 16:53:35 +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
dohyeons 771dc8cf56 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/report 2025-10-01 15:36:56 +09:00
kjs 352d4c3126 fix: query 함수 파라미터 배열 전달 오류 수정
문제:
- query() 함수에 스프레드 연산자로 파라미터 전달
- pg 라이브러리는 배열을 요구함
- 'Query values must be an array' 에러 발생

수정:
tableManagementService.ts (2곳):
- line 1501: query(...searchValues) → query(searchValues)
- line 1512: query(...searchValues, size, offset)
            → query([...searchValues, size, offset])

결과:
-  쿼리 파라미터 배열로 정확히 전달
-  테이블 데이터 조회 정상 동작
2025-10-01 15:21:08 +09:00
kjs 808a0244d5 fix: @types/uuid 패키지 추가
문제:
- uuid 모듈의 타입 정의 파일 없음
- TypeScript 컴파일 에러 발생

해결:
- npm install --save-dev @types/uuid
- @types/uuid@10.0.0 설치

결과:
-  TypeScript 컴파일 에러 해결
-  uuid 모듈 타입 안전성 확보
2025-10-01 15:08:37 +09:00
kjs 401bbf85dc Merge branch 'main' into feature/prisma-to-raw-query-phase1-complete 2025-10-01 15:07:07 +09:00
dohyeons 62d36abb65 리포트 템플릿 저장 구현 2025-10-01 15:03:52 +09:00
kjs 9154c9c0ca docs: 모든 문서에서 Prisma 참조 제거 및 Raw Query로 업데이트
변경된 파일:

1. DOCKER.md:
   - 기술 스택: Prisma → PostgreSQL (Raw Query)
   - Prisma 관련 섹션 제거
   - 데이터베이스 관련 섹션으로 교체
   - 프로젝트 구조: prisma/ → database/

2. backend-node/Dockerfile.win:
   - npx prisma generate 명령 제거
   - Prisma 클라이언트 생성 단계 삭제

3. backend-node/README.md:
   - ORM: Prisma → Database: PostgreSQL (Raw Query with pg)
   - 프로젝트 구조: prisma/ → database/
   - Prisma 클라이언트 생성 단계 제거
   - npx prisma studio 스크립트 제거
   - 데이터베이스 스키마 변경 가이드 업데이트
   - Phase 1 체크리스트: Prisma → Raw Query

문서 정리 완료:
-  Docker 가이드 업데이트
-  Dockerfile Prisma 명령 제거
-  README 기술 스택 업데이트
-  개발 가이드 Raw Query로 변경
2025-10-01 15:03:08 +09:00
kjs 920cfbb3fd chore: Prisma 패키지 및 의존성 완전 제거
npm uninstall로 완전 제거:
-  @prisma/client 제거
-  prisma (devDependency) 제거
-  관련 32개 패키지 제거

node_modules 정리:
-  node_modules/@prisma 디렉토리 제거
-  node_modules/.prisma 디렉토리 제거
-  package-lock.json 업데이트

최종 검증 완료:
1. package.json prisma: 0개 
2. package-lock.json prisma: 0개 
3. node_modules Prisma 디렉토리: 0개 
4. prisma. 코드 호출: 0개 
5. PrismaClient import: 0개 
6. Prisma 타입 사용: 0개 
7. Prisma 에러 코드: 0개 
8. PostgreSQL 에러 코드: 9개 
9. TypeScript 컴파일: 에러 없음 

100% 완전 제거 완료! 🎉
2025-10-01 14:59:51 +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 643f6e0d7d chore: Prisma 관련 파일 완전 제거 🧹
제거된 파일들:

1. 컴파일된 파일:
   - backend-node/dist/config/database.js

2. 테스트 파일 (3개):
   - backend-node/src/tests/database.test.ts
   - backend-node/src/tests/authService.test.ts
   - backend-node/src/tests/integration/auth.integration.test.ts

3. Prisma 관련 스크립트 (10개):
   - test-db.js, check-password.js, check-actual-password.js
   - update-password.js, create-test-user.js, simple-test-user.js
   - clean-screen-tables.js, test-jwt.js, test-token.js
   - test-token.txt

4. Prisma 디렉토리:
   - backend-node/prisma/schema.prisma
   - backend-node/prisma/migrations/

수정된 파일들:

1. backend-node/package.json:
    Prisma 스크립트 제거 (prisma:generate, migrate, studio, seed)
    @prisma/client 의존성 제거
    prisma 개발 의존성 제거
    keywords: prisma → postgresql

2. .gitignore:
    Prisma 관련 항목 제거

3. src/services/dataflowDiagramService.ts:
    포맷팅 수정

최종 상태:
-  Prisma 호출: 0개
-  Prisma 관련 파일: 0개
-  Raw Query 기반 시스템으로 완전 전환
2025-10-01 14:54:44 +09:00
kjs 440803e203 fix: dbTypeCategoryService 타입 에러 수정
문제:
- queryOne이 null을 반환할 수 있지만 타입이 undefined 예상

해결:
- category || undefined로 null을 undefined로 변환

최종 확인:
-  TypeScript 컴파일 에러: 0개
-  Prisma 호출: 0개
-  모든 전환 완료: 469/469 (100%)
2025-10-01 14:47:29 +09:00
kjs b5fe2117af feat: Prisma 완전 제거 완료 🎉
최종 작업:

1. config/database.ts 삭제:
   - Prisma 기반 database.ts 완전 제거
   - 더 이상 사용되지 않는 파일

2. referenceCacheService.ts 전환 (3개):
   -  getTableRowCount: $queryRawUnsafe → query
   -  cacheReferenceTable: $queryRawUnsafe → query
   -  batchLookup: $queryRaw → query (ANY 연산자)

전체 완료:
-  모든 Prisma 호출 전환 완료
-  PrismaClient import 완전 제거 (에러핸들러 제외)
-  database.ts 삭제
-  Raw Query 기반 시스템으로 완전 전환

최종 진행률: 54/54 (100%) 🎉
2025-10-01 14:44:49 +09:00