Commit Graph

2775 Commits

Author SHA1 Message Date
SeongHyun Kim b497db9987 chore: Playwright 의존성 제거 + jskim-node에서 inspection 관리 페이지 cherry-pick
- playwright, @playwright/test 제거 (cmux browser만 사용)
- inspection page.tsx: 판단기준(judgment_criteria) Select UI 포함 버전으로 업데이트
2026-04-07 12:10:56 +09:00
SeongHyun Kim 450247026c feat: POP 작업상세 체크리스트 UI를 judgment_criteria 기반으로 매핑
- 백엔드: /api/pop/production/checklist-items/:processId 신규 추가
  process_work_result ⟕ inspection_standard(judgment_criteria) LEFT JOIN으로
  한 번에 반환 (inspection_code 미설정 시 null로 안전)

- 프론트: resolveInputType + normalizeByJudgmentCriteria + normalizeByDetailType
  1순위: judgment_criteria (CAT_JC_01~04) → inspect/numeric_range/ox/select/text
  2순위: detail_type 폴백
    - checklist/equip_inspection → check(토글)
    - inspection/equip_condition/production_result → inspect(숫자 키패드)
    - lookup → input(텍스트)
    - material_input → material(BOM 자재)
  기존 canonical 값은 건드리지 않아 회귀 없음

- fetchData는 전용 API 사용 + 실패 시 기존 dataApi.getTableData로 폴백
2026-04-07 12:06:01 +09:00
SeongHyun Kim 9361b2484a feat: POP 작업상세 체크리스트 터치 UX 개선
- 숫자 키패드 모달 추가 (NumericKeypadModal) — 64x64px 버튼
- input_type별 분기 렌더링:
  * checkbox: 큰 터치 토글 버튼 (확인/미확인) 56px+
  * number: 터치 시 숫자 키패드 모달 (기준치 ±범위 표시)
  * select: 큰 선택 버튼 56px+
  * text: 입력칸 높이 56px로 키움
- MaterialQtyInput 컴포넌트: 자재 투입 수량도 키패드 모달 사용
- 모든 터치 영역 ISA-101 기준 (56px+) 적용
2026-04-07 11:25:01 +09:00
SeongHyun Kim 495a5f034b feat: POP 작업상세 자재투입(material-input) 섹션 UI 구현
- BOM 기반 자재 목록 표시 + 소요량 자동 계산
- 작업자 실제 투입량 입력 (참고 모드 — 유연 입력)
- 기준량 ±20% 범위 검증 + 경고 표시 (차단 아님)
- 투입 이력 테이블 표시
- ISA-101 터치 기준 (입력 56px+, 버튼 56px+)
2026-04-07 10:57:56 +09:00
SeongHyun Kim 21e89922eb feat: POP 회사별 자동 세팅 — 메뉴 활성화 시 레이아웃 자동 생성
- 로그인 시 POP 메뉴 발견 → 해당 회사용 POP 레이아웃 8개 자동 복제
- 템플릿: 공통(*) 우선, COMPANY_7 폴백
- 회사명 자동 치환 (탑씰 → 해당 회사명)
- screen_definitions 공통(*) 화면은 모든 회사 접근 허용
- 프로필 POP 모드 메뉴: POP 메뉴 있는 회사만 표시
- getLayoutPop 개별 자동 복제 (2중 안전망)
2026-04-07 10:46:54 +09:00
SeongHyun Kim 15029dc58d feat: 리워크 추적 시스템 + 합류 판정 + 버그 12건 수정
리워크 추적:
- 다음 공정 접수 시 리워크 자동 감지 (rework_source_id별 개별 추적)
- 합류 판정: 일반 물량 있으면 마크 해제(합류), 없으면 마크 유지
- 창고 입고 시 마크 자동 해제 (is_rework=NULL, 이력 보존)
- 접수가능 카드: 합류 불가 시 리워크 배지 표시

버그 수정:
- 접수가능 이중 집계 (master+SPLIT 합산 → SPLIT만)
- completed master 재활성화
- 리워크 접수 불가 (자체 input 기반으로 변경)
- master input_qty 덮어쓰기 방지
- 리워크 카드A 접수 시 카드B 사라짐 (개별 전량 판정)
- 진행중/완료 탭 마스터 행 제외
- 리워크 진행중 카드 중복 (마스터 숨김, SPLIT만 표시)
- 리워크 SPLIT에 is_rework 전달
- 재작업 회차 이중 카운트 (마스터만 카운트)
- reworkAvailable이 available 초과 (clamp 처리)
- 불량 수량 키패드 기본값 빈값
- 불량 처리 공정선택 UI 연결

