Commit Graph

181 Commits

Author SHA1 Message Date
syc0123 7853aeede9 Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into ycshin-node 2026-03-05 09:03:24 +09:00
kjs ac2da7a1d7 feat: Implement entity join functionality in V2Repeater and configuration panel
- Added support for entity joins in the V2Repeater component, allowing for automatic resolution of foreign key references to display data from related tables.
- Introduced a new `resolveEntityJoins` function to handle the fetching and mapping of reference data based on configured entity joins.
- Enhanced the V2RepeaterConfigPanel to manage entity join configurations, including loading available columns and toggling join settings.
- Updated the data handling logic to incorporate mapping rules for incoming data, ensuring that only necessary fields are retained during processing.
- Improved user experience by providing clear logging and feedback during entity join resolution and data mapping operations.
2026-03-04 21:08:45 +09:00
syc0123 8f3231d5a1 Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into ycshin-node 2026-03-04 16:30:42 +09:00
syc0123 6ceed2acd0 feat: Implement button iconization feature for screen designer
- Added a comprehensive plan for expanding button display modes in the screen designer, allowing for text, icon, and icon+text modes.
- Introduced a new `ButtonIconRenderer` component to handle dynamic rendering of buttons based on selected display modes and actions.
- Enhanced the `ButtonConfigPanel` to include UI for selecting display modes and managing icon settings, including size, color, and position.
- Implemented functionality for custom icon addition via lucide search and SVG paste, ensuring flexibility for users.
- Updated relevant components to utilize the new button rendering logic, improving the overall user experience and visual consistency.

Made-with: Cursor
2026-03-04 16:30:05 +09:00
kjs ea8b4ce5dc chore: Remove obsolete .classpath file
- Deleted the .classpath file as it is no longer needed in the project structure.
- This cleanup helps maintain a tidy codebase by removing unnecessary files that may cause confusion or clutter.
2026-03-04 15:31:45 +09:00
syc0123 a0cf9db6e8 feat: Update DropdownSelect component to display selected items based on dropdown option order
- Modified the selection display logic in the DropdownSelect component to show selected items in the order of the dropdown options, rather than the order of user selection.
- This change aims to provide a consistent and predictable user experience, reducing confusion caused by varying display orders.
- Updated the relevant documentation to reflect this new behavior and its rationale.

Made-with: Cursor
2026-03-04 11:08:42 +09:00
syc0123 ec5a980c41 feat: Add documentation for V2Select multi-select dropdown improvements
- Created a comprehensive plan document detailing the enhancements made to the V2Select multi-select dropdown, including the new display format for selected items and tooltip functionality.
- Added context notes and a checklist to track implementation progress and ensure all aspects of the feature are covered.
- Documented the rationale behind design decisions, including the need for improved user experience and visibility of selected items.

Made-with: Cursor
2026-03-04 10:12:52 +09:00
syc0123 2b324d083b feat: Improve V2Select multi-select dropdown item display
- Enhanced the display of selected items in the V2Select component to show labels in a comma-separated format, improving user visibility without needing to open the dropdown.
- Implemented tooltip functionality that activates only when the text is truncated, allowing users to see all selected items at a glance.
- Updated the DropdownSelect component to ensure consistent behavior across all screens using this component.
- Added necessary imports and state management for tooltip visibility and text truncation detection.

Made-with: Cursor
2026-03-04 10:11:48 +09:00
syc0123 35dfe5bd79 feat: Update modal validation design and behavior
- Changed the modal validation mechanism to focus on the first empty required field and display a toast notification prompting the user to fill it.
- Removed the disabling of the save button, ensuring it remains active regardless of validation state.
- Enhanced visual feedback with a shake animation for empty fields and a red border to indicate errors.
- Updated the documentation to reflect the new validation flow and requirements.

