Commit Graph

235 Commits

Author SHA1 Message Date
kjs 2b4b7819c5 feat: Add Numbering Rule APIs and Frontend Integration
- Implemented a new API endpoint to retrieve numbering rules based on table and column names, enhancing the flexibility of numbering rule management.
- Added a new service method to handle the retrieval of numbering columns specific to a company, ensuring proper company code filtering.
- Updated the frontend to load and display numbering columns, allowing users to select and manage numbering rules effectively.
- Refactored existing logic to improve the handling of numbering rules, including fallback mechanisms for legacy data.

These changes enhance the functionality and user experience in managing numbering rules within the application.
2026-03-09 14:10:08 +09:00
kjs 536982dd71 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node 2026-03-05 19:21:50 +09:00
chpark bfd97c9717 바코드 업데이트 및 AI LLm 적용용 2026-03-05 19:08:08 +09:00
DDD1542 3a3e4e8926 Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into gbpark-node
; 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.
2026-03-04 22:45:40 +09:00
kjs 95c42a971c Merge branch 'main' into jskim-node 2026-03-04 21:09:55 +09:00
kjs 5f3b144b12 Merge branch 'main' into barcode 2026-03-04 20:54:46 +09:00
chpark b9c0a0f243 바코드 기능 커밋밋 2026-03-04 20:51:00 +09:00
kjs f97edad1ea feat: Enhance screen group deletion functionality with optional numbering rules deletion
- Added a new query parameter `deleteNumberingRules` to the `deleteScreenGroup` function, allowing users to specify if numbering rules should be deleted when a root screen group is removed.
- Updated the `deleteScreenGroup` controller to handle the deletion of numbering rules conditionally based on the new parameter.
- Enhanced the frontend `ScreenGroupTreeView` component to include a checkbox for users to confirm the deletion of numbering rules when deleting a root group, improving user control and clarity during deletion operations.
- Implemented appropriate warnings and messages to inform users about the implications of deleting numbering rules, ensuring better user experience and data integrity awareness.
2026-03-04 18:42:44 +09:00
DDD1542 f6a2668bdc feat: Enhance approval request handling and user management
- Updated the approval request controller to include target_record_id in query parameters for improved filtering.
- Refactored the approval request creation logic to merge approval_mode into target_record_data, allowing for better handling of approval processes.
- Enhanced the user search functionality in the approval request modal to accommodate additional user attributes such as position and department.
- Improved error handling messages for clarity regarding required fields in the approval request modal.
- Added new menu item for accessing the approval box directly from user dropdown and app layout.

Made-with: Cursor
2026-03-04 18:26:16 +09:00
SeongHyun Kim cc44f714c6 Merge branch 'ksh-v2-work' into main
POP 화면 관리 기능 일괄 병합:
- POP 컴포넌트 연결/상태변경 규칙/후속 액션
- POP 장바구니(CartList) 모드 + 멀티필드 입력
- POP 화면 복사 기능 (단일 + 카테고리 일괄)
- POP 화면관리 UX 개선 (스크롤/접기)
- PC/POP 화면 데이터 분리 (excludePop 필터)
- .gitignore 미사용 항목 정리
충돌 1건 해결 (screenManagementRoutes.ts import 양쪽 통합)
2026-03-04 14:27:46 +09:00
SeongHyun Kim 37d93d82b1 feat(screen): PC/POP 화면관리 데이터 분리 (excludePop 필터)
PC 화면관리에서 POP 전용 화면과 그룹이 함께 표시되어 혼동을 주는
문제를 해결하기 위해 excludePop 필터를 도입한다.
[백엔드]
- getScreensByCompany: NOT EXISTS 서브쿼리로 screen_layouts_pop에
  레이아웃이 있는 화면 제외, 테이블 별칭 sd로 통일
- getScreenGroups: hierarchy_path 기반으로 POP 그룹 제외
  (hierarchy_path IS NULL OR NOT LIKE 'POP/%')
