4e4088eb71
feat: 입고/자재현황/분석리포트 컨트롤러 및 프론트엔드 개선
kmh2026-03-30 17:01:26 +09:00
45a92de60b
Merge pull request 'Implement pagination for source data in Outbound, Receiving, and Shipping Order pages' (#433) from jskim-node into main
kjs
2026-03-30 12:15:05 +09:00
022ed64274
Merge branch 'main' into jskim-node
kjs
2026-03-30 12:14:58 +09:00
42bb3a18fb
Implement pagination for source data in Outbound, Receiving, and Shipping Order pages
kjs
2026-03-30 12:14:46 +09:00
21c507d9f7
Merge pull request 'jskim-node' (#432) from jskim-node into main
kjs
2026-03-30 11:59:14 +09:00
1532184065
feat: field-only INSERT + pop-field key 수정 + 모달 접근성 개선 - popActionRoutes.ts: 카드리스트 없이 필드만으로 INSERT 가능 (field-only 분기) - PopFieldComponent.tsx: React duplicate key 에러 수정 (staticOptions 문자열 변환 + key fallback) - pop-field/index.tsx: preview nested map key fallback - PopViewerWithModals.tsx: 모달 제목 없을 때 sr-only 접근성 처리 - PopWorkDetailComponent.tsx: 모달 내부 헤더 중복 제거 + isInModal 자동 감지
SeongHyun Kim
2026-03-30 10:16:27 +09:00
ac5292f9b0
feat: COMPANY_29 부서 등록 및 사용자 관리 페이지 개선
kjs
2026-03-29 20:04:52 +09:00
9cbf0c6868
Merge pull request 'feat: COMPANY_29 하드코딩 페이지 추가' (#431) from jskim-node into main
kjs
2026-03-29 13:42:00 +09:00
3e935792d4
feat: COMPANY_29 하드코딩 페이지 추가 (설계/영업/기준정보/생산 27파일)
kjs
2026-03-29 13:41:46 +09:00
de440f8d42
Merge pull request 'feat: COMPANY_9 수주관리 페이지 추가 및 생산계획/공정 개선' (#430) from jskim-node into main
kjs
2026-03-27 22:35:16 +09:00
2e9b67a509
feat: COMPANY_9 수주관리 페이지 추가 및 생산계획/공정 개선
kjs
2026-03-27 22:32:18 +09:00
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 타입 추가
SeongHyun Kim
2026-03-27 18:11:08 +09:00
eacfe60f89
WIP: preset + inspection (임시, 나중에 squash)
SeongHyun Kim
2026-03-27 17:05:36 +09:00
f32861df8b
feat: add new design management pages and session files
kjs
2026-03-27 14:48:15 +09:00
f10946ae5b
fix: screen_layouts_pop 이중 감싸기(double-wrap) 자동 해제 getLayoutPop/saveLayoutPop에서 layout_data가 이중으로 감싸진 경우 (layout_data.layout_data.components) 자동 감지하여 내부 데이터를 추출. 13개 신규 POP 화면이 빈 화면으로 표시되던 문제 해결.
SeongHyun Kim
2026-03-27 13:44:45 +09:00
0aef19578a
Merge remote-tracking branch 'origin/main'
SeongHyun Kim
2026-03-27 10:56:31 +09:00
5cad4ed7fd
feat(pop-work-detail): 모든 그룹 작업완료 버튼 항상 표시 + 타이머 완료 버튼 추가 - GroupCompleteButton: !isGroupCompleted 조건 제거 → 모든 그룹에서 항상 표시 - 이미 완료된 그룹에서는 "작업완료됨" 완료 표시 렌더링 - isGroupCompleted prop 추가 - GroupTimerHeader: isGroupStarted 상태(진행 중/일시정지)에 완료 버튼 추가 - GlossyButton green variant, onTimerAction("complete") 호출
SeongHyun Kim
2026-03-26 17:43:15 +09:00
f471ce245a
feat(pop-work-detail): 작업완료 후 다음 그룹 자동 이동 + 사이드바 숫자 구조 변경 - GroupCompleteButton onComplete: 그룹 완료 처리 후 다음 그룹(같은 phase 또는 다음 phase)으로 자동 이동 - 사이드바 phase 라벨 옆 숫자: 완료/전체 체크리스트 수 → 그룹 개수 (n) 형태로 변경 - 사이드바 각 그룹 항목 옆에 해당 그룹의 체크리스트 완료/전체 수 표시 (g.completed/g.total)
SeongHyun Kim
2026-03-26 17:39:42 +09:00
a29691c31e
design: 체크리스트 버튼 우측 정렬 + 타이머 최상단 고정 및 크기 확대 - ChecklistRowItem 우측 입력 영역을 justify-center → justify-end로 변경 - 리스트 모드에서 GroupTimerHeader를 스크롤 컨테이너 바깥(최상단)으로 이동 - 타이머 숫자 폰트 26px → 38px, 경과 시간 폰트 14px → 16px - GroupTimerHeader의 sticky 제거 (외부 배치로 자연스럽게 상단 고정)
SeongHyun Kim
2026-03-26 17:33:07 +09:00
3249611cfc
pop-work-detail: 디자인 v2 전면 개편 - 글로시/입체감 버튼 스타일 (GlossyButton 컴포넌트 추가) - 체크리스트 좌정보/우입력 분할 레이아웃 (여백 최소화) - 타이머 sticky 고정 + 시작/일시정지/재개 전환 토글 - 풋터 3버튼 제거 → 각 그룹 하단에 작업완료 버튼 배치 - 필수 항목 미체크 시 다음 공정 탭 전환 차단 - 전체 글자 크기 확대 (버튼 18px+, 항목명 15px, 타이머 26px) - 배경 흰색 유지
SeongHyun Kim
2026-03-26 17:25:57 +09:00
1128a4c278
fix: 대시보드 KPI 글자 크기 반응형 + globals.css !important 예외 처리 ResizeObserver로 컨테이너 크기에 비례하는 동적 폰트 크기 적용. globals.css의 font-size: 16px !important에서 kpi-dynamic-font 클래스 제외.
SeongHyun Kim
2026-03-26 17:01:15 +09:00
cda7e7bbfe
feat: KPI 카드 글자 크기를 컨테이너 크기에 비례하도록 개선 ResizeObserver로 실제 컨테이너 픽셀 크기를 감지하여 숫자·라벨·단위 폰트 크기를 동적으로 계산한다. 기존 고정 @container Tailwind 브레이크포인트 방식 대체. - 숫자: 컨테이너 높이의 42~62% (표시 요소 수에 따라 조정) - 너비 기준 35% 캡으로 가로로 매우 넓은 셀도 적절히 제한 - 라벨: 높이의 13%, 단위: 숫자의 40%, 추세: 높이의 9% - valueFontSize(xs/sm/base/lg/xl)는 전체 배율로 계속 동작
SeongHyun Kim
2026-03-26 15:03:47 +09:00
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 설정
SeongHyun Kim
2026-03-26 14:43:47 +09:00
8db6b4984b
feat: pop-work-detail에 PLC 데이터 섹션 추가 - types.ts: PlcDataConfig 인터페이스 추가, ResultSectionConfig에 plcConfig 필드 추가 - PopWorkDetailConfig.tsx: PLC 데이터 설정 패널 구현 - 외부 DB 연결 선택 -> 테이블 -> 컬럼 순차 선택 - 디바이스/태그 유니크값 자동 조회 - 표시 설정 (라벨, 단위, 갱신주기, 표시방식) - 매핑 저장 설정 (대상 테이블/컬럼, 모드) - PopWorkDetailComponent.tsx: PLC 데이터 런타임 표시 구현 - 외부 DB에서 값 주기적 폴링 - 큰 숫자/게이지 표시 + PLC 자동 배지 - 수동 입력 fallback 제공 - 매핑 저장 ON 시 값 변경 시 대상 테이블에 저장
SeongHyun Kim
2026-03-25 17:26:51 +09:00
49da393f17
fix: PopFieldComponent preview fetch에 json_extract_lookup 처리 추가 컴포넌트 마운트 시 cart_items.row_data에서 코드값을 추출한 후 참조 테이블에서 표시값을 조회하는 json_extract_lookup을 preview fetch에도 추가한다.
SeongHyun Kim
2026-03-25 16:08:32 +09:00
dd3b226917
feat(pop-profile): 앱 모드(풀스크린) 메뉴 항목 추가 POP 프로필 팝오버에 "앱 모드" 메뉴를 추가한다. Fullscreen API로 브라우저를 전체화면 전환하여 앱처럼 사용 가능. - showAppMode 설정 옵션 추가 (기본 활성화) - 풀스크린 진입: document.documentElement.requestFullscreen() - 풀스크린 해제: document.exitFullscreen() - 상태에 따라 아이콘/텍스트 전환 (Maximize2/Minimize2, 앱 모드/앱 모드 해제) - fullscreenchange 이벤트 리스너로 상태 동기화 - 디자이너 설정 패널에 "앱 모드 (풀스크린)" 토글 추가
SeongHyun Kim
2026-03-25 15:54:26 +09:00
0852361e92
Merge pull request 'jskim-node' (#427) from jskim-node into main
kjs
2026-03-25 15:19:14 +09:00
8fdbbb7f41
Merge branch 'main' into jskim-node
kjs
2026-03-25 15:19:05 +09:00
d674d88d1e
Merge pull request 'jskim-node' (#426) from jskim-node into main
kjs
2026-03-25 11:45:36 +09:00
bc186111ef
Merge branch 'main' into jskim-node
kjs
2026-03-25 11:45:27 +09:00
69c5a78753
Enhance packaging and department management features
kjs
2026-03-25 11:44:49 +09:00
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 모드 모두 탭 구조 안에서 정상 동작
SeongHyun Kim
2026-03-25 11:30:54 +09:00
b677840952
chore: Playwright 테스트 파일을 관제탑(My-agent)으로 이관 테스트 파일은 ERP-node 프로젝트가 아닌 My-agent에서 관리한다. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
SeongHyun Kim
2026-03-24 19:23:55 +09:00
2da1532e65
chore: .gitignore에 Playwright 테스트 파일 제외 테스트 파일은 My-agent 관제탑에서 별도 관리한다. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
SeongHyun Kim
2026-03-24 19:23:14 +09:00
e8fe077369
chore: .gitignore에 test-results, .cursor 추가 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
SeongHyun Kim
2026-03-24 19:16:24 +09:00
bda77ef844
chore: Playwright 테스트 설정 및 E2E 테스트 추가 pop-cart-outbound 브라우저 테스트 시나리오 10개 포함. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
SeongHyun Kim
2026-03-24 19:16:24 +09:00
a8bb72050f
Merge branch 'feature/fix-4579-customer-name' into ksh-cart-outbound-test
SeongHyun Kim
2026-03-24 19:14:42 +09:00
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>
SeongHyun Kim
2026-03-24 19:14:34 +09:00
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>
SeongHyun Kim
2026-03-24 18:34:05 +09:00
8ee6d75b3d
fix: pop-button showCartBadge 속성으로 장바구니 모드 활성화 cart-save 태스크 없이 배지만 표시하는 경우에도 isCartMode가 활성화되도록 showCartBadge 속성 조건을 추가한다. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
SeongHyun Kim
2026-03-24 18:33:53 +09:00
7e54940963
fix: 가나다 필터 검색어 입력 시 전체 범위 검색으로 수정 검색어 입력 시 activeFilterTab(초성/알파벳) 필터가 동시 적용되어 검색 결과가 현재 탭 내로 제한되던 문제를 수정한다. searchText가 있으면 필터 탭을 무시하고 전체 데이터에서 검색한다. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
SeongHyun Kim
2026-03-24 18:33:47 +09:00
5d4cf8d462
Add equipment and department management pages with comprehensive features
kjs
2026-03-24 18:25:46 +09:00
f1ebcf7dee
Add sales item page with comprehensive features for item and customer management
kjs
2026-03-24 16:12:32 +09:00
1c562fa854
Update item info and sales order pages with new components and functionality
kjs
2026-03-24 15:32:56 +09:00
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>
SeongHyun Kim
2026-03-24 11:59:45 +09:00
29640063a8
merge: health-check-version (자동 파이프라인)
SeongHyun Kim
2026-03-24 11:50:31 +09:00
d061240498
feat: add version info to health check endpoint Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
SeongHyun Kim
2026-03-24 11:37:54 +09:00
ec7308bf43
Update project memory configuration and add new components for shipping plans
kjs
2026-03-24 11:36:00 +09:00
3f8204e662
Add item information and sales order pages with dynamic search filter component
kjs
2026-03-23 22:32:49 +09:00
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.
kjs
2026-03-23 20:39:07 +09:00
cab0342081
Refactor AlertDialog and Dialog components to improve tab management and visibility handling. Updated effectiveOpen logic and adjusted display styles based on tab activity.
kjs
2026-03-23 15:22:16 +09:00
aa48d40048
Implement production plan listing feature with API and frontend integration
kjs
2026-03-23 11:11:44 +09:00
c54364312a
chore: frontend package-lock.json 동기화 npm install로 @tanstack/react-virtual 등 누락된 의존성을 설치한다.
SeongHyun Kim
2026-03-23 10:42:17 +09:00
b5e48f0b12
fix: PopCardListV2Component nullish coalescing 연산자 괄호 추가 SWC 빌더에서 ?? 와 || 혼용 시 명시적 괄호를 요구하는 문법 에러를 수정한다.
SeongHyun Kim
2026-03-23 10:41:57 +09:00
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 - 양쪽 추가 항목 통합)
SeongHyun Kim
2026-03-23 10:31:45 +09:00
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로 화면 목록 필터링 적용
SeongHyun Kim
2026-03-23 10:26:06 +09:00