테스트 검증: 전체 시나리오 PASS (집계  흐름  재고  마크 )
2026-04-06 22:27:23 +09:00
SeongHyun Kim e94d298997 feat: 프론트 리워크 추적 — 접수 시 rework_source_id 자동 전달 2026-04-06 16:14:26 +09:00
SeongHyun Kim 2ff9f04d86 feat: 리워크 SPLIT에 is_rework 전달 + 진행중 리워크 배지 표시
- 리워크 카드 접수 시 SPLIT에 is_rework='Y', rework_source_id 복사
- 진행중/완료 탭에서 리워크 SPLIT에 리워크 배지 표시
- 리워크 마스터만 숨기고 리워크 SPLIT은 표시
2026-04-06 15:44:53 +09:00
SeongHyun Kim 2aa90f9351 fix: 리워크 접수 후 진행중 탭에 카드 중복 — 리워크 마스터 숨김 2026-04-06 15:37:09 +09:00
SeongHyun Kim 684d23cc38 feat: 불량 수량 입력에 숫자 키패드 모달 추가 2026-04-06 15:35:55 +09:00
SeongHyun Kim fab29b720d fix: 불량 처리 시 공정 선택 UI 연결 — processList를 DefectTypeModal에 전달 2026-04-06 15:00:34 +09:00
SeongHyun Kim cff733e568 fix: 완료/진행중 탭에서 마스터 행 제외 — SPLIT만 표시 2026-04-06 14:45:43 +09:00
SeongHyun Kim 5c9447a321 fix: 공정실행 카드 표시 3건 수정
- 분할접수 카드 구분: 같은 공정 복수 SPLIT 시 "접수 #1", "접수 #2" 표시
- 재작업 카드 전공정 표시: is_rework='Y' 카드는 공정 필터 무시, 모든 공정에서 표시
- 대기/완료 탭: 선택한 공정 기준으로만 카드 표시 (기존 동작 확인)
- DefectTypeModal: 전공정/지정공정 UI 이미 구현 확인 (수정 불필요)
2026-04-06 14:27:49 +09:00
SeongHyun Kim 32f99fba63 feat: 배치(로트) 추적 — batch_id 컬럼 + 카드 진행률 표시
- work_order_process에 batch_id 컬럼 자동 추가 (ALTER TABLE IF NOT EXISTS)
- 접수 시 batch_id 자동 생성 (BATCH-timestamp-random)
- 다음 공정 접수 시 batch_id 전달 가능 (이어받기)
- 완료 카드: 같은 batch_id의 SPLIT 추적으로 정확한 진행률 표시
- 예: seq1만 완료 → ✓○○ (1/3), 전체 완료 → ✓✓✓ (전체 완료)
2026-04-06 12:08:35 +09:00
SeongHyun Kim 32a372a9b3 fix: 완료 카드 공정 표시를 해당 카드의 seq 기준으로 변경
- 이전: 완료 카드는 모든 공정을 ✓로 표시 (전체 완료)
- 이후: 카드의 seq_no 이하만 ✓, 이후는 ○ 표시
- 예: seq1 완료 → ✓○○ (1/3 완료), seq3 완료 → ✓✓✓ (전체 완료)
2026-04-06 11:53:55 +09:00
SeongHyun Kim 78f959c091 fix: 접수가능 이중 집계 버그 수정 + 바텀바 삭제
- available-qty: master+SPLIT 이중 합산 → SPLIT만 합산 (5곳)
- 원인: master에 합산된 good_qty와 SPLIT의 good_qty가 중복 카운트
- PopShell: 하단 footer(copyright/version/긴급연락) 삭제
2026-04-06 11:47:13 +09:00
SeongHyun Kim ac913990a3 feat: POP 설정 저장소를 screen_layouts_pop으로 전환
- usePopSettings: pop_settings 테이블 대신 screen_layouts_pop.popConfig에서 읽기
- 화면별 독립 설정 (URL→screen_id 자동 매핑)
- PC 설정 페이지: layout-pop API로 저장/조회
- "같은 유형의 모든 화면에 적용" 동기화 체크박스
- pop_settings 400 에러 완전 제거
- 신규 화면 등록: 판매출고(5), 출고유형(6), 공정실행(7), 생산관리(8)
2026-04-06 10:46:37 +09:00
SeongHyun Kim b844eb8eb8 fix: 바코드 스캔 개선 + POP 에러 3건 수정
- 바코드 모달: 카메라 자동 실행 제거 (버튼 클릭 시 실행)
- 바코드 모달: 수동 입력 필드 추가 (외장 스캐너/직접 입력)
- 바코드 모달: facingMode fallback (후면→전면 카메라)
- usePopSettings: pop_settings 테이블 없을 때 400 에러 무시
- RecentActivity: key 중복 에러 수정 (인덱스 추가)
2026-04-06 10:12:50 +09:00
SeongHyun Kim aba2de7ee3 feat: POP 설정 페이지 v3 — 상단 화면 선택 + 스키마 기반 설정폼
- 오버레이 클릭존 제거 (위치 불일치 문제 근본 해결)
- 상단: 메뉴 그룹 (입고/출고/생산/홈/PLC) 접기/펼치기
- 왼쪽: iframe POP 미리보기
- 오른쪽: 스키마 기반 동적 설정폼 (7가지 타입)
- /pop/admin 페이지 삭제 (PC 설정으로 일원화)
2026-04-05 21:51:25 +09:00
SeongHyun Kim 9ea59e94df Merge branch 'main' of https://g.wace.me/jskim/vexplor_dev 2026-04-05 17:45:55 +09:00
SeongHyun Kim a04ddd15ec feat: POP 기능 병합 (pop-screen → main, PC 무변경 46건)
- POP 생산: 재고 관리, 재작업 이력, BOM 자재투입 기능 추가
- POP 설정: 설정 시스템 + 관리 페이지 (/pop/admin)
- POP 화면: 버그 수정 + 설정 연동 + 다음공정 활성화 수정
- PC 코드 무변경 (보류 6건: app.ts, 출고/입고/작업지시 컨트롤러, 레이아웃)
2026-04-05 17:45:33 +09:00
DDD1542 8d95d3b0ed Merge branch 'main' of https://g.wace.me/jskim/vexplor_dev 2026-04-03 12:10:52 +09:00
DDD1542 c6cccc0a03 fix: update table styles and improve column sorting logic in logistics info page 2026-04-03 12:10:50 +09:00
kjs ca7b145c7f feat: Enhance logging and configuration for Smart Factory integration
- Added companyCode to the AuthController for improved logging.
- Updated sendSmartFactoryLog function to support company-specific API keys.
- Configured environment variables for company-specific Smart Factory API keys in Docker Compose files.