- 두 API 모두 excludePop 미전달 시 기존 동작 100% 유지
[프론트엔드]
- screenApi.getScreens, getScreenGroups에 excludePop 파라미터 추가
- PC 화면관리 페이지, ScreenGroupTreeView, ScreenList에서
  excludePop: true 전달
2026-03-04 14:01:19 +09:00
kjs 459777d5f0 feat: Update screen management state handling for immediate updates
- Enhanced the screen management functionality to ensure that updates to selected screens are reflected immediately in the state.
- Implemented a mapping function to update the screens list when a screen's details are modified, improving user experience by providing real-time feedback.
- This change ensures that the UI remains in sync with the underlying data, enhancing the overall responsiveness of the application.
2026-03-04 13:53:10 +09:00
kjs b4d5367e2b feat: Integrate audit logging for various operations
- Added audit logging functionality across multiple controllers, including menu, user, department, flow, screen, and table management.
- Implemented logging for create, update, and delete actions, capturing relevant details such as company code, user information, and changes made.
- Enhanced the category tree service with a new endpoint to check if category values are in use, improving data integrity checks.
- Updated routes to include new functionalities and ensure proper logging for batch operations and individual record changes.
- This integration improves traceability and accountability for data modifications within the application.
2026-03-04 13:49:08 +09:00
SeongHyun Kim 15e22ba401 fix(pop): POP 화면 관리 좌측 패널 UX 개선 (스크롤 + 접기/펼치기)
- 좌측 패널 스크롤 수정: 부모에 overflow-hidden, ScrollArea에 min-h-0
  추가하여 미분류 목록이 많을 때 스크롤바가 정상 작동하도록 개선
- 카테고리 그룹 기본 접힌 상태: loadGroups 자동 확장 로직 제거하여
  페이지 진입 시 깔끔한 트리 뷰 제공
- 미분류 회사코드별 접기/펼치기: 최고관리자/COMPANY_7 등 회사코드
  그룹마다 토글 헤더 추가, 항목 수 Badge 표시
2026-03-04 13:18:49 +09:00
SeongHyun Kim ce5c2426b5 feat(pop): POP 화면 복사 기능 구현 (단일 화면 + 카테고리 일괄 복사)
최고관리자의 POP 화면을 다른 회사로 복사하는 기능 추가.
화면 단위 복사와 카테고리(그룹) 단위 일괄 복사를 모두 지원하며,
화면 간 참조(cartScreenId, sourceScreenId 등)를 자동 치환하고
카테고리 구조까지 대상 회사에 재생성한다.
[백엔드]
- analyzePopScreenLinks: POP 레이아웃 내 다른 화면 참조 스캔
- deployPopScreens: screen_definitions + screen_layouts_pop 복사,
  screenId 참조 치환, numberingRuleId 초기화, 그룹 구조 복사
- POP 그룹 조회 쿼리 개선 (screen_layouts_pop JOIN으로 실제 POP 화면만 카운트)
- ensurePopRootGroup 최고관리자 전용으로 변경
[프론트엔드]
- PopDeployModal: 단일 화면/카테고리 일괄 복사 모달 (대상 회사 선택,
  연결 화면 감지, 카테고리 트리 미리보기)
- PopCategoryTree: 그룹 컨텍스트 메뉴에 '카테고리 복사' 추가,
  하위 그룹 화면까지 재귀 수집
- PopScreenSettingModal: UI 간소화 및 화면명 저장 기능 보완
- screenApi: analyzePopScreenLinks, deployPopScreens 클라이언트 함수 추가
2026-03-04 11:41:31 +09:00
DDD1542 c22b468599 feat: Enhance approval request modal functionality
- Added user search capability with debouncing to improve performance and user experience.
- Updated approver management to utilize user data, including user ID, name, position, and department.
- Refactored local ID generation for approvers to a more concise function.
- Integrated approval request handling in button actions, allowing for modal opening with relevant data.
- Improved UI elements for better clarity and user guidance in the approval process.

