Commit Graph

1619 Commits

Author SHA1 Message Date
SeongHyun Kim 6fe7bfbefc feat: pop-card-list 업그레이드 — cart-outbound 삭제 + 프리셋 + 검사 연동 + UI 수정
- pop-cart-outbound 컴포넌트 완전 삭제 (4개 화면 pop-card-list로 교체 완료)
- 레지스트리/팔레트/타입에서 cart-outbound 참조 제거
- PopRenderer 뷰모드 label prop 제거 (컴포넌트 라벨 노출 버그 수정)
- dataFetcher SUM/AVG varchar CAST 처리 (Dashboard 500 수정)
- PopCardListConfig 장바구니 목록모드 섹션 프리셋 사용 시 숨김
- types.ts에 CardListPresetMode, CardListInspectionConfig 타입 추가
2026-03-27 18:11:08 +09:00
SeongHyun Kim eacfe60f89 WIP: preset + inspection (임시, 나중에 squash) 2026-03-27 17:05:36 +09:00
SeongHyun Kim 0aef19578a Merge remote-tracking branch 'origin/main' 2026-03-27 10:56:31 +09:00
SeongHyun Kim 590ae8fbb7 fix: pop-work-detail 버튼/입력 크기 원복 (design-v2-final)
- DESIGN.button.height: 56 → 60 원복
- DESIGN.input.height: 56 → 52 원복
- GlossyButton default minHeight: 56 → 60, fontSize: 20 → 18
- 타이머 버튼(시작/일시정지/재개/완료): minHeight 56 → 48, fontSize 20 → 16 원복
- GroupCompleteButton: minHeight 56 → 64, fontSize 20 → 18 원복
- InspectNumericInput 저장버튼: minHeight 56 → 48, fontSize 20 → 16
- InspectNumericInput 입력필드: height 56 → 48
- InspectSelectInput 버튼: minHeight 56 → 52, fontSize 20 → 16
- InspectTextInput 입력/버튼: height 56 → 48, fontSize 20 → 15
- MaterialInputOnly 입력/버튼: height 56 → 48, fontSize 20 → 15
- ResultInputOnly 입력/버튼: height 56 → 44, fontSize 20 → 15
- CheckInputOnly 체크박스: h-10 w-10 → h-8 w-8
- ProcedureInputOnly 체크박스: h-10 w-10 → h-5 w-5
- InputOnlyItem 입력필드: height 56 → 48
- O/X 버튼(InspectOXInput): 56px, 20px 유지 (변경 없음)
2026-03-26 18:09:43 +09:00
SeongHyun Kim 5cad4ed7fd feat(pop-work-detail): 모든 그룹 작업완료 버튼 항상 표시 + 타이머 완료 버튼 추가
- GroupCompleteButton: !isGroupCompleted 조건 제거 → 모든 그룹에서 항상 표시
  - 이미 완료된 그룹에서는 "작업완료됨" 완료 표시 렌더링
  - isGroupCompleted prop 추가
- GroupTimerHeader: isGroupStarted 상태(진행 중/일시정지)에 완료 버튼 추가
  - GlossyButton green variant, onTimerAction("complete") 호출