Made-with: Cursor
2026-03-03 18:30:56 +09:00
syc0123 eb2bd8f10f feat: Enhance modal button behavior and validation feedback
- Updated modal button handling to disable all buttons by default, with exceptions for specific button types (e.g., cancel, close, delete).
- Introduced a new validation mechanism that visually indicates empty required fields with red borders and error messages after a delay.
- Improved the `useDialogAutoValidation` hook to manage button states based on field validation, ensuring a smoother user experience.
- Added CSS animations to prevent flickering during validation state changes.

Made-with: Cursor
2026-03-03 14:54:41 +09:00
syc0123 aa020bfdd8 feat: Implement automatic validation for modal forms
- Introduced a new hook `useDialogAutoValidation` to handle automatic validation of required fields in modals.
- Added visual feedback for empty required fields, including red borders and error messages.
- Disabled action buttons when required fields are not filled, enhancing user experience.
- Updated `DialogContent` to integrate the new validation logic, ensuring that only user mode modals are validated.

Made-with: Cursor
2026-03-03 12:07:12 +09:00
syc0123 a0e3147b47 Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into ycshin-node 2026-02-27 14:26:16 +09:00
syc0123 d04dc4c050 feat: Add Zustand for state management and enhance modal handling
- Integrated Zustand for improved state management across components.
- Updated modal components to handle visibility based on active tabs, ensuring better user experience.
- Refactored various components to utilize the new tab store for managing active tab states.
- Enhanced number formatting utility to streamline number and currency display across the application.

Made-with: Cursor
2026-02-27 14:25:53 +09:00
kjs 929b68299a feat: Implement BOM Excel upload and download functionality
- Added endpoints for uploading BOM data from Excel and downloading BOM data in Excel format.
- Developed the `createBomFromExcel` function to handle Excel uploads, including validation and error handling.
- Implemented the `downloadBomExcelData` function to retrieve BOM data for Excel downloads.
- Created a new `BomExcelUploadModal` component for the frontend to facilitate Excel file uploads.
- Updated BOM routes to include new Excel upload and download routes, enhancing BOM management capabilities.
2026-02-27 07:50:22 +09:00
kjs dd86d5e63c Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-02-26 13:47:28 +09:00
kjs 495594913f Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-02-26 13:46:57 +09:00
DDD1542 46ea3612fd feat: Enhance BOM management with new header retrieval and version handling
- Added a new endpoint to retrieve BOM headers with entity join support, improving data accessibility.
- Updated the BOM service to include logic for fetching current version IDs and handling version-related data more effectively.
- Enhanced the BOM tree component to utilize the new BOM header API for better data management.
- Implemented version ID fallback mechanisms to ensure accurate data representation during BOM operations.
- Improved the overall user experience by integrating new features for version management and data loading.
2026-02-26 13:09:32 +09:00
SeongHyun Kim b8569c6641 Merge branch 'ksh-v2-work' 2026-02-24 16:41:29 +09:00
shin 8cfd4024e1 feat(pop-card-list): PopCardList 컴포넌트 구현
- PopCardList 컴포넌트 추가 (NumberInputModal, PackageUnitModal 포함)
- ComponentEditorPanel, PopRenderer 충돌 해결 (modals + onRequestResize 통합)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-24 15:54:57 +09:00
kjs 0b6c305024 Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-02-24 15:30:07 +09:00
kjs 4f6d9a689d feat: Implement process work standard routes and controller
- Added a new controller for managing process work standards, including CRUD operations for work items and routing processes.
- Introduced routes for fetching items with routing, retrieving routings with processes, and managing work items.
- Integrated the new process work standard routes into the main application file for API accessibility.
- Created a migration script for exporting data related to the new process work standard feature.
- Updated frontend components to support the new process work standard functionality, enhancing the overall user experience.
2026-02-24 12:37:33 +09:00
kjs e8c0828d91 feat: Add process work standard component implementation plan
- Introduced a comprehensive implementation plan for the v2-process-work-standard component, detailing the current state analysis, required database tables, API design, and implementation phases.
- Included a structured file organization plan for both frontend and backend components, ensuring clarity in development and integration.
- Updated the V2Repeater component to support new auto-fill functionalities, including parent sequence generation, enhancing data management capabilities.
- Enhanced the V2RepeaterConfigPanel to allow configuration of parent sequence settings, improving user experience in managing data entries.
2026-02-24 10:15:25 +09:00
DDD1542 4e422fc477 Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into gbpark-node 2026-02-24 09:29:44 +09:00
DDD1542 79d8f0b160 refactor: Update ComponentsPanel and SelectedItemsDetailInputComponent for improved functionality
- Updated ComponentsPanel to clarify the usage of the "selected-items-detail-input" component, indicating its application in the context of adding items for clients.
- Enhanced SelectedItemsDetailInputComponent by introducing independent editing states for group entries, allowing for better management of item edits within groups.
- Adjusted input field heights and styles for consistency and improved user experience.
- Added a new property `maxEntries` to the FieldGroup interface to support 1:1 relationships and automatic entry generation.
- Implemented overflow support for the component to handle cases with many items, ensuring a smoother user interface.
2026-02-07 17:45:44 +09:00
DDD1542 08dde416b1 docs: Add detailed backend, database, and frontend architecture analysis documents
- Created a comprehensive analysis document for the backend architecture, detailing the directory structure, API routes, authentication workflows, and more.
- Added a database architecture analysis report outlining the database structure, multi-tenancy architecture, and key system tables.
- Introduced a frontend architecture analysis document that covers the directory structure, component systems, and Next.js App Router structure.

