Commit Graph

4059 Commits

Author SHA1 Message Date
kjs
07777e314b fix: 분할패널 V2 설정에서 컬럼 선택 기능 복원
- 추가 탭에 PanelColumnSection 컬럼 선택 기능 추가
- 우측 패널 custom 모드에서도 컬럼 설정 표시되도록 조건 제거

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 14:04:51 +09:00
kjs
86f9040e40 Merge pull request '배포: v2-split-panel-layout 컴포넌트 개선' (#429) from jskim-node into main 2026-03-26 12:13:20 +09:00
kjs
0a6922edeb feat: enhance v2-split-panel-layout component
SplitPanelLayoutComponent, ConfigPanel, types 개선

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 12:12:56 +09:00
kjs
f9e243d439 Merge pull request 'jskim-node' (#428) from jskim-node into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/428
2026-03-26 09:31:19 +09:00
kjs
8c80c854cc Merge branch 'mhkim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-26 09:30:58 +09:00
kjs
1bf91bf043 Merge branch 'mhkim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-26 09:30:17 +09:00
kjs
348da95823 Merge branch 'mhkim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-25 18:48:37 +09:00
kjs
6de31eb55a Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-25 18:47:51 +09:00
kjs
70e040db39 Enhance user management and token invalidation features
- Added comprehensive validation for user data during registration and updates, including email format, company code existence, user type validation, and password length checks.
- Implemented JWT token invalidation for users when their status changes or when roles are updated, ensuring security and compliance with the latest policies.
- Introduced a new TokenInvalidationService to manage token versioning and invalidation processes efficiently.
- Updated the admin controller to provide detailed error messages and success responses for user status changes and validations.
- Enhanced the authentication middleware to check token versions against the database, ensuring that invalidated tokens cannot be used.

This commit improves the overall security and user management experience within the application.
2026-03-25 18:47:50 +09:00
kmh
02ac36c94f Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into mhkim-node 2026-03-25 18:39:07 +09:00
SeongHyun Kim
8db6b4984b feat: pop-work-detail에 PLC 데이터 섹션 추가
- types.ts: PlcDataConfig 인터페이스 추가, ResultSectionConfig에 plcConfig 필드 추가
- PopWorkDetailConfig.tsx: PLC 데이터 설정 패널 구현
  - 외부 DB 연결 선택 -> 테이블 -> 컬럼 순차 선택
  - 디바이스/태그 유니크값 자동 조회
  - 표시 설정 (라벨, 단위, 갱신주기, 표시방식)
  - 매핑 저장 설정 (대상 테이블/컬럼, 모드)
- PopWorkDetailComponent.tsx: PLC 데이터 런타임 표시 구현
  - 외부 DB에서 값 주기적 폴링
  - 큰 숫자/게이지 표시 + PLC 자동 배지
  - 수동 입력 fallback 제공
  - 매핑 저장 ON 시 값 변경 시 대상 테이블에 저장
2026-03-25 17:26:51 +09:00
SeongHyun Kim
49da393f17 fix: PopFieldComponent preview fetch에 json_extract_lookup 처리 추가
컴포넌트 마운트 시 cart_items.row_data에서 코드값을 추출한 후
참조 테이블에서 표시값을 조회하는 json_extract_lookup을
preview fetch에도 추가한다.
2026-03-25 16:08:32 +09:00
SeongHyun Kim
dd3b226917 feat(pop-profile): 앱 모드(풀스크린) 메뉴 항목 추가
POP 프로필 팝오버에 "앱 모드" 메뉴를 추가한다.
Fullscreen API로 브라우저를 전체화면 전환하여 앱처럼 사용 가능.
- showAppMode 설정 옵션 추가 (기본 활성화)
- 풀스크린 진입: document.documentElement.requestFullscreen()
- 풀스크린 해제: document.exitFullscreen()
- 상태에 따라 아이콘/텍스트 전환 (Maximize2/Minimize2, 앱 모드/앱 모드 해제)
- fullscreenchange 이벤트 리스너로 상태 동기화
- 디자이너 설정 패널에 "앱 모드 (풀스크린)" 토글 추가
2026-03-25 15:54:26 +09:00
kjs
0852361e92 Merge pull request 'jskim-node' (#427) from jskim-node into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/427
2026-03-25 15:19:14 +09:00
kjs
8fdbbb7f41 Merge branch 'main' into jskim-node 2026-03-25 15:19:05 +09:00
kjs
782ebb1b33 Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-25 15:18:40 +09:00
kjs
df6c479589 Update project memory and enhance table settings functionality
- Updated project memory configuration to reflect recent access counts and timestamps for various components.
- Modified SQL queries in the processInfoController to utilize the correct equipment management table for improved data retrieval.
- Enhanced the TableManagementService to automatically fill display columns for entity types during both creation and update processes.
- Introduced new TableSettingsModal components across multiple pages for better user control over table configurations.
- Improved the DynamicSearchFilter component to accept external filter configurations, enhancing the filtering capabilities for various data grids.
2026-03-25 15:18:38 +09:00
SeongHyun Kim
6262ddb76b feat(pop-work-detail): combined-final 디자인 시안 적용 — 사이드바 레이아웃
확정된 combined-final.html 시안을 기반으로 PopWorkDetailComponent 전면 리디자인:
레이아웃 구조 변경:
- 탭 바 → 좌측 사이드바(w-52) + 우측 콘텐츠 영역 구조로 전환
- 모달 헤더: "작업 상세" + 작업지시번호 + 닫기(X) 버튼
- 정보바: #1a1a2e 다크 배경, gap-8 간격, label(white/40) + value(white)
- 사이드바: 페이즈별 그룹 (아이콘 + 상태색 + 진행률), 실적 그룹 포함
- KPI 카드: 콘텐츠와 함께 스크롤 (44px/800weight, tabular-nums, divider)
- 풋터: 48px 높이 3버튼 (border-2 + rounded-xl)
스크롤 구조:
- 사이드바: overflow-y-auto (자체 스크롤, thin scrollbar)
- 콘텐츠: overflow-y-auto (KPI + 체크리스트 + 이력 함께 스크롤)
- 정보바 + 풋터: flex-shrink-0 (고정)
스타일 변경:
- DESIGN 토큰: kpi.valueSize 40→44, weight 700→800, section.titleSize 16→13
- 섹션 제목: text-xs uppercase tracking-widest text-gray-400
- 실적 입력: native input + rounded-xl, 2xl font, color-coded borders
- 불량 유형: 카드형 UI (rounded-xl border, severity badge)
- 등록 이력: table 형태 (차수/생산수량/양품/불량/누적/시각)
- GroupTimerHeader: px-8 간격, 미니멀 스타일
기능 유지:
- step 모드 + list 모드 모두 사이드바 구조 안에서 정상 동작
- 체크리스트 입력/저장, 그룹 타이머, 실적 등록/이력 모두 보존
- 2단계 확인 (작업완료), 불량등록 연동 유지
2026-03-25 15:01:53 +09:00
kmh
e67e43cd7d feat: update shipping-plan page and FieldDetailSettingsModal
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 14:36:57 +09:00
kmh
48af85c713 Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into mhkim-node 2026-03-25 14:36:47 +09:00
kjs
d674d88d1e Merge pull request 'jskim-node' (#426) from jskim-node into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/426
2026-03-25 11:45:36 +09:00
kjs
bc186111ef Merge branch 'main' into jskim-node 2026-03-25 11:45:27 +09:00
kjs
69c5a78753 Enhance packaging and department management features
- Updated SQL queries in the packaging controller to include item details and packaging unit information through LEFT JOINs for improved data retrieval.
- Enhanced the packaging page with a new search input for real-time item matching, allowing users to search by item code or name dynamically.
- Refactored department management to use a more consistent state management approach, including renaming state variables for clarity and updating the user modal functionality for better user experience.
- Improved the overall layout and responsiveness of the packaging and department pages, ensuring a more user-friendly interface.
2026-03-25 11:44:49 +09:00
SeongHyun Kim
bb6e17ec28 refactor(pop-work-detail): 사이드바→탭 전환, KPI 카드, 풋터 액션바 도입
리서치 반영 UX 구조 대폭 변경:
- 좌측 사이드바(220px) → 상단 탭 바(48px)로 전환 (작업 전|작업 중|작업 후|실적)
- 탭마다 진행률 표시 (예: "작업 전 2/5")
- 고정 헤더: 진한 배경(#263238) + 흰색 텍스트로 작업 정보 표시
- KPI 카드 상시 표시: 접수량/작업완료/잔여/불량 (40px bold, 색상 구분)
- 고정 풋터 액션바: 일시정지(황)/불량등록(적)/작업완료(녹) 3버튼
- 작업완료 2단계 확인 (클릭 → "정말 완료?" 확인)
- 배경색 #F5F5F5 (공장 조명 눈부심 방지)
- 체크리스트 행: 좌측 상태 바 (완료=녹, 필수=적, 기본=회)
- ChecklistRowItem 래퍼로 행 전체 터치 영역 + 시각 피드백
- DESIGN 토큰 확장: tab, footer, header, kpi, bg 추가
- COLORS 확장: kpiInput, kpiComplete, kpiRemaining, kpiDefect 추가
- step 모드와 list 모드 모두 탭 구조 안에서 정상 동작
2026-03-25 11:30:54 +09:00
kjs
d5650c5797 Merge branch 'mhkim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-25 11:03:41 +09:00
kjs
0775a45606 Enhance packaging page with popover and command components
- Integrated Popover and Command components for improved item selection in the packaging page.
- Replaced the previous search input with a more dynamic and user-friendly popover interface for selecting packaging items.
- Updated state management to handle popover visibility and item selection more effectively.
- Enhanced user experience by providing real-time search capabilities within the popover for packaging items.
2026-03-25 11:03:11 +09:00
SeongHyun Kim
525237d42d style(pop-work-detail): ISA-101 디자인 토큰 도입 및 크기 수정
- DESIGN 상수 도입 (button, input, stat, section, sidebar, nav, infoBar, defectRow)
- COLORS 상수 도입 (good, defect, complete, warning, info)
- 버튼 높이: 44px → 56px (ISA-101 장갑 터치 기준)
- 핵심 숫자(수량/실적): 18px → 36px (2-3m 가독성)
- 섹션 제목/라벨: 14px → 16px (1m 가독성)
- 입력 필드 높이: 44px → 56px
- 불량 유형 행 높이: 40px → 56px
- 사이드바 너비: 208px → 220px, 항목 패딩 확대
- 기능 변경 없음 (디자인만 수정)
2026-03-25 10:57:29 +09:00
wace
86e64492cf Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into mhkim-node 2026-03-25 10:49:50 +09:00
kjs
e2f18b19bc Implement outbound management features with new routes and controller
- Added outbound management routes for listing, creating, updating, and deleting outbound records.
- Introduced a new outbound controller to handle business logic for outbound operations, including inventory updates and source data retrieval.
- Enhanced the application by integrating outbound management functionalities into the existing logistics module.
- Improved user experience with responsive design and real-time data handling for outbound operations.
2026-03-25 10:48:47 +09:00
wace
7c5e9b0c46 Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into mhkim-node 2026-03-25 10:08:37 +09:00
wace
0fd0a43370 feat: enhance v2 components and entity join functionality
- Add entity join controller/routes enhancements
- Improve table management and category value services
- Update v2 table list, card display, search widget components
- Improve split panel layout responsiveness

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 09:54:18 +09:00
SeongHyun Kim
b677840952 chore: Playwright 테스트 파일을 관제탑(My-agent)으로 이관
테스트 파일은 ERP-node 프로젝트가 아닌 My-agent에서 관리한다.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 19:23:55 +09:00
SeongHyun Kim
2da1532e65 chore: .gitignore에 Playwright 테스트 파일 제외
테스트 파일은 My-agent 관제탑에서 별도 관리한다.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 19:23:14 +09:00
SeongHyun Kim
e8fe077369 chore: .gitignore에 test-results, .cursor 추가
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 19:16:24 +09:00
SeongHyun Kim
bda77ef844 chore: Playwright 테스트 설정 및 E2E 테스트 추가
pop-cart-outbound 브라우저 테스트 시나리오 10개 포함.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 19:16:24 +09:00
SeongHyun Kim
a8bb72050f Merge branch 'feature/fix-4579-customer-name' into ksh-cart-outbound-test 2026-03-24 19:14:42 +09:00
SeongHyun Kim
9afe98ec60 feat: pop-field에 json_extract_lookup valueSource 추가
cart_items.row_data에서 코드값(partner_id)을 추출한 후
참조 테이블(customer_mng)에서 표시값(customer_name)을 조회하는
json_extract_lookup 기능을 추가한다.
화면 4579(출고 확정)에서 거래처명이 표시되지 않는 문제를 해결한다.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 19:14:34 +09:00
SeongHyun Kim
4c113f2b8e feat: pop-cart-outbound 출고 전용 장바구니 카드 컴포넌트 추가
출고(판매/기타/외주) 전용 카드 리스트 컴포넌트를 신규 생성한다.
- 세로형 카드 레이아웃: 헤더 + 스탯 그리드 + 수량 입력 + 담기/취소
- ISA-101 산업 현장 디자인 토큰 (56px 버튼, 36px 숫자)
- useCartSync 훅 연동, 이벤트 버스 filter/collect/save 지원
- 디자이너 설정 패널 3탭 (데이터/카드/장바구니)
- React key prop fallback 패턴 적용 (sf.id || idx)
- PopComponentType, ComponentPalette, PopRenderer 레지스트리 등록
- @playwright/test devDependency 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 18:34:05 +09:00
SeongHyun Kim
8ee6d75b3d fix: pop-button showCartBadge 속성으로 장바구니 모드 활성화
cart-save 태스크 없이 배지만 표시하는 경우에도 isCartMode가
활성화되도록 showCartBadge 속성 조건을 추가한다.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 18:33:53 +09:00
SeongHyun Kim
7e54940963 fix: 가나다 필터 검색어 입력 시 전체 범위 검색으로 수정
검색어 입력 시 activeFilterTab(초성/알파벳) 필터가 동시 적용되어
검색 결과가 현재 탭 내로 제한되던 문제를 수정한다.
searchText가 있으면 필터 탭을 무시하고 전체 데이터에서 검색한다.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 18:33:47 +09:00
kjs
5d4cf8d462 Add equipment and department management pages with comprehensive features
- Introduced a new equipment information page that displays a list of equipment alongside inspection items and consumables.
- Implemented dynamic loading of categories for equipment types and inspection methods to enhance data representation.
- Added functionality for equipment editing, inspection item management, and consumable tracking.
- Introduced a department management page that allows for department registration and user assignment.
- Enhanced user experience with responsive design, modals for data entry, and real-time data updates.
2026-03-24 18:25:46 +09:00
kjs
f1ebcf7dee Add sales item page with comprehensive features for item and customer management
- Introduced a new sales item page that displays a list of items alongside customer information.
- Implemented dynamic loading of item categories and customer mappings for enhanced data representation.
- Integrated various UI components such as DataGrid, Dialogs, and Selects for improved user interaction.
- Added functionality for item editing, customer selection, and Excel upload capabilities for batch processing.
- Enhanced the overall user experience with responsive design and real-time data updates.
2026-03-24 16:12:32 +09:00
kjs
1c562fa854 Update item info and sales order pages with new components and functionality
- Updated the item information page to include category code to label conversion for better data representation.
- Enhanced the sales order page by integrating a fullscreen dialog for improved user experience during order registration and editing.
- Added dynamic loading of delivery options based on selected customers to streamline the order process.
- Introduced a new FullscreenDialog component for consistent fullscreen behavior across modals.
- Implemented validation utilities for form fields to ensure data integrity during user input.
2026-03-24 15:32:56 +09:00
SeongHyun Kim
cbe3242f3a fix: Docker 환경 health check package.json 경로 오류 수정
require("../../package.json")이 Docker 컨테이너(/app/src/)에서
모듈을 찾지 못해 서버가 크래시하는 문제를 try-catch로 해결한다.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 11:59:45 +09:00
SeongHyun Kim
29640063a8 merge: health-check-version (자동 파이프라인) 2026-03-24 11:50:31 +09:00
SeongHyun Kim
d061240498 feat: add version info to health check endpoint
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 11:37:54 +09:00
kjs
ec7308bf43 Update project memory configuration and add new components for shipping plans
- Updated project memory settings, including last scanned timestamp and project root path.
- Added new session files to track session data and state.
- Introduced ConfirmDialog and DataGrid components for improved user interaction and data management.
- Implemented ShippingPlanBatchModal and ShippingPlanModal components for batch processing and management of shipping plans.
- Enhanced sales order page with dynamic data handling and multi-select deletion functionality.
2026-03-24 11:36:00 +09:00
kjs
3f8204e662 Add item information and sales order pages with dynamic search filter component
- Introduced new pages for item information and sales orders, enhancing the master data management capabilities.
- Implemented a dynamic search filter component to allow users to customize their search criteria, including text, select, and date filters.
- Integrated category loading for filter options and ensured real-time filtering functionality.
- Enhanced user experience with modals for item registration and editing, along with Excel upload capabilities for batch processing.
2026-03-23 22:32:49 +09:00
kjs
074626426b Enhance production plan service by adding lead time handling. Implemented checks for lead time column in item_info and adjusted scheduling logic accordingly. Updated frontend to reflect lead time in production plan management and shipping order pages, including Excel upload functionality for batch processing. 2026-03-23 20:39:07 +09:00
kjs
cab0342081 Refactor AlertDialog and Dialog components to improve tab management and visibility handling. Updated effectiveOpen logic and adjusted display styles based on tab activity. 2026-03-23 15:22:16 +09:00