2026-03-26 17:43:15 +09:00
SeongHyun Kim f471ce245a feat(pop-work-detail): 작업완료 후 다음 그룹 자동 이동 + 사이드바 숫자 구조 변경
- GroupCompleteButton onComplete: 그룹 완료 처리 후 다음 그룹(같은 phase 또는 다음 phase)으로 자동 이동
- 사이드바 phase 라벨 옆 숫자: 완료/전체 체크리스트 수 → 그룹 개수 (n) 형태로 변경
- 사이드바 각 그룹 항목 옆에 해당 그룹의 체크리스트 완료/전체 수 표시 (g.completed/g.total)
2026-03-26 17:39:42 +09:00
SeongHyun Kim a29691c31e design: 체크리스트 버튼 우측 정렬 + 타이머 최상단 고정 및 크기 확대
- ChecklistRowItem 우측 입력 영역을 justify-center → justify-end로 변경
- 리스트 모드에서 GroupTimerHeader를 스크롤 컨테이너 바깥(최상단)으로 이동
- 타이머 숫자 폰트 26px → 38px, 경과 시간 폰트 14px → 16px
- GroupTimerHeader의 sticky 제거 (외부 배치로 자연스럽게 상단 고정)
2026-03-26 17:33:07 +09:00
SeongHyun Kim 3249611cfc pop-work-detail: 디자인 v2 전면 개편
- 글로시/입체감 버튼 스타일 (GlossyButton 컴포넌트 추가)
- 체크리스트 좌정보/우입력 분할 레이아웃 (여백 최소화)
- 타이머 sticky 고정 + 시작/일시정지/재개 전환 토글
- 풋터 3버튼 제거 → 각 그룹 하단에 작업완료 버튼 배치
- 필수 항목 미체크 시 다음 공정 탭 전환 차단
- 전체 글자 크기 확대 (버튼 18px+, 항목명 15px, 타이머 26px)
- 배경 흰색 유지
2026-03-26 17:25:57 +09:00
SeongHyun Kim 1128a4c278 fix: 대시보드 KPI 글자 크기 반응형 + globals.css !important 예외 처리
ResizeObserver로 컨테이너 크기에 비례하는 동적 폰트 크기 적용.
globals.css의 font-size: 16px !important에서 kpi-dynamic-font 클래스 제외.
2026-03-26 17:05:11 +09:00
SeongHyun Kim cda7e7bbfe feat: KPI 카드 글자 크기를 컨테이너 크기에 비례하도록 개선
ResizeObserver로 실제 컨테이너 픽셀 크기를 감지하여
숫자·라벨·단위 폰트 크기를 동적으로 계산한다.
기존 고정 @container Tailwind 브레이크포인트 방식 대체.
- 숫자: 컨테이너 높이의 42~62% (표시 요소 수에 따라 조정)
- 너비 기준 35% 캡으로 가로로 매우 넓은 셀도 적절히 제한
- 라벨: 높이의 13%, 단위: 숫자의 40%, 추세: 높이의 9%
- valueFontSize(xs/sm/base/lg/xl)는 전체 배율로 계속 동작
2026-03-26 15:03:47 +09:00
SeongHyun Kim 761100a176 feat(pop-dashboard): KPI 카드 글자 크기 제어 및 단위 표시 개선
- ItemStyleConfig에 valueFontSize 옵션 추가 (xs/sm/base/lg/xl)
- KpiCard: valueFontSize에 따라 숫자/단위/라벨 크기 일괄 조정
- 단위 표시: kpiConfig.unit 우선, item.unit fallback 지원 (레거시 호환)
- DashboardItem 타입에 unit, subLabel 최상위 필드 추가 (기존 데이터 호환)
- 4479 화면 config 업데이트: valueFontSize=xl, kpiConfig.unit 설정
2026-03-26 14:43:47 +09:00
SeongHyun Kim bf42f27440 chore: pop-icon.tsx 디버그 console.log 2줄 제거 2026-03-26 14:06:47 +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 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 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 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
kjs bc186111ef Merge branch 'main' into jskim-node 2026-03-25 11:45:27 +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
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 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 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
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 aa48d40048 Implement production plan listing feature with API and frontend integration 2026-03-23 11:11:44 +09:00
SeongHyun Kim b5e48f0b12 fix: PopCardListV2Component nullish coalescing 연산자 괄호 추가
SWC 빌더에서 ?? 와 || 혼용 시 명시적 괄호를 요구하는 문법 에러를 수정한다.
2026-03-23 10:41:57 +09:00
SeongHyun Kim 678e5fa368 Merge branch 'ksh-v2-work' into main
POP MES 전용 카드 + 디자인 감사 + 장바구니 분리 + 체크리스트/실적 관리 기능을 main에 통합한다.
주요 병합 내용:
- mes-process-card 전용 카드 + batch_done 워크플로우 + 실적 관리 강화
- MES 불량 처분 체계(disposition 3종) + 공정 흐름 스트립 필/칩 UI 개편
- MES 다중작업자 분할접수 4대 연쇄 버그 근본 해결
- MES 체크리스트 자동 복사 + 구조적 버그 3건 수정
- MES 카드 산업용 태블릿 UI 리디자인 (10인치 터치 최적화)
- MES 상태 탭 카드 내장 + pop-search 레거시 정리 + 하위 테이블 자동 판단
- pop-card-list-v2 설정 패널 MES 간소화 + 내 작업 표시 3모드
- BLOCK DETAIL Phase 4: 그룹별 타이머, 터치 최적화 UI, DB 저장 버그 수정
- POP 디자인 감사 + WYSIWYG 정렬 + MES/장바구니 분리
- POP 장바구니 입고 워크플로우 수정 및 접근성/UX 개선
- POP 뷰어 헤더 제거 + 디자이너-뷰어 그리드 칸 수 불일치 수정
- PopFieldConfig JsonKeySelect 개선
충돌 해결: 1건 (.gitignore - 양쪽 추가 항목 통합)
2026-03-23 10:31:45 +09:00
SeongHyun Kim da9bce2301 fix: POP 장바구니 입고 워크플로우 수정 및 접근성/UX 개선
장바구니(cart) 기반 구매입고 흐름에서 버튼 동작, 검색 접근성,
필터 안내 메시지 기능을 수정하여 실제 운영 시나리오에서의
안정성을 확보한다.
[pop-button 장바구니 모드 판단 수정]
- isCartMode: v1 preset뿐 아니라 v2 tasks에 cart-save가 포함된
  경우에도 장바구니 모드로 인식하도록 개선