Made-with: Cursor
2026-03-04 11:19:57 +09:00
kjs f04d224b09 feat: Enhance error handling with showErrorToast utility
- Replaced existing toast error messages with the new `showErrorToast` utility across multiple components, improving consistency in error reporting.
- Updated error messages to provide more specific guidance for users, enhancing the overall user experience during error scenarios.
- Ensured that all relevant error handling in batch management, external call configurations, cascading management, and screen management components now utilizes the new utility for better maintainability.
2026-03-03 16:04:11 +09:00
kjs f697e1e897 feat: Add procedure and function management in flow controller
- Introduced new endpoints in FlowController for listing procedures and retrieving procedure parameters, enhancing the flow management capabilities.
- Updated FlowDataMoveService to support procedure calls during data movement, ensuring seamless integration with external and internal databases.
- Enhanced NodeFlowExecutionService to execute procedure call actions, allowing for dynamic execution of stored procedures within flow nodes.
- Updated frontend components to support procedure selection and parameter management, improving user experience in configuring flow steps.
- Added necessary types and API functions for handling procedure-related data, ensuring type safety and clarity in implementation.
2026-03-03 14:33:17 +09:00
kjs eb27f01616 feat: Enhance category column handling and data mapping
- Updated the `getCategoryColumnsByCompany` and `getCategoryColumnsByMenu` functions to exclude reference columns from category column queries, improving data integrity.
- Modified the `TableManagementService` to include `category_ref` in the column management logic, ensuring proper handling of category references during data operations.
- Enhanced the frontend components to support category reference mapping, allowing for better data representation and user interaction.
- Implemented category label conversion in various components to improve the display of category data, ensuring a seamless user experience.
2026-02-26 11:31:49 +09:00
kjs 262221e300 fix: Refine ExcelUploadModal and TableListComponent for improved data handling
- Updated ExcelUploadModal to automatically generate numbering codes when Excel values are empty, enhancing user experience during data uploads.
- Modified TableListComponent to display only the first image in case of multiple images, ensuring clarity in image representation.
- Improved data handling logic in TableListComponent to prevent unnecessary processing of string values.
2026-02-25 14:42:42 +09:00
kjs 56d069f853 feat: Enhance master-detail Excel upload functionality with detail update tracking
- Added support for tracking updated detail records during the Excel upload process, improving feedback to users on the number of records inserted and updated.
- Updated response messages to provide clearer information about the processing results, including the number of newly inserted and updated detail records.
- Refactored related components to ensure consistency in handling detail updates and improve overall user experience during uploads.
2026-02-11 18:29:36 +09:00
kjs e065835c4d feat: Add PK and index management APIs for table management
- Implemented new API endpoints for managing primary keys and indexes in the table management system.
- Added functionality to retrieve table constraints, set primary keys, toggle indexes, and manage NOT NULL constraints.
- Enhanced the frontend to support PK and index management, including loading constraints and handling user interactions for toggling indexes and setting primary keys.
- Improved error handling and logging for better debugging and user feedback during these operations.
2026-02-11 16:07:44 +09:00
SeongHyun Kim b85f8559e4 merge: origin/main을 ksh-v2-work-merge-test에 병합
origin/main의 feature/v2-unified-renewal(PR #386) 포함 86개 커밋을 병합.
ScreenDesigner.tsx에서 3건의 충돌을 수동 해결:

1. 함수 시그니처: isPop/defaultDevicePreview props 유지 (POP 모드 지원)
2. 저장 로직: POP/V2/Legacy 3단계 분기 유지, 디버그 로그 제거
3. 툴바 props: origin/main의 정렬/분배/크기맞춤/라벨토글/단축키 기능 채택

검증 완료: 빌드 성공, 타입 에러 없음, 시맨틱 충돌 없음

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 10:41:30 +09:00
kjs 3e19218382 feat: 테이블 관리 페이지의 컬럼 설정 저장 로직 개선
- 컬럼의 detailSettings을 동적으로 계산하여 다양한 입력 타입에 맞는 설정을 포함하도록 수정하였습니다.
- Numbering, Entity, Code 타입에 대한 추가 설정을 detailSettings에 포함시켜 데이터 저장 시 유연성을 높였습니다.
- V2Input 컴포넌트에서 채번 규칙 ID를 formData에 저장하는 기능을 추가하여 데이터 처리의 일관성을 강화하였습니다.
- 레이아웃 변환 함수에 메타데이터를 포함하여 레이아웃 정보를 더욱 풍부하게 하였습니다.
2026-02-03 11:02:13 +09:00
SeongHyun Kim d9b7ef9ad4 feat(pop): POP 화면 카테고리 관리 시스템 구현 및 저장/로드 안정화
POP 전용 카테고리 트리 UI 구현 (계층적 폴더 구조)
카테고리 CRUD API 추가 (hierarchy_path LIKE 'POP/%' 필터)
화면 이동 기능 (기존 연결 삭제 후 새 연결 추가 방식)
카테고리/화면 순서 변경 기능 (display_order 교환)
이동 UI를 서브메뉴에서 검색 가능한 모달로 개선
POP 레이아웃 버전 통일 (pop-1.0) 및 로드 로직 수정
DB 스키마 호환성 수정 (writer 컬럼, is_active VARCHAR)
2026-02-02 18:01:05 +09:00
SeongHyun Kim 8c045acab3 feat(pop): POP 화면 관리 시스템 구현
Backend:
- screen_layouts_pop 테이블용 CRUD API 추가 (getLayoutPop, saveLayoutPop, deleteLayoutPop, getScreenIdsWithPopLayout)
- 멀티테넌시 권한 체크 포함

Frontend API:
- screenApi에 POP 레이아웃 함수 4개 추가

POP 관리 페이지:
- popScreenMngList 신규 생성
- isPop prop으로 미리보기 URL 분기 (/pop/screens/{id})
- CreateScreenModal에서 POP 화면 생성 시 빈 레이아웃 자동 생성

POP 디자이너:
- PopDesigner, PopCanvas, PopPanel, SectionGrid 컴포넌트 구현
- react-dnd로 팔레트→캔버스 드래그앤드롭
- react-grid-layout으로 컴포넌트 자유 배치/리사이즈
- 그리드 단순화: 고정 셀 크기(40px) 기반 자동 계산, 그리드 점 제거
- onLayoutChange를 onDragStop/onResizeStop으로 변경하여 드롭 시 크기 유지
2026-02-02 15:15:01 +09:00
kjs 95bef976a5 docs: 다양한 문서 및 가이드 업데이트
- 여러 문서의 내용을 업데이트하여 최신 정보를 반영하였습니다.
- 컴포넌트 개발 가이드와 관련된 문서의 목차를 재구성하고, V2 및 Zod 레이아웃 시스템에 대한 내용을 추가하였습니다.
- 화면 컴포넌트 개발 가이드를 개선하여 핵심 원칙과 패턴을 명확히 설명하였습니다.
- 불필요한 문서 및 가이드를 삭제하고, 통합된 가이드를 통해 개발자들이 쉽게 참고할 수 있도록 하였습니다.
2026-01-28 17:36:19 +09:00
kjs 64cc5c6772 feat: 카테고리 값 삭제 기능 개선 및 하위 카테고리 수집 로직 추가
- 카테고리 값 삭제 시, 자기 자신과 모든 하위 카테고리 ID를 재귀적으로 수집하는 기능을 추가하였습니다.
- 삭제 대상 카테고리 값 수집 완료 후, 하위 카테고리부터 역순으로 삭제하는 로직을 구현하였습니다.
- 관련된 로그 메시지를 추가하여 삭제 과정과 결과를 기록하도록 하였습니다.
- 화면 관리 기능에서 하위 항목 개수를 계산하는 로직을 개선하여 사용자에게 더 정확한 정보를 제공하도록 하였습니다.
2026-01-27 10:06:40 +09:00
kjs 351d53cd0c feat: 채번 규칙 저장 API 및 테이블 관리 기능 개선
- 채번 규칙 저장 API에서 ruleName을 필수로 설정하고, tableName과 columnName은 선택적으로 변경하였습니다.
- 테이블 관리 페이지에서 자동 저장 기능을 제거하고, 전체 저장 버튼으로 저장하도록 수정하였습니다.
- 카테고리 컬럼 선택 시, 선택된 컬럼의 테이블 이름과 컬럼 이름을 함께 전달하도록 개선하였습니다.
2026-01-26 14:55:36 +09:00
kjs 8344486e56 Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into feature/v2-unified-renewal 2026-01-22 10:04:49 +09:00
kjs 67f00643bc Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/v2-unified-renewal 2026-01-21 18:26:40 +09:00
kjs 16cb1ea1af 테스트용 채번규칙 API 추가: numberingRuleController에 테이블+컬럼 기반 채번규칙 조회 및 테스트 테이블에 채번규칙 저장 기능을 추가하였습니다. 이를 통해 개발 및 테스트 환경에서 채번규칙을 보다 쉽게 관리할 수 있도록 개선하였습니다. 2026-01-21 13:54:14 +09:00
DDD1542 ad8b1791bc feat: 화면 관리 및 메뉴 동기화 기능 개선
- 화면 그룹 컨트롤러 기능 확장
- 메뉴 복사 서비스 개선
- 메뉴-화면 동기화 서비스 추가
- 번호 규칙 서비스 개선
- 화면 관리 서비스 확장
- CopyScreenModal 기능 개선
- DataFlowPanel, FieldJoinPanel 수정
2026-01-21 11:54:21 +09:00
kjs 95da69ec70 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/v2-unified-renewal 2026-01-19 17:56:33 +09:00
DDD1542 ab52c49492 feat: 화면 관리 기능 개선 (복제/삭제/그룹 관리/테이블 설정)
- 화면 관리 시스템의 복제, 삭제, 수정 및 테이블 설정 기능을 전면 개선
- 그룹 삭제 시 하위 그룹과의 연관성 정리 및 로딩 프로그레스 바 추가
- 화면 수정 기능 추가: 이름, 그룹, 역할, 정렬 순서 변경
- 테이블 설정 모달에 관련 기능 추가 및 데이터 일관성 유지
- 메뉴-화면 그룹 동기화 API 추가 및 관련 상태 관리 기능 구현
- 검색어 필터링 로직 개선: 다중 키워드 지원
- 관련 파일 및 진행 상태 업데이트
2026-01-16 14:48:15 +09:00
kjs ee1ea4190d Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/v2-unified-renewal 2026-01-16 11:10:41 +09:00
DDD1542 efa95af4b9 refactor: 코드 정리 및 불필요한 주석 제거
- EntityJoinController에서 중복 제거 설정 관련 주석 및 코드 삭제
- screenGroupController와 tableManagementController에서 AuthenticatedRequest 타입을 일반 Request로 변경
- 불필요한 로그 및 주석 제거로 코드 가독성 향상
- tableManagementController에서 에러 메시지 개선
2026-01-15 17:36:38 +09:00
gbpark 40a226ca30 Merge branch 'main' into feature/v2-renewal 2026-01-15 14:59:12 +09:00
DDD1542 5d89b69451 feat: 화면 관리 기능 개선 (복제/삭제/그룹 관리)
- 단일 화면 복제 및 그룹 전체 복제 기능 추가
- 정렬 순서 유지 및 일괄 이름 변경 기능 구현
- 삭제 기능 개선: 단일 화면 삭제 및 그룹 삭제 시 옵션 추가
- 회사 코드 지원 기능 추가: 복제된 그룹/화면에 선택한 회사 코드 적용
- 관련 파일 및 진행 상태 업데이트
2026-01-15 14:58:12 +09:00
kjs 45f0c667c2 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/v2-unified-renewal 2026-01-15 09:22:31 +09:00
kjs b5d2195cd5 Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into feat/multilang 2026-01-14 15:38:41 +09:00
DDD1542 f321aaf7aa feat: 화면 디자이너 모달 및 제어 관리 탭 기능 추가
- 화면 설정 모달에 "제어 관리" 탭 추가하여 버튼 제어 설정을 간편하게 관리
- 버튼 액션 설정 기능 구현: 버튼 목록 표시 및 각 버튼의 액션 타입 수정 가능
- 화면 디자이너 모달 통합: 전체화면 Dialog 내부에 ScreenDesigner 임베드
- URL 쿼리 파라미터로 화면 디자이너 자동 열기 기능 추가
- 화면 캔버스 크기 자동 조절 기능 구현: 최소 크기 보장 및 여유 마진 추가
- 필드 추가/제거 기능 개선: 기존 그리드 컬럼 변경 로직과 통합하여 사용자 경험 향상
2026-01-14 14:35:27 +09:00
kjs 24315215de 다국어 키 자동생성 로직 2026-01-14 11:05:57 +09:00
kjs 18b5161398 Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into feat/multilang 2026-01-13 18:32:04 +09:00
kjs b576837f18 다국어 관리 시스템 개선: 카테고리 및 키 자동 생성 기능 추가 2026-01-13 18:28:11 +09:00
DDD1542 0773989c74 feat: 데이터 흐름 조회 기능 개선 및 프리뷰 모드 추가
- 데이터 흐름 조회 API에 source_screen_id 파라미터 추가하여 특정 화면에서 시작하는 데이터 흐름만 조회 가능
- 화면 관리 페이지에서 선택된 그룹에 company_code 필드 추가하여 회사 코드 정보 포함
- 프리뷰 모드에서 URL 쿼리로 company_code를 받아와 데이터 조회 시 우선 사용하도록 로직 개선
- 화면 관계 흐름 및 서브 테이블 정보에서 company_code를 활용하여 필터링 및 시각화 개선
2026-01-09 18:26:37 +09:00
DDD1542 a6569909a2 feat: 저장 테이블 제외 조건 추가 및 포커싱 개선
- 저장 테이블 쿼리에 table-list와 체크박스가 활성화된 화면, openModalWithData 버튼이 있는 화면을 제외하는 조건 추가
- 화면 그룹 클릭 시 새 그룹 진입 시 포커싱 없이 시작하도록 로직 개선
- 관련 문서에 제외 조건 및 SQL 예시 추가
2026-01-09 17:03:00 +09:00
kjs 47ac9ecd8a 범용폼모달 외부소스 지원 2026-01-07 16:10:11 +09:00
DDD1542 b279f8d58d feat: 화면 관리 기능 개선 및 서브 테이블 정보 추가
- 화면 선택 시 그룹을 재설정하지 않도록 로직 개선하여 데이터 재로드 방지
- 테이블 노드 데이터 구조에 필드 매핑 정보 추가
- 서브 테이블과 조인 관계를 시각화하기 위한 컬럼 강조 및 스타일링 개선
- 화면 관계 흐름에서 서브 테이블 연결선 강조 기능 추가
- 사용 컬럼 및 조인 컬럼 정보를 화면별로 매핑하여 관리
2026-01-07 14:50:03 +09:00
kjs 4f77c38207 권한기능 임시 비활성화 2026-01-06 10:27:54 +09:00