Commit Graph

3440 Commits

Author SHA1 Message Date
kjs
cede62bd9c fix: Correctly close the initializeServices function in app.ts
Some checks failed
Build and Push Images / build-and-push (push) Failing after 52s
- Fixed a syntax error by properly closing the initializeServices function.
- This change ensures that the application initializes services correctly without any runtime issues.
2026-03-05 19:38:18 +09:00
kjs
86783d8fc8 Merge remote-tracking branch 'upstream/main'
Some checks failed
Build and Push Images / build-and-push (push) Failing after 1m49s
2026-03-05 19:31:14 +09:00
kjs
ea0123d6cc Merge pull request 'jskim-node' (#404) from jskim-node into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/404
2026-03-05 19:30:38 +09:00
kjs
93eaf59966 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-05 19:27:51 +09:00
kjs
c56f434ff1 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-05 19:27:33 +09:00
kjs
fdd99d2e99 Merge remote-tracking branch 'upstream/main'
Some checks failed
Build and Push Images / build-and-push (push) Failing after 53s
2026-03-05 19:25:04 +09:00
kjs
f1ae6c275d Merge remote-tracking branch 'upstream/main' 2026-03-05 19:22:23 +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
kjs
0e8c68a9ff feat: Add multi-table Excel upload functionality
- Implemented new API endpoints for multi-table Excel upload and auto-detection of table chains.
- The GET endpoint `/api/data/multi-table/auto-detect` allows automatic detection of foreign key relationships based on the provided root table.
- The POST endpoint `/api/data/multi-table/upload` handles the upload of multi-table data, including validation and logging of the upload process.
- Updated the frontend to include options for multi-table Excel upload in the button configuration panel and integrated the corresponding action handler.

This feature enhances the data management capabilities by allowing users to upload and manage data across multiple related tables efficiently.
2026-03-05 19:17:35 +09:00
bfd97c9717 바코드 업데이트 및 AI LLm 적용용 2026-03-05 19:08:08 +09:00
SeongHyun Kim
a81cb7ca19 Merge branch 'ksh-v2-work' 2026-03-05 19:04:54 +09:00
SeongHyun Kim
12a8290873 feat(pop): 설정 패널 아코디언 접기/펼치기 일관성 + sessionStorage 상태 기억
설정 패널을 열 때 섹션이 일부는 펼쳐져 있고 일부는 접혀 있어
일관성이 없던 UX를 개선하고, 사용자가 펼친 섹션을 탭 세션 내에서 기억한다.
- useCollapsibleSections 커스텀 훅 생성 (sessionStorage 기반, 초기 모두 접힘)
- PopCardListConfig: CollapsibleSection에 sectionKey/sections prop 패턴 적용
- PopFieldConfig: SaveTabContent 5개 고정 섹션 훅 적용,
  SectionEditor 초기값 접힘으로 변경
- PopDashboardConfig: PageEditor 초기값 접힘으로 변경
2026-03-05 18:54:29 +09:00
SeongHyun Kim
7a9a705f19 feat(pop-card-list): 포장 요약 바 UI + 카드 레이아웃 flex column 개선
포장 입력 완료 시 카드 하단에 포장 내역 요약을 표시하여
디자이너가 포장 계산 결과를 즉시 확인할 수 있도록 한다.
- 카드 하단에 포장 요약 바 추가 (emerald 테마, 포장완료 뱃지)
- height(고정) -> minHeight(유동)으로 카드 자연 성장 허용
- gridAutoRows를 minmax(높이, auto)로 변경 (그리드 셀도 성장)
- 카드 flex flex-col + 본문 flex-1 overflow-hidden 구조
- 오른쪽 버튼 영역 justify-center -> justify-start (위쪽 정렬)
2026-03-05 18:34:45 +09:00
SeongHyun Kim
85bf4882a8 fix(pop-card-list): 미입고 formula 필드 입력값 연동 복원
설정 UI에서 formulaRightType 기본값을 "input"으로 표시하지만
DB에 명시적으로 저장하지 않아, 렌더링 시 undefined === "input"이
false가 되어 입력필드 연동이 작동하지 않던 버그를 수정한다.
- FieldRow: (field.formulaRightType || "input") === "input"으로
  기본값 fallback 추가
2026-03-05 18:00:17 +09:00
SeongHyun Kim
b2b0b575df feat(pop): 버튼 v2 통합 아키텍처 + data-update 연산 확장 (BLOCK M + N)
버튼 컴포넌트의 실행 경로를 프리셋별 파편화에서 단일 작업 목록(task-list)
패턴으로 통합하고, 부분입고 시나리오 지원을 위해 data-update 연산을 확장한다.
[BLOCK M: 버튼 v2 통합 아키텍처]
- ButtonTask 타입 체계 정의 (10종 작업 타입 + UpdateOperation)
- PopButtonConfigV2 + migrateButtonConfig 자동 마이그레이션
- 설정 UI: 빠른 시작 + 외형 + 작업 목록 에디터
- executeTaskList 범용 실행 함수 (데이터 작업 일괄 백엔드 전달)
- collect_data 프로토콜에 cartChanges 포함
- 백엔드 tasks 배열 기반 처리 (data-save/update/delete/cart-save)
- useCartSync.getChanges() 추출 + 카드리스트 응답 포함
[BLOCK N: data-update 연산 확장]
- UpdateOperationType에 multiply, divide, db-conditional 추가
- ButtonTask에 db-conditional 전용 필드 5개 추가
  (compareColumn, compareOperator, compareWith, dbThenValue, dbElseValue)
- 설정 UI: 드롭다운 3개 옵션 + DB 컬럼 비교 설정 폼
- 백엔드 SQL: multiply, divide(0-division 방어),
  db-conditional(CASE WHEN 배치 UPDATE)
- 기존 add/subtract에 ::numeric 캐스팅 일관 적용
2026-03-05 17:22:30 +09:00
kjs
3a409e856b Merge remote-tracking branch 'upstream/main'
Some checks failed
Build and Push Images / build-and-push (push) Failing after 49s
2026-03-05 13:33:25 +09:00
kjs
f7bd2f6fa3 Merge pull request 'jskim-node' (#402) from jskim-node into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/402
2026-03-05 13:32:16 +09:00
kjs
7e2ae4335e Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-05 13:31:39 +09:00
kjs
d58131d88d Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-05 13:31:33 +09:00
kjs
1917b7253d Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-05 13:31:19 +09:00
kjs
9f9b130738 Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-05 13:31:13 +09:00
kjs
f9b1df89e7 Merge remote-tracking branch 'upstream/main' 2026-03-05 13:30:15 +09:00
SeongHyun Kim
91c9dda6ae feat(pop-field): 숨은 필드 고정값 + Select 데이터 연동(linkedFilters) 구현
입고 확정 시 status/inbound_status가 빈 값으로 저장되는 문제(FIX-3)와
창고내 위치 셀렉트가 전체 위치를 보여주는 문제를 해결한다.
[FIX-3: 숨은 필드 고정값]
- types.ts: HiddenValueSource에 "static" 추가, staticValue 필드
- PopFieldConfig: 숨은 필드 설정 UI에 "고정값" 모드 추가
- PopFieldComponent: collected_data에 hiddenMappings 포함
- popActionRoutes: INSERT 시 hiddenMappings 값 주입
[Select 데이터 연동 - BLOCK L]
- types.ts: SelectLinkedFilter 인터페이스 + FieldSelectSource.linkedFilters
- PopFieldConfig: "데이터 연동" 토글 + LinkedFiltersEditor 컴포넌트
  (섹션 내 필드 선택 → 필터 컬럼 매핑)
- PopFieldComponent: fieldIdToName 맵으로 id-name 변환,
  SelectFieldInput에서 연동 필드 값 변경 시 동적 필터 재조회,
  상위 미선택 시 안내 메시지, 상위 변경 시 하위 자동 초기화
2026-03-05 12:13:07 +09:00
DDD1542
d43f0821ed refactor: Update authentication handling in authRoutes and useAuth hook
- Replaced the middleware `checkAuthStatus` with the `AuthController.checkAuthStatus` method in the authentication routes for improved clarity and structure.
- Simplified token validation logic in the `useAuth` hook by removing unnecessary checks for expired tokens, allowing the API client to handle token refresh automatically.
- Enhanced logging for authentication checks to provide clearer insights into the authentication flow and potential issues.
- Adjusted the handling of user authentication status to ensure consistency and reliability in user state management.

This refactor streamlines the authentication process and improves the overall maintainability of the authentication logic.
2026-03-05 11:51:05 +09:00
DDD1542
4b8f2b7839 feat: Update screen reference handling in V2 layouts
- Enhanced the `ScreenManagementService` to include updates for V2 layouts in the `screen_layouts_v2` table.
- Implemented logic to remap `screenId`, `targetScreenId`, `modalScreenId`, and other related IDs in layout data.
- Added logging for the number of layouts updated in both V1 and V2, improving traceability of the update process.
- This update ensures that screen references are correctly maintained across different layout versions, enhancing the overall functionality of the screen management system.
2026-03-05 11:30:31 +09:00
DDD1542
4f639dec34 feat: Implement screen group screens duplication in menu copy service
- Added a new method `copyScreenGroupScreens` to handle the duplication of screen group screens during the menu copy process.
- Implemented logic to create a mapping of screen group IDs from the source to the target company.
- Enhanced the existing menu copy functionality to include the copying of screen group screens, ensuring that the screen-role and display order are preserved.
- Added logging for better traceability of the duplication process.

This update improves the menu copy service by allowing for a more comprehensive duplication of associated screen group screens, enhancing the overall functionality of the menu management system.
2026-03-05 10:09:37 +09:00
DDD1542
772514c270 Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into gbpark-node 2026-03-05 09:59:23 +09:00
DDD1542
6f7e2b1b0c Merge remote-tracking branch 'origin/feature/v2-renewal' 2026-03-05 01:31:02 +09:00
DDD1542
b9080d03f6 Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into gbpark-node 2026-03-05 01:30:07 +09:00
DDD1542
8d0f2dbb27 fix: 멀티 레이어 화면 복제 버그 수정
- menuCopyService: 모든 레이어 순회 처리, ON CONFLICT 제약조건 수정
- screenManagementService: layer_id 하드코딩 제거, 멀티 레이어 순회
- screen_conditional_zones 복제 로직 추가 (zoneIdMap 생성)
- condition_config의 zone_id 재매핑 로직 추가
- 레이어 수 변경 감지를 위한 변경 비교 로직 보강

Made-with: Cursor
2026-03-05 01:29:56 +09:00
kjs
6344474721 Merge remote-tracking branch 'upstream/main'
Some checks failed
Build and Push Images / build-and-push (push) Failing after 46s
2026-03-04 23:43:42 +09:00
kjs
a69b135b65 Merge pull request 'feature/v2-renewal' (#401) from feature/v2-renewal into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/401
2026-03-04 23:43:25 +09:00
kjs
fcb122c58b Merge branch 'main' into feature/v2-renewal 2026-03-04 23:43:18 +09:00
DDD1542
e11a7b1237 Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into gbpark-node 2026-03-04 23:42:45 +09:00
DDD1542
366cfcde60 feat: Enhance menu copy and screen sync services with new fields
- Added `menu_icon` and `screen_group_id` fields to the Menu interface in `menuCopyService.ts` to support additional menu attributes.
- Updated the SQL insert statements in both `menuCopyService.ts` and `menuScreenSyncService.ts` to include the new fields, ensuring that menu icons and screen group IDs are properly handled during menu creation and synchronization.
- These enhancements improve the flexibility and functionality of the menu management system.
2026-03-04 23:42:43 +09:00
kjs
17b4e5e6ff Merge remote-tracking branch 'upstream/main'
All checks were successful
Build and Push Images / build-and-push (push) Successful in 10m32s
2026-03-04 23:03:35 +09:00
kjs
440ad1e425 Merge remote-tracking branch 'upstream/main' 2026-03-04 23:03:17 +09:00
kjs
5b6b4be73c Merge pull request 'feature/v2-renewal' (#400) from feature/v2-renewal into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/400
2026-03-04 23:03:02 +09:00
kjs
b40f6c28dc Merge branch 'main' into feature/v2-renewal 2026-03-04 23:02:27 +09:00
DDD1542
d31568b1bd feat: Enhance menu and screen synchronization services with new fields
- Added `menu_icon` and `screen_group_id` fields to the `Menu` interface in `menuCopyService.ts` to support additional menu attributes.
- Updated the SQL insert statements in both `menuCopyService.ts` and `menuScreenSyncService.ts` to include the new fields, ensuring that menu icons and screen group IDs are properly handled during menu creation and synchronization.
- These enhancements improve the flexibility and functionality of the menu management system, allowing for richer menu configurations.
2026-03-04 22:46:02 +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
ca18778676 Merge remote-tracking branch 'upstream/main'
Some checks failed
Build and Push Images / build-and-push (push) Failing after 56s
2026-03-04 21:17:26 +09:00
kjs
818cc80514 Merge pull request 'jskim-node' (#399) from jskim-node into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/399
2026-03-04 21:17:11 +09:00
kjs
58a62a6d4e Merge branch 'main' into jskim-node 2026-03-04 21:17:04 +09:00
kjs
b950a102f1 Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-04 21:16:48 +09:00
kjs
a6d6b03195 fix: Update resource naming conventions in controllers
- Refactored resource naming in the CommonCodeController to use `category_code` and `category_name` for consistency.
- Adjusted the NumberingRuleController to replace `prefix` with `separator` in the changes log for clarity.
- Modified the ScreenManagementController to utilize `screenId` instead of `id` for resource identification, ensuring uniformity across the application.
- These changes enhance the readability and maintainability of the codebase by standardizing naming conventions.
2026-03-04 21:16:46 +09:00
kjs
599f702502 Merge remote-tracking branch 'upstream/main'
Some checks failed
Build and Push Images / build-and-push (push) Failing after 47s
2026-03-04 21:13:25 +09:00
kjs
359e333370 Merge pull request 'jskim-node' (#398) from jskim-node into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/398
2026-03-04 21:10:43 +09:00
kjs
95c42a971c Merge branch 'main' into jskim-node 2026-03-04 21:09:55 +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