- resolvedCartScreenId: v2 tasks의 cartScreenId도 참조
- 장바구니 모드 분기를 v2 tasks 처리보다 먼저 실행하여
  cart-save 버튼이 정상 동작하도록 순서 변경
[pop-search 아이콘 카드 접근성]
- IconView의 div 카드에 role="button", tabIndex={0},
  onKeyDown(Enter/Space) 추가
- 브라우저 자동화 및 키보드 사용자가 아이콘 카드를
  인터랙티브 요소로 인식 가능
[필터 필수 안내 메시지 기능]
- pop-card-list(장바구니 목록): requireFilter, requireFilterMessage
  설정 추가, 필터 미선택 시 커스텀 안내 문구 표시
- pop-card-list-v2(MES 공정흐름): hideUntilFilteredMessage
  설정 추가, 기존 필터 전 숨김에 커스텀 문구 지원
- 양쪽 설정 패널에 안내 문구 입력 UI 추가
[원본 화면 선택 Combobox 전환]
- PopCardListConfig 장바구니 모드의 원본 화면 선택을
  Select에서 검색 가능한 Combobox로 변경
- 로그인 계정의 companyCode로 화면 목록 필터링 적용
2026-03-23 10:26:06 +09:00
kjs 20126042af Merge branch 'feat/fleet-sso-webview' of https://g.wace.me/chpark/vexplor 2026-03-23 09:21:59 +09:00
SeongHyun Kim 461ff6dbf7 refactor: POP 디자인 감사 + WYSIWYG 정렬 + MES/장바구니 분리 + 장바구니 코드 제거
POP 컴포넌트 전반의 디자인 일관성을 확보하고, 디자이너-뷰어 간 WYSIWYG를
달성하며, MES 공정흐름 컴포넌트에서 장바구니 코드를 완전 분리한다.
[POP 디자인 종합 감사]
- PopRenderer 고스트 보더 제거 (border-2 bg-white -> 투명 래퍼)
- 하드코딩 배경색 -> CSS 변수 hsl(var(--background))
- 빈 상태 메시지 border-dashed bg-muted/30 제거
- 콘텐츠 컴포넌트만 선택적 보더 (rounded-lg border-border/40 bg-card)
[뷰어-디자이너 WYSIWYG 통일]
- PopRenderer 행 높이: 디자이너/뷰어 모두 고정 24px (minmax 제거)
- page.tsx mx-auto + maxWidth 제거 -> 뷰어 전체 폭 채움
- pop-icon 셀 내 스케일링 (maxWidth/maxHeight 100% + aspectRatio)
- pop-icon 라벨 표시 + 배경 투명/아이콘 색상 설정 UI 추가
- pop-profile 반응형, pop-button 오버플로 클리핑
[마키(흐르는 텍스트) 추가]
- pop-text에 marquee 옵션 (marqueeSpeed, marqueeIcon 설정)
- CSS animation + paddingRight 100vw 연속 스크롤
[컴포넌트 이름 명확화]
- pop-card-list-v2: "카드 목록 V2" -> "MES 공정흐름"
- pop-card-list: "카드 목록" -> "장바구니 목록"
[MES 공정흐름에서 장바구니 코드 완전 제거]
- PopCardListV2Component: useCartSync, parseCartRow, isCartListMode,
  selectedKeys, cartRef, cart 이벤트 3개, fetchCartData,
  handleDeleteItem/UpdateQuantity/CartAdd/Cancel/Delete 제거 (~250줄)
- cell-renderers: CartButtonCell, DynamicLucideIcon, ShoppingCart 제거 (~50줄)
- PopCardListV2Config: cart-button 셀 편집 UI 제거
- index.tsx: cart_updated/cart_save_completed/selected_items/
  cart_save_trigger/confirm_trigger 이벤트 메타 제거
- migrate.ts: cartAction/cartListMode 마이그레이션 제거
- types.ts: PopCardListV2Config cartAction/cartListMode 필드,
  CardCellDefinitionV2 cart 4필드, CardCellType "cart-button" 제거
