신규 4개 메뉴 (PageHeader + CompactFilterBar + DataGrid 통일):
- 품질관리/수입검사 요청 (/quality/incoming-request)
- 품질관리/수입검사 관리 (/quality/incoming-mgmt)
- 품질관리/공정검사 관리 (/quality/process-inspection)
- 품질관리/반제품검사 관리 (/quality/semi-product-inspection)
DB 마이그레이션 (docs/migration/quality/):
- 01_quality_tables_from_ilshin.sql — ilshin 운영 5개 테이블 vexplor_rps 정합
(customer_service_mgmt/part/workingtime, inspection_mgmt, delivery_history_defect)
+ ecr_mng 7개 컬럼 동기화 (project_no, customer_cd, equip_name,
design_dept, unit_cd, memo, check_result)
- 02_wace_plm_quality_tables.sql — wace_plm quality.xml 매퍼 호환 신규 5개 테이블
(incoming_inspection_detail/defect, process_inspection_master/detail,
pms_quality_semi_product_inspection) + 인덱스 정의
백엔드:
- qualityRoutes.ts — 4개 메뉴 list 엔드포인트 (실 테이블 조회)
- ecrMngService SELECT_BASE 에 ilshin 신규 7컬럼 노출
- app.ts 라우팅 등록 (/api/quality/*)
프론트:
- DataGrid 4개 신규 페이지 + 그리드 툴바 (차트/엑셀/새로고침/컬럼설정/페이지사이즈)
- customer-cs/cs, ecr/ecr — 견적관리와 동일한 PageHeader + CompactFilterBar
+ DataGrid 패턴으로 리팩토링 (다이얼로그/기존 API 유지)
- ECR 그리드에 신규 6개 컬럼 추가 (설비명/프로젝트번호/고객사/설계부서/조치결과 등)
- AdminPageRenderer 4개 라우트 등록
데이터 복사: ilshin → vexplor_rps (workingtime 5건, inspection_mgmt 1건,
ecr_mng 1건). 나머지 ilshin 운영 테이블은 0건이므로 스키마만 정합.
주요 변경:
- 회사 라우트 정리: COMPANY_7/8/9/10/29/30 6개 폴더 삭제, COMPANY_16(하이큐마그)만 유지
- 모듈 수 17,470 → 16,121, /main 컴파일 시간 110s → 53s
- 브랜딩: VEXPLOR → RPS (로고/파비콘/타이틀/메타데이터/푸터 회사정보 전부 교체)
- 로그인 페이지 fito 스타일 리디자인 (다크 그라디언트 + 글래스 카드 + 격자 배경 + 하단 푸터)
- AppLayout/TabBar/ThemeToggle/ThemeProvider/Logo Pipeline 디자인 채용
- 6색 컬러 테마 시스템 (blue/teal/green/purple/red/dark) + 좌→우 커튼 전환 애니메이션
- 우상단 모드 전환 알약 버튼 (관리자만 노출)
- 시안톤 탭 + Teal 활성 탭, 130px 컴팩트 너비
- 도커 포트 충돌 회피: 백엔드 8080→8090, 프론트 9771→9781, 컨테이너명 rps_backend/rps-front
- DB: vexplor_rps 신규 생성 후 vexplor_dev 데이터 이관, DATABASE_URL 변경
- useAuth: SUPER_ADMIN userType도 isAdmin으로 인정
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Updated the `getQualityReportData` function to improve item name retrieval logic by using `NULLIF` for better handling of empty values.
- Refactored the `getEquipmentReportData` function to include company and date filters for equipment statistics, ensuring accurate data aggregation.
- Enhanced the SQL queries for both quality and equipment reports to utilize lateral joins and improve performance.
- Improved loading states in frontend components for inspection records and inspection results across multiple companies.
This refactor enhances data accuracy and user experience in the analytics module.
- Added a new controller for item inspection information to handle grouped data retrieval with pagination.
- Created routes for accessing item inspection data, specifically for grouped item codes.
- Updated frontend components to support server-side pagination, including total count display and page navigation.
- Enhanced the item inspection info page to utilize the new API for fetching data, ensuring a smooth user experience.
This implementation improves the management of item inspection data and enhances usability in the quality module.
- Updated the analytics report controller to correctly join work_order_process and work_order_process_result for accurate production data retrieval.
- Enhanced the logistics info page to load all tabs on mount for immediate count accuracy, while ensuring only the active tab is reloaded on subsequent changes to prevent race conditions.
This refactor improves data accuracy and user experience in the logistics module.
- Added pagination parameters (page and size) to the getOrderSummary and getPlans functions in the productionController.
- Updated the getList function in shippingOrderController and shippingPlanController to support server-side pagination.
- Modified frontend components to handle pagination state and display total counts for orders and plans.
- Ensured compatibility with existing functionality by maintaining behavior when pagination is not used.
- Introduced a new controller for handling bulk uploads of sales orders via Excel, allowing users to efficiently manage large volumes of sales data.
- Implemented validation to ensure required fields are present and provided appropriate error messages for missing data.
- Enhanced the service layer to support item creation and master data management during the upload process.
- Updated routes to include a new endpoint for the bulk upload feature, ensuring secure access through token authentication.
These changes aim to streamline the sales order management process and improve user experience when handling bulk data uploads.
- Introduced a new cutting plan management page for COMPANY_9, allowing users to manage cutting plans effectively.
- Added a Work Instruction Apply Modal to facilitate the application of work instructions linked to cutting plans.
- Enhanced data handling by incorporating additional fields such as condition_unit, condition_base_value, condition_tolerance, condition_auto_collect, and condition_plc_data in relevant controllers and database interactions.
- Updated UI components to support new features, including displaying batch numbers and item sizes in the work instruction page.
These changes aim to improve the efficiency and usability of cutting plan and work instruction management processes.
- Added sorting capabilities for equipment listings, allowing users to sort by various columns such as equipment code, name, type, and more.
- Introduced visual indicators for sort direction using icons (ArrowUp, ArrowDown, ArrowUpDown).
- Enhanced filtering logic to accommodate sorting, improving data retrieval and user experience.
These changes aim to provide users with better control over equipment data presentation and enhance overall usability in the inspection management workflow.
- Updated SQL queries in `popProductionController` to separate work order process and result handling, ensuring batch_id is now managed in the work_order_process_result table.
- Enhanced `workInstructionController` to include id generation for work items and details, preventing NULL values during insertion.
- Implemented case-insensitive search functionality across various services, improving data retrieval accuracy.
- Added sorting functionality in the item inspection page, allowing users to sort by different columns with visual indicators for sort direction.
This refactor aims to improve data integrity and user experience across the production and inspection workflows.
- Updated SQL queries in the packaging and work instruction controllers to include additional fields such as `inventory_unit` and `material`, improving data retrieval for packaging items.
- Implemented new columns in the `work_instruction_detail` table for better tracking of item schedules, equipment, and personnel involved in work instructions.
- Enhanced frontend components to utilize the new data structure, including category options for inventory units and materials, improving user experience in the packaging and subcontractor item pages.
- Refactored item inspection display logic to format pass criteria more clearly, enhancing readability for inspection data.
- Enhanced the `getProcessEquipments` function to support matching both legacy equipment codes and new IDs, improving data retrieval accuracy.
- Updated the `availableEquipments` logic in the `ProcessMasterTab` component to handle both equipment codes and IDs, ensuring a seamless user experience when adding equipment.
- Improved error handling for equipment selection, providing user feedback when a selected equipment cannot be found.
- Refactored the display of equipment names to ensure accurate representation, even when equipment codes are not available.
- Introduced state management for copy form and inspection rows to facilitate editing and copying of inspection data.
- Implemented logic to duplicate selected inspection data into a copy modal, allowing users to edit and manage copied information.
- Enhanced the copy process to include validation and user feedback, ensuring a smooth experience when copying inspection details to multiple target items.
- Updated the modal handling to support dynamic row management for copied inspection items, improving usability and flexibility.
- Updated the `getRoutingDetails` function to enrich routing details with subcontractor codes, improving data retrieval for routing information.
- Implemented a mapping mechanism to associate subcontractor codes with routing details, ensuring accurate representation of outsourcing suppliers.
- Enhanced the `saveRoutingDetails` function to handle subcontractor mappings during the save operation, ensuring data integrity and consistency.
- Updated the BOM service to improve unit handling and added inventory unit information for better clarity in item representation.
- Refactored production plan management to streamline modal handling and improve error messaging for better user feedback.
- Added a modal for copying inspection information from a selected item to multiple target items.
- Implemented search and selection logic for target items to facilitate the copying process.
- Included validation to ensure a source item is selected and that target items are valid before proceeding with the copy operation.
- Enhanced user feedback with toast notifications for successful and error states during the copy process.
- Updated BOM management to include unit label handling for better clarity in item representation.
- Changed the pagination size from 500 to 0 for various API requests in the equipment, logistics, master data, quality, and sales pages.
- This adjustment aims to optimize data retrieval by potentially reducing the amount of data fetched in initial requests, improving performance and responsiveness.
- Ensured that the changes are consistent across all relevant components to maintain uniformity in data handling.
- Adjusted the layout of the inspection management page to ensure it occupies the full viewport height, enhancing usability.
- Integrated a new SmartExcelUploadModal component into the item inspection page, allowing for bulk uploads of item inspection data via Excel.
- Implemented logic for handling Excel uploads, including data mapping and process retrieval, to streamline the inspection process.
- Enhanced the item inspection page with dynamic loading of inspection types based on category, improving user experience and data management.
- These updates aim to optimize the inspection management workflow across multiple company implementations.
- Updated the inspection management page to include handling for selection options when the judgment criteria is of type "선택형".
- Implemented logic to validate that at least one option is provided when the selection criteria is selected, improving user feedback with appropriate error messages.
- Enhanced the item inspection page to support judgment criteria and selection options, allowing for more detailed inspection configurations.
- Added functionality to dynamically load and display category options for judgment criteria and units, streamlining the user experience in setting up inspections.
- These changes aim to improve the usability and functionality of the inspection management process across multiple company implementations.
- Changed references from `unit` to `inventory_unit` in various logistics and purchase components to improve consistency and clarity.
- Updated API calls to fetch inventory unit values instead of generic unit values, ensuring accurate data representation.
- Enhanced data mapping and rendering logic to reflect the new inventory unit structure, improving user experience and data integrity.
- These changes aim to streamline inventory management processes and enhance usability across multiple company implementations.
- Modified API requests in the inspection management pages for multiple companies to include a `filterCompanyCode` query parameter.
- This change ensures that the data fetched is specific to the respective company, enhancing data accuracy and relevance.
- Aimed at improving the user experience by providing tailored data views across different company implementations.
- Updated the table header and cell styles to enhance visibility and usability, including adjustments to z-index and sticky positioning.
- Implemented dynamic label mapping for inspection types in the item inspection page to improve clarity.
- Enhanced the sales order page by including management item filters in server queries, allowing for better data handling and user experience.
- These changes aim to provide a more intuitive interface and improve data representation across multiple company implementations.
- Enhanced the rendering of the manager column to display user labels instead of IDs for better clarity.
- Updated the default state for the defect form to set is_active to "사용" upon creation.
- Simplified the badge rendering logic for the is_active status to improve readability.
- Adjusted the select component for active status to remove unnecessary options and streamline user interaction.
These changes aim to enhance the user experience and data representation in the inspection management process across multiple companies.
- Added resizable panel components to improve layout flexibility.
- Updated item name label from "품목명" to "품명" for consistency.
- Refactored state management for selected items and inspection types to enhance user interaction.
- Improved modal handling and search functionality for item selection.
- Enhanced inspection method and category loading to ensure accurate data representation.
These changes aim to provide a better user experience and streamline the item inspection process across multiple companies.
- Updated fileController to include Cross-Origin-Resource-Policy headers for improved security and file handling.
- Added error handling for file streams to ensure robust responses in case of read errors.
- Modified materialStatusController to correctly map material IDs to their respective codes for inventory stock queries.
- Enhanced moldController to include warranty shot count in mold creation and update processes.
- Improved item inspection page by adding inspection method category loading and mapping, ensuring accurate display of method labels in the UI.
These changes aim to enhance the overall functionality and user experience across multiple companies by ensuring proper file handling, data mapping, and error management.
- Introduced new pages for managing equipment inspection records and quality inspection results across COMPANY_10, COMPANY_16, COMPANY_29, and COMPANY_30.
- Implemented dynamic search filters, data fetching, and Excel export functionality to enhance user experience.
- Added responsive table layouts with loading states and badges for status representation, improving data visibility and interaction.
These changes aim to provide a comprehensive interface for monitoring and managing inspection processes across multiple companies.
- Added `end_date` field to user management for better tracking of user status.
- Updated SQL queries in `adminController` to include `end_date` during user save operations.
- Improved purchase report data handling by refining the logic for received quantities.
- Enhanced file preview functionality to streamline file path handling.
- Updated outbound and receiving controllers to ensure accurate updates to shipment and purchase order details.
These changes aim to improve the overall functionality and user experience in managing user data and reporting processes.
- Introduced a new inspection management page for both COMPANY_16 and COMPANY_29, featuring a comprehensive table for managing inspection standards.
- Implemented dynamic category loading and user options for enhanced functionality.
- Integrated various UI components such as buttons, inputs, and dialogs to facilitate user interactions.
- Established state management for inspections, defects, and equipment, ensuring a smooth user experience.
These additions aim to improve the quality management processes within the application, providing users with the necessary tools to manage inspections effectively.
jskim-node에서 가져온 inspection page.tsx가 EDataTable 등 main에 없는
컴포넌트에 의존하여 화면 크래시 발생. 일단 제거하여 안정화.
POP UI judgment_criteria 매핑은 detail_type 폴백으로 동작하므로
판단기준 마스터 등록 화면 없이도 정상 작동함.
inspection 마스터 관리는 추후 EDataTable 등 의존성 함께 가져온 후 재도입.
- Implemented automatic numbering preview for item registration and copying, improving user experience during data entry.
- Updated subcontractor management to filter items based on outsourcing codes, ensuring relevant items are displayed.
- Enhanced BOM management to support keyword-based searching and improved data handling for item inspections, including grouping by item code.
These changes aim to streamline item management processes and improve overall functionality across various modules.
- Integrated a numbering system to automatically generate codes for various entities including logistics carriers, warehouses, molds, and inspections.
- Added functionality to preview generated codes based on defined numbering rules.
- Enhanced modal handling to fetch and allocate numbering codes during entity creation and editing processes.
- Implemented validation to ensure required fields are populated, considering the automatic code generation.
These changes aim to streamline the management of logistics, warehouse, mold, and inspection processes by automating code generation and improving user experience.
- Changed field labels for clarity in logistics info page, updating "유형" to "업체유형" and enhancing placeholders for better user guidance.
- Added required validation for fields in both logistics and inspection forms, ensuring essential data is captured before submission.
- Introduced dynamic generation of route names based on departure and destination inputs in the logistics info page.
- Enhanced inspection management page with additional user options and improved handling of inspection types and criteria.
These changes aim to enhance user experience and data integrity across logistics and inspection functionalities.
- 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.
- 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.