This update ensures that logs are more informative and that the correct API keys are used based on the company context.
2026-04-03 11:23:02 +09:00
kjs 41e278099e Merge branch 'main' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-03 10:44:43 +09:00
kjs 6bdfd26fa2 [agent-pipeline] pipe-20260403004704-gib0 round-2 2026-04-03 09:51:46 +09:00
DDD1542 d54c99cc04 Merge branch 'main' of https://g.wace.me/jskim/vexplor_dev
; Conflicts:
;	frontend/app/globals.css
;	frontend/components/layout/AdminPageRenderer.tsx
2026-04-03 09:30:16 +09:00
DDD1542 d03f92947d feat: Implement dynamic search filter in Shipping Plan page
- Integrated DynamicSearchFilter component to manage search filters.
- Removed individual search state variables and replaced with a single searchFilters state.
- Updated fetchData function to handle new filter structure.
- Refactored search filter UI to utilize DynamicSearchFilter.
- Adjusted table header styles for better visibility and consistency.

style: Update global styles for improved UI consistency

- Unified font size across the application to 16px, excluding buttons.
- Adjusted header padding and font size for better readability.
- Enhanced dark mode styles for checkboxes to ensure visibility.

feat: Add Options Setting page for category and numbering configurations

- Created a new OptionsSettingPage component with tabs for category and numbering settings.
- Implemented drag-to-resize functionality for the category column list.
- Integrated CategoryColumnList and CategoryValueManager components for managing categories.

feat: Introduce useTableSettings hook for table configuration management

- Developed useTableSettings hook to manage column visibility, order, and width.
- Implemented localStorage persistence for table settings.
- Enhanced TableSettingsModal to accept defaultVisibleKeys for initial column visibility.