These documents aim to enhance the understanding of the WACE ERP system's architecture and facilitate better workflow documentation.
2026-02-06 16:00:43 +09:00
DDD1542 0ac2d78ad3 Merge branch 'feature/v2-unified-renewal' 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-02-06 15:59:27 +09:00
kjs 013ddc6975 refactor: 테이블 관리 서비스에서 기본 정렬 로직 개선 및 안전한 테이블명 검증 추가
- 기본 정렬 로직을 개선하여, `sortBy` 파라미터가 없을 경우 `created_date` 컬럼이 존재하는 경우에만 기본 정렬을 적용하도록 수정했습니다.
- 안전한 테이블명 검증 로직을 추가하여, SQL 인젝션 공격을 방지하고 데이터베이스 쿼리의 안정성을 높였습니다.
- 여러 위치에서 `created_date` 컬럼의 존재 여부를 확인하여, 일관된 정렬 기준을 유지하도록 개선했습니다.
2026-02-06 15:57:49 +09:00
DDD1542 04565eb480 feat: Add Multi-Agent Orchestrator MCP Server using Cursor Agent CLI 2026-02-06 13:33:35 +09:00
kjs 33db3933d8 Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into feature/v2-unified-renewal 2026-02-06 11:07:56 +09:00
DDD1542 a424b3b775 feat: V2 레이아웃 동기화 및 컴포넌트 개선
- TableManagementService에서 V2 레이아웃 동기화 로직을 추가하여, 새로운 입력 타입에 따라 화면 레이아웃을 자동으로 업데이트하도록 개선하였습니다.
- syncScreenLayoutsV2InputType 메서드를 통해 V2 레이아웃의 컴포넌트 source를 동기화하는 기능을 구현하였습니다.
- EditModal에서 배열 데이터를 쉼표 구분 문자열로 변환하는 로직을 추가하여, 손상된 값을 필터링하고 데이터 저장 시 일관성을 높였습니다.
- CategorySelectComponent에서 불필요한 스타일 및 높이 관련 props를 제거하여 코드 간결성을 개선하였습니다.
- V2Select 및 관련 컴포넌트에서 height 스타일을 통일하여 사용자 경험을 향상시켰습니다.
2026-02-06 09:15:50 +09:00
kjs 73d05b991c refactor: 코드 정리 및 불필요한 로그 제거
- scheduleService.ts에서 스케줄 생성 로직을 간소화하고, 불필요한 줄바꿈을 제거하여 가독성을 향상시켰습니다.
- v2-sales-order-modal-layout.json에서 JSON 포맷을 정리하여 일관성을 유지했습니다.
- page.tsx, ScreenModal.tsx, ScreenDesigner.tsx, V2Input.tsx, V2Select.tsx, V2SelectConfigPanel.tsx, SimpleRepeaterTableComponent.tsx, ButtonPrimaryComponent.tsx, FileUploadComponent.tsx 등 여러 파일에서 디버깅 로그를 제거하여 코드의 깔끔함을 유지했습니다.
- 전반적으로 코드의 가독성을 높이고, 불필요한 로그를 제거하여 유지보수성을 개선했습니다.
2026-02-05 17:35:13 +09:00
DDD1542 f3a0c92564 feat: EditModal 및 ButtonActionExecutor에서 데이터 흐름 제어 로직 개선
- EditModal 컴포넌트에서 executionTiming 체크 로직을 추가하여 데이터 흐름 제어를 보다 유연하게 처리하도록 개선하였습니다.
- ButtonActionExecutor에서 저장된 데이터 구조를 명확히 하여, API 응답에서 실제 폼 데이터를 올바르게 추출하도록 수정하였습니다.
- 디버깅 로그를 추가하여 데이터 흐름 및 상태를 추적할 수 있도록 하여 개발 편의성을 높였습니다.
2026-02-05 10:08:26 +09:00
kjs cf5e233726 Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into feature/v2-unified-renewal 2026-02-04 10:57:03 +09:00
DDD1542 faf4f566f7 docs: 컴포넌트-컬럼 연결 주의사항 및 일괄 수정 SQL 추가
- 컴포넌트 배치 시 "component"로 표시되는 문제와 그 해결 방법을 문서화하였습니다.
- `overrides.type` 필드 누락 문제를 진단하고, 이를 해결하기 위한 일괄 수정 SQL 쿼리를 추가하였습니다.
- V2 컴포넌트의 자동 매핑 규칙과 관련된 내용을 명확히 하여, 개발자들이 올바른 컴포넌트를 생성할 수 있도록 안내하였습니다.
- 수정된 화면 및 컴포넌트 수에 대한 통계를 포함하여, 일괄 수정 실행 결과를 기록하였습니다.
2026-02-04 10:33:51 +09:00
kjs b2cb7922c2 Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into feature/v2-unified-renewal 2026-02-04 09:28:22 +09:00
kjs d13cd478de feat: 파일 미리보기 및 동적 컴포넌트 조정 기능 추가
- 파일 미리보기 API에 공개 접근을 허용하여 인증되지 않은 사용자도 이미지 미리보기를 할 수 있도록 수정하였습니다.
- ScreenModal 컴포넌트에서 숨겨진 컴포넌트의 동적 y 좌표 조정 로직을 추가하여 사용자 인터페이스의 일관성을 개선하였습니다.
- V2Media 및 V2Select 컴포넌트에서 기본값 설정 기능을 추가하여 사용자 경험을 향상시켰습니다.
- RepeaterTable 및 SimpleRepeaterTableComponent에서 키 값을 개선하여 렌더링 성능을 최적화하였습니다.
- formData의 디버깅 로그를 추가하여 개발 중 상태 확인을 용이하게 하였습니다.
2026-02-04 09:28:16 +09:00
DDD1542 f821a7bff3 feat: V2 레이아웃 API 통합 및 변환 로직 추가
- ScreenModal 컴포넌트에서 V2 레이아웃 API를 사용하여 화면 정보와 레이아웃 데이터를 로딩하도록 수정하였습니다.
- V2 레이아웃 데이터를 Legacy 형식으로 변환하는 로직을 추가하여 기본값 병합을 지원합니다.
- V2 레이아웃이 없을 경우 기존 API로 fallback하는 기능을 구현하였습니다.
- 관련 문서 및 주석을 업데이트하여 새로운 기능에 대한 이해를 돕도록 하였습니다.
- frontend/stagewise.json 파일을 삭제하였습니다.
2026-02-03 17:45:37 +09:00
DDD1542 ef9f1b94ff feat: 화면 그룹 및 서브 테이블 관련 로직 개선
- 화면 그룹 조회 시 삭제된 화면(is_active = 'D')을 제외하도록 쿼리를 수정하였습니다.
- 화면 서브 테이블 API에서 전역 메인 테이블 목록을 수집하여, 메인 테이블과 서브 테이블의 우선순위를 적용하였습니다.
- 화면 삭제 시 연결된 화면 그룹의 관계를 해제하는 로직을 추가하였습니다.
- 화면 관계 흐름에서 연결된 화면들을 추가하는 로직을 개선하여, 그룹 모드와 개별 화면 모드에서의 동작을 명확히 하였습니다.
- 관련 문서 및 주석을 업데이트하여 새로운 기능에 대한 이해를 돕도록 하였습니다.
2026-02-03 15:50:23 +09:00
kjs 61b67c3619 docs: 자동 스케줄 생성 기능 추가 및 관련 문서 업데이트
- 생산계획 목록에 자동 스케줄 생성 기능에 대한 상세 가이드를 추가하였습니다.
- 스케줄 생성의 데이터 흐름과 설정을 명확히 설명하였으며, JSON 형식의 설정 예시를 포함하였습니다.
- 버튼 설정 및 연결 필터 설정에 대한 정보를 추가하여 사용자가 기능을 쉽게 이해할 수 있도록 하였습니다.
- 구현 상태를 체크리스트 형식으로 정리하여 각 항목의 진행 상황을 명시하였습니다.
2026-02-02 17:37:13 +09:00
kjs 0614609f2b Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into feature/v2-unified-renewal 2026-02-02 10:46:37 +09:00
kjs f959ca98bd docs: v2-timeline-scheduler 구현 완료 및 상태 업데이트
- v2-timeline-scheduler의 구현 상태를 체크리스트에 반영하였으며, 관련 문서화 작업을 완료하였습니다.
- 각 구성 요소의 구현 완료 상태를 명시하고, 향후 작업 계획을 업데이트하였습니다.
- 타임라인 스케줄러 컴포넌트를 레지스트리에 추가하여 통합하였습니다.
2026-02-02 10:46:01 +09:00
kjs b9d6e5854d docs: V2 컴포넌트 목록 및 v2-table-grouped 개발 상태 업데이트
- V2 컴포넌트 목록에 `v2-table-grouped`를 추가하여 총 18개로 업데이트하였습니다.
- `v2-table-grouped`의 구현 완료 상태를 체크리스트에 반영하였으며, 관련 문서화 작업도 완료하였습니다.
- 생산계획관리 화면의 신규 컴포넌트 개발 상태를 업데이트하여 `v2-table-grouped`의 완료를 명시하였습니다.
2026-02-02 09:40:37 +09:00
DDD1542 51492a8911 feat: 인증 미들웨어 적용 및 화면 그룹 삭제 로직 개선
- 모든 라우트에 인증 미들웨어를 적용하여 보안을 강화하였습니다.
- 화면 그룹 삭제 시 회사 코드 확인 및 권한 체크 로직을 추가하여, 다른 회사의 그룹 삭제를 방지하였습니다.
- 채번 규칙, 카테고리 값, 테이블 타입 컬럼 복제 시 같은 회사로 복제하는 경우 경고 메시지를 추가하였습니다.
- 메뉴 URL 업데이트 기능을 추가하여 복제된 화면 ID에 맞게 URL을 재매핑하도록 하였습니다.
2026-02-02 09:22:34 +09:00
kjs 17e212118c feat: 분할 패널 내부 컴포넌트 선택 기능 추가
- RealtimePreviewDynamic, ScreenDesigner, DynamicComponentRenderer, SplitPanelLayoutComponent 및 관련 파일에서 분할 패널 내부 컴포넌트 선택 콜백 및 상태 관리 기능을 추가하였습니다.
- 커스텀 모드에서 패널 내부에 컴포넌트를 자유롭게 배치할 수 있는 기능을 구현하였습니다.
- 선택된 패널 컴포넌트의 상태를 관리하고, 관련 UI 요소를 업데이트하여 사용자 경험을 향상시켰습니다.
- 패널의 표시 모드에 'custom' 옵션을 추가하여 사용자 정의 배치 기능을 지원합니다.
2026-01-30 16:34:05 +09:00
kjs 152558d593 docs: 생산계획관리 화면 구현 계획 및 테이블 구조 분석 업데이트
- 생산계획관리 화면의 구현 상태와 필요 작업을 명시하였습니다.
- 화면 구조 분석을 통해 사용 테이블 및 관계를 상세히 설명하였습니다.
- 커스텀 모드 추가 및 신규 컴포넌트 개발 필요성을 강조하여 향후 개발 방향을 명확히 하였습니다.
- 현재 V2 컴포넌트의 제한 사항과 확장 방안을 정리하여 개발자들이 참고할 수 있도록 하였습니다.
2026-01-30 14:51:09 +09:00
DDD1542 4daa77f9a1 Merge branch 'feature/v2-unified-renewal' of http://39.117.244.52:3000/kjs/ERP-node into feature/v2-renewal
; 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-01-30 14:22:24 +09:00
kjs 4ab2761c82 docs: 비즈니스 로직 요청 양식 검증 및 화면 분석 요약 추가
- 비즈니스 로직 요청 시 필수 양식을 명시하고, 미준수 시 대응 방안을 추가하였습니다.
- 전체 화면 분석 요약을 업데이트하여 컴포넌트 커버리지 및 신규 컴포넌트 개발 우선순위를 명확히 하였습니다.
- 폴더 구조를 정리하고, 각 컴포넌트의 구현 상태를 표기하여 개발자들이 쉽게 참고할 수 있도록 하였습니다.
2026-01-30 14:13:44 +09:00
DDD1542 852de0fb0e feat: V2 레이아웃 처리 개선 및 새로운 V2 레이아웃 데이터 구조 도입
- 기존 레이아웃 처리 로직을 V2 레이아웃에 맞게 수정하였습니다.
- V2 레이아웃에서 layout_data를 조회하고, 변경 여부를 확인하는 로직을 추가하였습니다.
- 레이아웃 데이터의 참조 ID 업데이트 및 flowId, numberingRuleId 수집 기능을 구현하였습니다.
- V2Media 컴포넌트를 통합하여 미디어 관련 기능을 강화하였습니다.
- 레이아웃 처리 시 V2 레이아웃의 컴포넌트 매핑 및 데이터 복사를 효율적으로 처리하도록 개선하였습니다.
2026-01-30 13:38:07 +09:00
juseok2 7a9ec8d02c docs: 품목정보 화면 구현 가이드 업데이트
- 품목정보 화면의 구현 예시를 추가하여 JSON 데이터 사용에 대한 주의사항을 명시하였습니다.
- V2 컴포넌트 목록을 업데이트하고, 사용 가능한 컴포넌트에 대한 설명을 추가하였습니다.
- 화면 구현 시 테이블 구조 분석 및 JSON 구조 작성 방법에 대한 지침을 포함하였습니다.
- 각 컴포넌트의 역할과 사용법을 명확히 하여 개발자들이 쉽게 참고할 수 있도록 하였습니다.
2026-01-30 00:05:21 +09:00
juseok2 6cd416fdaa Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into feature/v2-unified-renewal 2026-01-29 23:38:37 +09:00