Commit Graph

4053 Commits

Author SHA1 Message Date
DDD1542
87a7431e53 [agent-pipeline] pipe-20260317054958-cypk round-3 2026-03-17 15:04:26 +09:00
DDD1542
2b4500a999 [agent-pipeline] pipe-20260317054958-cypk round-2 2026-03-17 15:00:41 +09:00
DDD1542
4db5d73817 [agent-pipeline] pipe-20260317054958-cypk round-1 2026-03-17 14:54:45 +09:00
kjs
9d7ec613db fix: update default visibility settings for buttons in V2SplitPanelLayoutConfigPanel
- Changed default state for the search and add buttons in both left and right panels to false.
- Updated the default state for the edit button in both panels to true.
- Updated the default state for the delete button in both panels to true.

These adjustments aim to improve the initial configuration experience for users by setting more appropriate defaults for button visibility.
2026-03-17 14:31:45 +09:00
kjs
f612aff6fd Merge branch 'barcode' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-17 11:36:33 +09:00
kjs
acc304ccd6 Merge branch 'gbpark-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-17 11:36:15 +09:00
kjs
837e0aca41 refactor: update dynamic form service to utilize V2 layout structure
- Replaced the previous screen layout query with a new query to fetch V2 layout data, ensuring compatibility with the updated layout structure.
- Enhanced component extraction logic to handle button components from the V2 layout, improving the control management process.
- Updated logging to provide clearer insights during component checks and control management execution.

These changes aim to streamline the dynamic form service by leveraging the new V2 layout capabilities, enhancing overall functionality and maintainability.
2026-03-17 11:34:15 +09:00
kjs
e38d0a6992 Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-17 11:31:56 +09:00
kjs
7c96461f59 feat: enhance audit log functionality and file upload components
- Updated the audit log controller to determine super admin status based on user type instead of company code.
- Added detailed logging for column settings updates and batch updates in the table management controller, capturing user actions and changes made.
- Implemented security measures in the audit log service to mask sensitive data for non-super admin users.
- Introduced a new TableCellFile component to handle file attachments, supporting both objid and JSON array formats for file information.
- Enhanced the file upload component to manage file states more effectively during record changes and mode transitions.