chore: Update AdminPageRenderer to include new COMPANY_16 routes

- Added new routes for COMPANY_16 master-data options and other pages.
2026-04-03 09:28:59 +09:00
DDD1542 f179a575ab feat: add shipping plan page with search and detail editing functionality
- Implemented the ShippingPlanPage component for managing shipment plans.
- Added search filters for date range, status, customer, and keywords.
- Integrated table for displaying shipment plans with grouping and selection features.
- Included detail panel for editing plan quantity, date, and memo with validation.
- Enhanced table readability with CSS adjustments for cell padding and hover effects.

style: improve global styles for table readability

- Adjusted padding and font sizes for table cells and headers.
- Added striped background for even rows and hover effects for better visibility.

fix: update TableSettingsModal for better overflow handling

- Modified modal layout to ensure proper scrolling for content overflow.
- Ensured drag-and-drop functionality for column settings remains intact.

chore: register new routes for COMPANY_7 and COMPANY_16 features

- Added dynamic imports for new pages related to purchase, logistics, quality, and design for COMPANY_7 and COMPANY_16.
2026-04-03 09:28:43 +09:00
kjs 1de5c24dc9 Merge branch 'main' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-02 18:04:07 +09:00
kjs bf8c351082 Merge branch 'main' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-02 17:43:30 +09:00
kjs 148f20c7c5 Update menu assignment logic and enhance dynamic search filter rendering
- Modified the menu assignment logic to ensure that screen assignments are only deactivated if the menu URL is either empty or not a valid screen URL, improving the accuracy of screen management.
- Updated the rendering of active filters in the DynamicSearchFilter component to include a key for each filter, enhancing React's rendering performance and preventing potential issues with list updates.

These changes improve the functionality and performance of the admin interface, ensuring a more reliable user experience.
2026-04-02 17:42:45 +09:00
SeongHyun Kim 9b7b88ff7c feat: POP 하드코딩 화면 추가 (PC 코드 무변경 재병합)
- POP 전용 39개 파일 추가 (홈/입고/출고/생산)
- 백엔드 INSERT에 id gen_random_uuid 추가 (5개 파일)
- POP 전용 API 7개 추가 (창고/위치/입고/동기화)
- PC 코드 구조/순서/로직 변경 없음 (AppLayout, UserDropdown 미수정)
2026-04-02 17:39:42 +09:00
kjs 9749234c30 Refactor password reset logic and update UI components for better user experience
- Removed the minimum password length validation from the backend, simplifying the password reset process.
- Updated the password encryption method to utilize `EncryptUtil`, enhancing security and maintainability.
- Adjusted the `UserPasswordResetModal` component to reset alert states upon closing, improving user feedback.
- Modified the z-index values in the `Popover` and `Select` components for better layering and visibility in the UI.

These changes streamline the password reset functionality and enhance the overall user interface, ensuring a more intuitive experience for administrators.
2026-04-02 17:22:21 +09:00
kjs ce99001970 Add quote management functionality with API and UI integration
- Introduced a new `quote` module, including routes, controllers, and services for managing quotes.
- Implemented API endpoints for listing, creating, updating, and deleting quotes, ensuring proper company code filtering for data access.
- Developed a comprehensive UI for quote management, allowing users to create, edit, and view quotes seamlessly.
- Enhanced the admin layout to include the new quote management page, improving navigation and accessibility for users.

These additions significantly enhance the application's capabilities in managing quotes, providing users with essential tools for their sales processes.
2026-04-02 15:30:44 +09:00
kjs 775d698d06 Add new pages for design management, including change management, design requests, my work, project management, task management, equipment info, and material status
- Introduced multiple new pages to enhance design management functionalities, allowing users to manage design requests, track their work, and oversee project and task statuses.
- Implemented UI components such as tables, dialogs, and forms to facilitate user interactions and data management.
- Integrated necessary API calls for fetching and manipulating design-related data, ensuring a seamless user experience across the new pages.