- pop-card-list(장바구니 목록)의 타입/훅은 그대로 유지
- 매 Phase마다 tsc --noEmit 검증, 신규 에러 0건
2026-03-20 16:31:25 +09:00
kjs 8c29225043 feat: enhance application with receiving management and global font size adjustments
- Added new route for receiving management, allowing users to manage incoming goods effectively.
- Updated global CSS to unify font sizes across the application, ensuring a consistent user experience.
- Modified customer and sales order fetching logic to improve data retrieval and handling, including enhanced error logging for better debugging.

These changes aim to streamline the receiving process and improve overall UI consistency within the application.
2026-03-20 16:09:39 +09:00
kjs a5eba3a4ca feat: implement routing and work standard management features
- Added new API endpoints for retrieving routing versions and managing work standards associated with work instructions.
- Implemented functionality to update routing versions for work instructions, enhancing the flexibility of the work instruction management process.
- Introduced a new modal for editing work standards, allowing users to manage detailed work items and processes effectively.
- Updated frontend components to integrate routing and work standard functionalities, improving user experience and data management.

These changes aim to enhance the management of work instructions and their associated processes, facilitating better tracking and organization within the application.
2026-03-20 14:18:44 +09:00
Johngreen a238ba3623 feat: V2 WebView 컴포넌트 + SSO 연동 구현
- V2WebView 컴포넌트: iframe 기반 외부 웹 임베딩
- SSO 연동: 현재 로그인 JWT를 sso_token 파라미터로 자동 전달
- /api/system/raw-token: 범용 JWT 토큰 조회 API
- V2WebViewConfigPanel: URL, SSO, sandbox 등 설정 UI + 개발자 가이드

Made-with: Cursor
2026-03-20 13:56:24 +09:00
kjs 199fa60ef5 feat: add BOM materials retrieval functionality
- Implemented a new API endpoint for retrieving BOM materials based on item codes, enhancing the ability to manage and view component materials.
- Added necessary SQL queries to fetch BOM details, ensuring that the data is filtered by company code for multi-tenancy support.
- Updated frontend components to integrate BOM materials fetching, allowing for better visibility and management of materials in the process workflow.

These changes aim to streamline the management of BOM materials, facilitating better tracking and organization within the application.
2026-03-20 13:46:30 +09:00
kjs ffcede7e66 feat: enhance design task management page with employee selection and filtering
- Integrated a combobox for selecting employees, allowing users to assign tasks more efficiently.
- Implemented fetching of employee data to populate the selection options, improving user experience.
- Added functionality to filter tasks based on the current user's related tasks, enhancing task management capabilities.
- Updated the modal states for better handling of designer assignments and task interactions.

These changes aim to streamline the design task management process, facilitating better organization and assignment of tasks within the application.
2026-03-20 11:58:01 +09:00
SeongHyun Kim 73674385be feat: MES 카드 산업용 태블릿 UI 리디자인 (10인치 터치 최적화)
산업현장 10인치 태블릿에서의 가독성과 터치 조작성을 대폭 개선한다.
HTML 시안(pop-design-v2)을 기반으로 기존 기능을 모두 보존하면서 디자인만 변경.
[카드 헤더 재구성]
- 품목명(item_name) 20px bold 강조 (기존: 미표시)
- WO번호+공정명 14px 보조 정보로 전환 (기존: WO번호 13px 주인공)
- 상태 배지 14px rounded-full pill (기존: 10px)
- 재작업 배지 12px (기존: 9px)
- 좌측 컬러바 4px (기존: 3px)
[메트릭 3단 통일 구조]
- 접수가능: 컨텍스트 + 파랑 박스(접수가능 N EA)
- 진행중: 컨텍스트 + 주황 박스(생산 N / N EA) + 칩(양품/불량/잔여)
- 완료: 컨텍스트+수율pill + 초록 박스(최종양품 N EA) + 칩
- 재작업: 컨텍스트 + 주황 박스(재작업 수량 N EA)
- 핵심 수량 36px extrabold, 컨텍스트 14px (기존: 18px/10px)
[카드 높이 일관성]
- 메트릭 영역 flex-1 적용: 같은 행의 카드들이 동일 높이로 정렬
- 공정 흐름/버튼이 항상 카드 하단 고정
[공정 흐름 노드 기반 디자인]
- 텍스트 칩 -> 40x40px 노드 박스 + 라벨 (기존: 10px 칩)
- 커넥터 라인으로 공정 연결 시각화
[액션 버튼 대형화]
- h-14(56px) full-width rounded-xl 17px bold (기존: h-7 28px 11px)
[MES 카드 래퍼 패딩]
- MES 카드 전용 p-1 제거 (카드 내부 충분한 패딩 px-5 보유)
2026-03-20 10:51:26 +09:00