These updates aim to improve the audit logging capabilities and file management features within the ERP system, ensuring better security and user experience.
2026-03-17 11:31:54 +09:00
kjs
41a5fe5ea4 Merge remote-tracking branch 'upstream/main' 2026-03-17 09:57:05 +09:00
kjs
176a2c2c37 Merge pull request 'jskim-node' (#419) from jskim-node into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/419
2026-03-17 09:56:32 +09:00
kjs
c35e217001 Merge branch 'main' into jskim-node 2026-03-17 09:56:24 +09:00
kjs
4e65af4919 Merge branch 'gbpark-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-17 09:55:51 +09:00
kjs
1d1f04f854 Merge branch 'mhkim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-17 09:55:33 +09:00
DDD1542
4ba931dc70 2026-03-17 09:54:44 +09:00
kjs
e8dc1a287a Merge branch 'mhkim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-17 09:46:07 +09:00
kmh
cf4296b020 feat: implement pagination settings in split panel layout
- Added pagination configuration options for both left and right panels in the SplitPanelLayoutComponent, allowing for server-side data retrieval in pages.
- Introduced a new PaginationConfig interface to manage pagination settings, including page size.
- Enhanced data loading functions to support pagination, improving data management and user experience.

Made-with: Cursor
2026-03-17 09:44:41 +09:00
SeongHyun Kim
06c52b422f feat: BLOCK DETAIL Phase 4 + 안정화 - 그룹별 타이머, 터치 최적화 UI, DB 저장 버그 수정
pop-work-detail 컴포넌트에 그룹별 타이머 시스템과 터치 최적화 UI를 추가하고,
체크리스트 결과가 DB에 저장되지 않던 버그를 수정하여 안정화를 완료한다.
[그룹별 타이머]
- group-timer API 신규: start/pause/resume/complete 액션 (popProductionController)
- process_work_result에 group_started_at/paused_at/total_paused_time/completed_at 활용
- GroupTimerHeader UI: 순수 작업시간 + 경과시간 이중 표시
- 첫 그룹 "시작" 시 work_order_process.started_at 자동 기록 (공정 시작 자동 감지)
- 공정 완료 시 actual_work_time을 그룹 타이머 합산으로 백엔드 자동 계산
[터치 최적화 UI]
- 12개 영역 전면 스케일업: 버튼 h-11~h-12, 입력 h-11, 체크박스 h-6 w-6
- 사이드바 w-[180px], InfoBar text-sm, 최소 터치 영역 40~44px 확보
- 산업 현장 태블릿 터치 사용 최적화
[DB 저장 버그 수정]
- saveResultValue/handleQuantityRegister: execute-action task 형식 수정
  (fixedValue + lookupMode:"manual" + manualItemField/manualPkColumn:"id")
- 원인: 백엔드가 __cart_row_key를 찾는데 프론트에서 id만 전송하여 lookup 실패
[디자이너 설정 확장]
- displayMode: list/step 전환 설정 추가
- PopWorkDetailConfig: 표시 모드 Select 드롭다운
- types.ts: PopWorkDetailConfig 인터페이스 displayMode 추가
- PopCardListV2Component: parentRow.__processFlow__ 전달 보강
2026-03-17 09:32:59 +09:00
DDD1542
6a50e1e924 feat: add primary key and index toggle functionality to ColumnGrid component
- Introduced `onPkToggle` and `onIndexToggle` props to the `ColumnGrid` component, allowing users to toggle primary key and index states directly from the UI.
- Updated the `TableManagementPage` to handle these new toggle events, enhancing the interactivity and usability of the table management features.

These changes aim to improve the table configuration process within the ERP system, providing users with more control over their table structures.
2026-03-16 18:59:45 +09:00
kjs
8da48bfe9c feat: enhance V2TableListConfigPanel with editable column locking feature
- Added a button to toggle the editable state of columns in the V2TableListConfigPanel, allowing users to lock or unlock editing for specific columns.
- Implemented visual indicators (lock/unlock icons) to represent the editable state of each column, improving user interaction and clarity.
- Enhanced the button's tooltip to provide context on the current state (editable or locked) when hovered.

These updates aim to improve the usability of the table configuration panel by providing users with more control over column editing capabilities.

Made-with: Cursor
2026-03-16 18:45:43 +09:00
DDD1542
43aafb36c1 feat: enhance table management page with improved filtering and UI updates
- Implemented Korean prioritization in table filtering, allowing for better sorting of table names based on Korean characters.
- Updated the UI to a more compact design with a top bar for better accessibility and user experience.
- Added new button styles and functionalities for creating and duplicating tables, enhancing the overall management capabilities.
- Improved the column detail panel with clearer labeling and enhanced interaction for selecting data types and reference tables.

These changes aim to streamline the table management process and improve usability within the ERP system.
2026-03-16 17:58:37 +09:00
DDD1542
a391918e58 [agent-pipeline] pipe-20260316081628-53mz round-1 2026-03-16 17:28:34 +09:00
DDD1542
825f164bde 22 2026-03-16 17:15:12 +09:00
kjs
b4a5fb9aa3 feat: enhance ButtonConfigPanel and V2ButtonConfigPanel with improved data handling
- Updated the ButtonConfigPanel to fetch a larger set of screens by modifying the API call to include a size parameter.
- Enhanced the V2ButtonConfigPanel with new state variables and effects for managing data transfer field mappings, including loading available tables and their columns.
- Implemented multi-table mapping logic to support complex data transfer actions, improving the flexibility and usability of the component.
- Added a dedicated section for field mapping in the UI, allowing users to configure data transfer settings more effectively.

These updates aim to enhance the functionality and user experience of the button configuration panels within the ERP system, enabling better data management and transfer capabilities.

Made-with: Cursor
2026-03-16 16:47:33 +09:00
DDD1542
7bb74ec449 Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into gbpark-node
Made-with: Cursor

; Conflicts:
;	backend-node/src/services/numberingRuleService.ts
2026-03-16 16:39:02 +09:00
DDD1542
dfd26e1933 11 2026-03-16 16:28:42 +09:00
SeongHyun Kim
230d35b03a fix: PopFieldConfig JsonKeySelect - 데이터 없을 때도 Combobox UI 유지
테이블에 데이터가 0건일 때 JsonKeySelect가 plain Input으로 폴백되어
설계 단계에서 Select 박스가 표시되지 않는 문제를 수정한다.
[JsonKeySelect 개선]
- 항상 Combobox(Popover + Command) UI로 렌더링
- keys 있을 때: 기존과 동일한 자동완성 목록 + 검색
- keys 없을 때: "테이블에 데이터가 없습니다" 안내 + Enter로 직접 입력 확정
- 검색 결과 없을 때도 Enter로 자유 입력 가능
[updateSaveMapping 경합 조건 수정]
- onUpdateConfig 두 번 연속 호출 시 React batching으로 첫 번째 호출이
  덮어쓰여지는 문제 수정
- syncAndUpdateSaveMappings에 extraPartial 파라미터 추가하여
  한 번의 onUpdateConfig 호출로 병합
2026-03-16 16:24:27 +09:00
kjs
c0be0d84ad Merge remote-tracking branch 'upstream/main' 2026-03-16 14:53:43 +09:00
kjs
b70fe40621 Merge pull request 'jskim-node' (#418) from jskim-node into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/418
2026-03-16 14:53:13 +09:00
kjs
ec3cb8155f Merge branch 'ycshin-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-16 14:51:51 +09:00
kjs
1a319d1785 feat: enhance V2TimelineSchedulerConfigPanel with filter and view mode options
- Added new filter and linking settings section to the V2TimelineSchedulerConfigPanel, allowing users to manage static filters and linked filters more effectively.
- Introduced view mode options to switch between different display modes in the timeline scheduler.
- Updated the configuration types and added new toolbar action settings to support custom actions in the timeline toolbar.
- Enhanced the overall user experience by providing more flexible filtering and display options.

These updates aim to improve the functionality and usability of the timeline scheduler within the ERP system, enabling better data management and visualization.

Made-with: Cursor
2026-03-16 14:51:34 +09:00
kjs
64c9f25f63 feat: add schedule preview functionality for production plans
- Implemented previewSchedule and previewSemiSchedule functions in the production controller to allow users to preview schedule changes without making actual database modifications.
- Added corresponding routes for schedule preview in productionRoutes.
- Enhanced productionPlanService with logic to generate schedule previews based on provided items and plan IDs.
- Introduced SchedulePreviewDialog component to display the preview results in the frontend, including summary and detailed views of planned schedules.

These updates improve the user experience by providing a way to visualize scheduling changes before applying them, ensuring better planning and decision-making.

Made-with: Cursor
2026-03-16 14:00:07 +09:00
SeongHyun Kim
8ee10e411e fix: POP 뷰어 헤더 제거 + 디자이너-뷰어 그리드 칸 수 불일치 수정
POP 화면 상단 네비게이션 바(POP 대시보드/PC 모드 전환)를 제거하고,
디자이너와 뷰어의 그리드 칸 수가 달라 컴포넌트 배치가 어긋나는 문제를 수정한다.
[헤더 제거]
- "POP 대시보드 | 화면이름 | PC 모드" 바 삭제 (pop-profile 컴포넌트로 대체)
- 미사용 import 정리 (LayoutGrid, Monitor, GAP_PRESETS, GRID_BREAKPOINTS)
[그리드 불일치 수정]
- 문제: 디자이너 태블릿 가로=1024px(38칸), 뷰어 window.innerWidth=1366px(52칸)
- 수정: 뷰어에서 모드별 기준 너비 고정 (tablet_landscape=1024, tablet_portrait=820,
  mobile_landscape=600, mobile_portrait=375)
- rawWidth는 모드 감지 용도로만 사용, viewportWidth는 디자이너와 동일한 기준 너비
2026-03-16 12:09:37 +09:00
DDD1542
e305e78155 Implement Comma Value Resolution in Entity Join Service
- Added a new method `resolveCommaValues` in `EntityJoinService` to handle comma-separated values for entity joins, allowing for individual code resolution and label conversion.
- Integrated the new method into `TableManagementService` to process data after executing join queries.
- Enhanced the `DynamicComponentRenderer` to maintain entity label columns based on existing configurations.

Made-with: Cursor
2026-03-16 11:43:26 +09:00
7e02fff717 fix: update default button size in V2ButtonPrimary component
- Changed the default width of the V2ButtonPrimary component from 140 to 100 pixels to improve UI consistency and responsiveness.
- This adjustment aligns the button size with design specifications for better user experience.
2026-03-16 11:28:03 +09:00
a5890bbd67 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into ycshin-node 2026-03-16 10:45:00 +09:00
kjs
5cdbd2446b Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-16 10:40:11 +09:00
kjs
6505df8555 feat: enhance v2-timeline-scheduler component functionality
- Updated the v2-timeline-scheduler documentation to reflect the latest implementation status and enhancements.
- Improved the TimelineSchedulerComponent by integrating conflict detection and milestone rendering features.
- Refactored ResourceRow and ScheduleBar components to support new props for handling conflicts and milestones.
- Added visual indicators for conflicts and milestones to enhance user experience and clarity in scheduling.

These changes aim to improve the functionality and usability of the timeline scheduler within the ERP system.

Made-with: Cursor
2026-03-16 10:40:10 +09:00
kjs
d3e62912e7 Merge branch 'gbpark-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-16 10:39:52 +09:00
3225a7bb21 feat: add bulk update script for COMPANY_7 button styles
- Introduced a new script `btn-bulk-update-company7.ts` to facilitate bulk updates of button styles for COMPANY_7.
- The script includes functionalities for testing, running updates, creating backups, and restoring from backups.
- Implemented logic to dynamically apply button styles based on action types, ensuring consistent UI across the application.
- Updated documentation to reflect changes in button icon mapping and dynamic loading of icons.

This addition enhances the maintainability and consistency of button styles for COMPANY_7, streamlining the update process.
2026-03-16 10:38:12 +09:00
SeongHyun Kim
224338d75f Merge branch 'ksh-v2-work' into main
POP 디자이너 GRID-V6 + BLOCK DETAIL Phase 2~3 + 낙관적 잠금 기능을 main에 통합한다.
주요 병합 내용:
- GRID-V6 정사각형 블록 그리드 시스템 (842ac27d)
- POP 그리드 명칭 통일 + Dead Code 제거 (320100c4)
- BLOCK DETAIL Phase 2: 생산 공정 백엔드 API (create-work-processes, timer)
- BLOCK DETAIL Phase 3: pop-work-detail 컴포넌트 + 모달 캔버스 시스템
- 낙관적 잠금 + 소유자 기반 액션 제어 + 디자이너 설정 UI
- LOCK-OWNER 카드 비활성화 UI 보완
충돌 해결: 0건 (자동 병합 완료)
2026-03-16 10:37:31 +09:00
SeongHyun Kim
138f309c09 Merge branch 'ksh-partial-quantity-flow' into ksh-v2-work
BLOCK DETAIL Phase 2~3 + 낙관적 잠금 기능을 ksh-v2-work에 통합한다.
주요 병합 내용:
- BLOCK DETAIL Phase 2: 생산 공정 관리 백엔드 API (create-work-processes, timer)
- BLOCK DETAIL Phase 3: pop-work-detail 컴포넌트 + 모달 캔버스 시스템
- 낙관적 잠금 + 소유자 기반 액션 제어 + 디자이너 설정 UI
- LOCK-OWNER 카드 비활성화 UI 누락분 반영
충돌 해결: 0건 (자동 병합 완료)
2026-03-16 10:34:04 +09:00
SeongHyun Kim
3bd0eff82e feat: BLOCK DETAIL Phase 3 - pop-work-detail 컴포넌트 + 모달 캔버스 시스템
세부진행화면(4502)의 프론트엔드 구현: pop-work-detail 컴포넌트 신규 생성과
디자이너 모달 캔버스 편집을 통해, 카드 클릭 시 공정별 체크리스트/검사/실적 상세
작업 화면을 내부 모달로 표시할 수 있게 한다.
[신규] pop-work-detail 컴포넌트 (4파일)
- PopWorkDetailComponent: parentRow → 현재 공정 추출 → process_work_result 조회,
  좌측 사이드바(PRE/IN/POST 3단계 작업항목 그룹) + 우측 체크리스트(5종: check/inspect/
  input/procedure/material) + 타이머 제어(start/pause/resume) + 수량 등록 + 공정 완료
- PopWorkDetailConfig: showTimer/showQuantityInput/phaseLabels 설정 패널
- PopWorkDetailPreview: 디자이너 프리뷰
- index.tsx: PopComponentRegistry 등록 (category: display, touchOptimized)
[모달 캔버스 시스템] PopDesigner.tsx 대규모 리팩토링
- handleMoveComponent/handleResizeComponent/handleRequestResize:
  layout 직접 참조 → setLayout(prev => ...) 함수형 업데이트로 전환
  + activeCanvasId 분기: main이면 기존 로직, modal-*이면 modals 배열 내 해당 모달 수정
- PopCardListV2Config: 모달 캔버스 생성/열기 버튼 (usePopDesignerContext 연동)
- PopCardListV2Component: modal-* screenId → setSharedData + __pop_modal_open__ 이벤트
- PopViewerWithModals: parentRow prop + fullscreen 모달 지원 + flex 레이아웃
[기타]
- ComponentPalette: pop-work-detail 팔레트 항목 + ClipboardCheck 아이콘
- pop-layout.ts: PopComponentType에 pop-work-detail 추가, 기본 크기 38x26
- PopRenderer: COMPONENT_TYPE_LABELS에 pop-work-detail 추가
- types.ts: PopWorkDetailConfig 인터페이스
- PopCanvas.tsx: activeLayout.components 참조 수정 (모달 캔버스 호환)
DB 변경 0건. 백엔드 변경 0건.
2026-03-16 10:32:58 +09:00
kjs
2bb308b87e Merge remote-tracking branch 'upstream/main' 2026-03-16 09:36:27 +09:00
kjs
073899c555 Merge remote-tracking branch 'upstream/main' 2026-03-16 09:36:19 +09:00
kjs
2d7a30a6f5 Merge pull request 'jskim-node' (#417) from jskim-node into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/417
2026-03-16 09:35:46 +09:00
kjs
40620a5674 Merge branch 'main' into jskim-node 2026-03-16 09:35:39 +09:00
kjs
5908801823 Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-16 09:35:24 +09:00
kjs
79e3420ff3 refactor: update production controller to use AuthenticatedRequest
- Modified the production controller to replace the generic Request type with AuthenticatedRequest for better type safety and to ensure user authentication is handled correctly.
- This change enhances the security and clarity of the API endpoints related to production plan management, ensuring that user-specific data is accessed appropriately.

Made-with: Cursor
2026-03-16 09:35:23 +09:00
kjs
81a65f819c Merge remote-tracking branch 'upstream/main' 2026-03-16 09:32:34 +09:00