These additions significantly expand the design management capabilities of the application, providing users with comprehensive tools for managing their design workflows.
2026-04-02 09:43:59 +09:00
kjs 4276b33e37 Merge branch 'ycshin-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-01 16:38:36 +09:00
kjs 948ddbe832 Refactor Dashboard Management to Use Tab Store for Navigation
- Removed the useRouter hook and replaced it with the useTabStore for managing tab navigation in the Dashboard List and Dashboard Designer pages.
- Updated button and row click handlers to utilize the openTab function, enhancing the user experience by allowing for tabbed navigation instead of direct routing.
- This change improves the overall structure and maintainability of the dashboard management functionality, aligning with the new tab management system.
2026-04-01 16:37:21 +09:00
kjs 7c402532b4 Update Barcode Label Management Page UI for Consistency
- Changed background color of the main container from white to card style for better visual consistency with the overall design.
- Updated the CardHeader background to a muted style, enhancing the aesthetic appeal and aligning with the new design guidelines.

These changes improve the user interface of the Barcode Label Management page, ensuring a cohesive look and feel across the application.
2026-04-01 16:28:59 +09:00
kjs 540b6290c4 Implement multi-language support in audit log, system notices, collection management, and common code management pages
- Integrated multi-language functionality across the audit log, system notices, collection management, and common code management components, enhancing accessibility for diverse users.
- Updated UI elements to utilize translation keys, ensuring that all text is dynamically translated based on user preferences.
- Improved error handling messages to be localized, providing a better user experience in case of issues.

These changes significantly enhance the usability and internationalization of the management features, making the application more inclusive.
2026-04-01 16:16:40 +09:00
kjs 1d49fc7ac7 Implement multi-language support in user management and system management pages
- Integrated multi-language functionality across various user management components, including user list, roles list, and user authorization pages, enhancing accessibility for diverse users.
- Updated UI elements to utilize translation keys, ensuring that all text is dynamically translated based on user preferences.
- Improved error handling messages to be localized, providing a better user experience in case of issues.

These changes significantly enhance the usability and internationalization of the user management features, making the application more inclusive.
2026-04-01 15:57:12 +09:00
kjs 2ff01456dc Enhance user management with SUPER_ADMIN access control
- Updated the user list retrieval logic to ensure proper filtering based on company codes, enhancing security for user data access.
- Implemented checks to restrict access to company management APIs, allowing only SUPER_ADMIN users to perform actions related to company data.
- Adjusted the user interface to reflect access restrictions for non-SUPER_ADMIN users, providing clear feedback when access is denied.

These changes strengthen the integrity of user management and ensure that sensitive company information is only accessible to authorized personnel.
2026-04-01 15:49:49 +09:00
syc0123 a085b8149d [RAPID-micro] 메일 작성 다이얼로그에 보내는 사람 계정 선택 추가
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 15:29:00 +09:00
syc0123 545b206f4c [RAPID-micro] 메일관리 IMAP 서비스 프리셋 추가 (Gmail, Naver, Outlook 등)
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 15:28:59 +09:00
syc0123 8ddb7319ab [RAPID-micro] 메일관리 계정 추가 버튼을 계정 목록 패널로 이동
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 15:28:59 +09:00
kjs 369a201832 Implement SUPER_ADMIN permission checks in user management
- Added validation to ensure that only existing SUPER_ADMIN users can grant or modify SUPER_ADMIN permissions.
- Updated the user management page to reflect that both SUPER_ADMIN and COMPANY_ADMIN can access the user permissions, while COMPANY_ADMIN cannot grant SUPER_ADMIN rights.
- Enhanced the user authorization modal to prevent COMPANY_ADMIN from changing SUPER_ADMIN permissions, ensuring proper access control.

These changes improve the security and integrity of user role management within the application.
2026-04-01 14:17:43 +09:00
syc0123 1b92c283fb [RAPID-micro] 메신저 ESC 키로 닫기 기능 추가
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 13:57:11 +09:00
kjs 8be4159f17 Remove outdated documents related to the approval system and WACE system analysis
- Deleted the following files as they are no longer relevant to the current project structure:
  - 결재 시스템 구현 현황
  - 결재 시스템 v2 사용 가이드
  - WACE 시스템 문제점 분석 및 개선 계획
  - Agent Pipeline 한계점 분석
  - AI 기반 화면 자동 생성 시스템 설계서
  - WACE ERP Backend - 분석 문서 인덱스

These deletions help streamline the documentation and remove obsolete information, ensuring that only current and relevant resources are maintained.
2026-04-01 12:35:40 +09:00
syc0123 2b237446dd [RAPID-micro] 메신저 입력창 상단 가로선 제거
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 12:28:42 +09:00
syc0123 a477295afd Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into ycshin-node 2026-04-01 12:27:59 +09:00