Commit Graph

596 Commits

Author SHA1 Message Date
chpark b4dc9b1927 feat(ai): LLM 라우팅 + 에이전트/지식 UX 다수 개선
Build and Push Images / build-and-push (push) Has been cancelled
LLM 호출
- llmClient.resolveProvider 우선순위 보강: model_name 정확 매칭(case-insensitive)을 1순위로 추가
- MODEL_PROVIDER_MAP regex 모두 /i 플래그 (대문자 'Qwen' 등 대응)
- max_tokens fallback 4096 → 16384
- API key 빈 값일 때 Authorization 헤더 자체를 생략 (인증 안 받는 로컬 LLM 대응)

multiAgentExecutionEngine
- 강제 max_tokens=2000 제거 → provider DB 값 fallback 으로 위임

에이전트 관리 (agents/page.tsx)
- 모델 드롭다운: 하드코딩 MODEL_GROUPS 제거 → 등록된 ai_llm_providers 동적 로드
- 같은 provider type(anthropic/openai/ollama 등) 끼리 그룹핑, 0개일 때 안내
- model_name 빈 값 row 는 dropdown 에서 자동 제외 (Radix 제약 회피)
- max_tokens 기본 16384, 빠른선택 버튼 (4K/16K/32K/64K) 추가
- 적용된 지식 파일 row 클릭 시 상세 모달 (내용/복사) 오픈
- hard delete 서비스 변경에 맞춘 UX

LLM 프로바이더 (providers/page.tsx)
- Ollama (로컬) 선택 시 'API 호출 URL' 입력 필드 노출
- '모델 ID' 직접 입력 필드 추가 (Qwen3.6-35B-A3B 같은 커스텀 모델)
- max_tokens / temperature 편집 UI 추가, 기본값 16384/0.7
- 더미 'ollama' API key 자동주입 제거 (실제 인증 토큰 보존)
- ollama 일 때 model_name 빈 값 저장 차단

대화 모니터링 (conversations/page.tsx)
- 메시지 안의 fenced code block (```lang ... ```) 자동 파싱
- 코드블록 별 다운로드 / 복사 버튼 (파일명 자동 추출 또는 snippet-{n}.{ext})
- 17종 언어 → 확장자 매핑 (html/jsp/ts/tsx/py/java/c/cpp/cs/go/rs/rb/php/sql/yml ...)
- 모달 폭 max-w-2xl → max-w-4xl

API 키 관리 (api-keys-manage/page.tsx)
- 그룹 실행 axios 호출 timeout 30s → 5분 (multi-agent 추론 시간 대응)

지식 라이브러리 (knowledge/page.tsx)
- TS2774 (Buffer.byteLength 함수 참조 truthy 체크) 컴파일 에러 수정 → 청크 빌드 정상화

aiAgentService
- delete() 진짜 hard DELETE 로 변경 + 외래키 의존 row(group_members/conversations/logs/usage) 정리
- list() 기본 필터에 status <> 'archived' 추가 → soft-deleted row 자동 숨김

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 18:41:52 +09:00
chpark 4c1dc4082e feat: Fleet/Collector/엣지 배포 관련 누적 작업 일괄 커밋
Build and Push Images / build-and-push (push) Has been cancelled
이전 세션들에서 작업된 아래 범위를 모두 포함:

Fleet 서브시스템 (src/fleet/)
- fleetDeviceService / fleetCommandService / fleetDeploymentService / fleetReleaseService
- fleetMetricsService, fleetScriptService, fleetEdgeConfigService
- Edge 디바이스 관리, 커맨드 발행, 배포/릴리스, 스크립트 동기화

Collector 확장
- centralMqttForwarder / centralForwarderConfigService
- equipmentStateService, pythonHookRunner, scriptCache
- Modbus/OPC-UA/S7/XGT 프로토콜 클라이언트
- targetDbIntrospection (저장 DB 조회)

Routes / API
- automationDashboardRoutes, centralForwarderRoutes, equipmentStateRoutes

DB
- importEdgeConfig (Python cached config → Pipeline DB)
- seedDataSources (external_db_connections 초기 시드)

엣지 배포 리소스
- docker/edge/Dockerfile.backend.prod, Dockerfile.frontend.prod
- docker/edge/docker-compose.edge.yml

프론트엔드
- admin/automaticMng (centralForwarder, dashboard, equipmentState)
- admin/fleet (commands, devices, deployments, releases, scripts, alerts)
- admin/pipeline-device 개선 (저장 DB 드롭다운, 태그 매핑 등)
- ExternalDbConnectionModal, ScriptsManagerDialog 등 신규 컴포넌트
- lib/api: automationDashboard, centralForwarder, equipmentState, fleet

docs/
- EDGE_SERVER_STRUCTURE, FLEET_COMPLETE, FLEET_EDGE_INTEGRATION, FLEET_HOOK_INTEGRATION

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 20:00:06 +09:00
chpark 37cac72085 refactor: Pipeline 네이밍 통일 및 AI 에이전트/장비 연결 기능 추가
- Docker/K8s 배포 설정을 pipeline-backend/pipeline-front로 통일
- 네임스페이스, 서비스, PVC 등 k8s 리소스명 pipeline-* 로 변경
- AI 에이전트 관리 기능 추가 (에이전트, 그룹, 프로바이더, 대화, API 키, 지식베이스)
- 장비 연결 관리 기능 추가 (PLC/Modbus/OPC-UA/MQTT)
- 배치 스케줄러에 AI agent/device collection/crawling 타입 추가
- 배치 편집 UI 개선 (6가지 실행 방식 지원)
- 회사별 페이지(COMPANY_*) 제거 및 AdminPageRenderer 최적화
- 메뉴 재구성: 장비 연결 관리 시스템관리로 이동, 에이전트 오케스트레이션으로 개명
- ai-assistant 디렉토리 제거 (backend-node로 통합)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 12:14:50 +09:00
kjs 8a2ee0c0e7 refactor: Update API calls in inspection management pages to include company-specific filters
- 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.
2026-04-13 13:55:04 +09:00
kjs 77b7a0cdbb refactor: Update table column widths and improve pagination settings in purchase and sales order pages
- Changed column width definitions from fixed to minimum widths for better responsiveness in the purchase order and sales order pages.
- Increased the pagination size from 500 to 5000 for supplier and user data fetching to accommodate larger datasets.
- Enhanced item search functionality by including management item filters in server queries, improving data handling and user experience.
- These changes aim to provide a more flexible and user-friendly interface across multiple company implementations.
2026-04-13 13:38:44 +09:00
kjs 4267b42fdf refactor: Streamline logistics pages by removing unused variables and enhancing header filters
- Removed unnecessary variables and commented-out code related to master-detail grouping in the outbound and receiving pages.
- Simplified the header filter and sorting logic to improve performance and readability.
- Updated the column mapping and filtering mechanisms to ensure a more efficient data handling process.
- These changes aim to enhance the overall user experience and maintainability of the logistics management interface across multiple company implementations.
2026-04-13 13:15:28 +09:00
kjs 9272ddb345 refactor: Improve table header and cell styling for production plan management and item inspection pages
- 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.
2026-04-13 11:58:26 +09:00
kjs b28e8e206c feat: Implement drag-and-drop functionality for modal column reordering in purchase order page
- Added DnD (Drag and Drop) capabilities to allow users to reorder columns in the modal for purchase orders.
- Introduced a new `SortableModalHead` component to manage the sortable headers.
- Implemented local storage functionality to save and retrieve the column order, enhancing user customization.
- This feature aims to improve the user experience by providing flexibility in how data is displayed across multiple company implementations.
2026-04-13 10:55:11 +09:00
kjs 2776437702 refactor: Simplify customer form validation and remove unused fields
- Updated the customer form validation to only check for the business number, removing checks for contact phone and email.
- Removed unused input fields for contact person, phone, and email from the customer management page to streamline the form and improve user experience.
- This change aims to enhance the clarity and usability of the customer management interface across multiple company implementations.
2026-04-13 10:52:48 +09:00
kjs f1d01d0eed feat: Update progress label mapping in work instruction pages
- Enhanced the `getProgressLabel` function to utilize a mapping for progress statuses, improving clarity in status representation.
- The mapping includes translations for statuses such as "completed", "in_progress", and "pending", ensuring a more user-friendly display across multiple company implementations.
- This change aims to improve the overall user experience by providing clearer information regarding work progress.
2026-04-13 10:36:41 +09:00
kjs e693963c2a feat: Enhance inbound-outbound and material status pages with remark parsing and category mapping
- Implemented a `parseRemark` function to convert JSON remarks into human-readable text, improving clarity in the inbound-outbound page.
- Updated the category filtering logic to utilize parsed remarks, enhancing data representation.
- Added unit label mapping for better display of item units in the inbound-outbound page.
- Enhanced the material status page with a status mapping feature, allowing for dynamic styling based on status labels.
- These changes aim to improve user experience by providing clearer information and better data management across multiple company implementations.
2026-04-13 10:26:23 +09:00
kjs 59f60799ab feat: Increase data retrieval limits in purchase and sales pages
- Updated API calls in the purchase and sales item pages to increase the data size limit from 500 to 5000, enhancing the ability to fetch larger datasets.
- This change aims to improve performance and user experience by allowing more data to be loaded in a single request across multiple company implementations.
2026-04-12 22:04:09 +09:00
kjs 1709ba6fbb feat: Implement searchable category comboboxes and enhance item management
- Added searchable category combobox and multi-category combobox components to improve item selection in the purchase and sales item pages.
- Updated the supplier management page to utilize useCallback for item search, enhancing performance and responsiveness.
- Implemented real-time search functionality for item selection, ensuring a smoother user experience.
- Enhanced the handling of item mappings and prices, allowing for soft deletion of supplier connections while retaining data integrity.

These changes aim to improve the overall user experience by providing more intuitive item management and selection processes across multiple company implementations.
2026-04-12 21:57:03 +09:00
kjs 96b9ac78db feat: Enhance user mapping in BOM and inventory pages
- Updated API calls in the InventoryStatusPage and BomManagementPage to fetch user data with a limit of 9999 users, improving performance and ensuring all users are loaded.
- Implemented user mapping to display user names instead of IDs, enhancing clarity in user-related data across multiple company implementations.
- These changes aim to improve the overall user experience by providing clearer information and better data management in the logistics and BOM sections.
2026-04-12 21:31:36 +09:00
kjs e8eeef1e53 fix: Update error handling and warehouse code rendering in inventory and outbound pages
- Enhanced error handling in the OutboundPage component to capture and display error messages from API responses, improving user feedback during operations.
- Updated the InventoryStatusPage to render warehouse names instead of codes, providing clearer information to users.
- These changes aim to enhance the user experience by ensuring better error visibility and more informative data representation across multiple company implementations.
2026-04-12 21:16:09 +09:00
kjs 31bdbe1331 feat: Enhance inventory and outbound pages with category mapping and user information
- Implemented user mapping to display user names instead of IDs in the inventory and receiving pages.
- Added category mapping for materials and units in the outbound page, improving data representation.
- Updated API calls to fetch user and category data, ensuring accurate and user-friendly displays.
- These enhancements aim to improve the overall user experience by providing clearer information and better data management across multiple company implementations.
2026-04-12 19:34:45 +09:00
kjs 3a63cafea1 fix: Update dependency array in SalesOrderPage component
- Added `categoryOptions` to the dependency array of the useEffect hook that fetches orders, ensuring that the component re-fetches orders when category options change.
- This change improves the responsiveness of the SalesOrderPage when category options are updated, enhancing the overall user experience across multiple company implementations.
2026-04-12 19:02:54 +09:00
kjs 972a0143ad refactor: Integrate ImageUpload component for mold image handling
- Replaced manual image upload logic with the ImageUpload component for better management of mold images.
- Updated image source handling to ensure proper display of images based on their URL format.
- Enhanced error handling for image display to improve user experience.

These changes aim to streamline the image upload process and enhance the overall functionality of the mold information page across multiple companies.
2026-04-11 14:50:18 +09:00
kjs a232399cbc refactor: Update item division handling in supplier and customer management pages
- Added loading of item division categories to enhance filtering capabilities in supplier and customer management pages.
- Updated filtering logic to dynamically use item division codes for improved item search results.
- Ensured consistent handling of division codes across multiple company pages.

These changes aim to improve the user experience and data management in supplier and customer processes across various companies.
2026-04-11 13:40:01 +09:00
kjs d3e005914b refactor: Enhance subcontractor and item management functionality
- Added loading of item division categories to improve item search capabilities in subcontractor management pages.
- Updated filtering logic to use dynamic category codes for division filtering in subcontractor and sales item pages.
- Consolidated standard price labels in purchase item pages for clarity.

These changes aim to improve the user experience and data handling in subcontractor and item management processes across multiple companies.
2026-04-10 18:38:03 +09:00
kjs 97d94e77d2 Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-10 17:32:34 +09:00
kjs 58faa1f759 refactor: Improve inspection management page functionality and UI
- 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.
2026-04-10 17:32:33 +09:00
DDD1542 c8922e23b0 123 2026-04-10 17:31:57 +09:00
kjs 7c97ec8ea3 refactor: Enhance item inspection page functionality and UI
- 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.
2026-04-10 16:55:49 +09:00
kjs f916abca77 Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-10 15:59:39 +09:00
kjs 2f50d7d809 fix: Enhance file handling and inspection method mapping
- 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.
2026-04-10 15:59:38 +09:00
DDD1542 7405d31454 Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-10 14:17:43 +09:00
kjs 5842a91c7f refactor: Update table layout styles in Production Plan Management page
- Changed the table layout from fixed to a minimum width of 900px to enhance responsiveness.
- Adjusted TableHead components to ensure consistent width and minimum width settings for better alignment and usability.
- These modifications aim to improve the overall user experience by providing a more flexible and visually appealing table layout across multiple companies.
2026-04-10 13:58:59 +09:00
DDD1542 b686b512eb Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-10 13:34:49 +09:00
DDD1542 c8b1b1b742 123 2026-04-10 13:34:01 +09:00
kjs b8f96f7395 Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-10 11:12:51 +09:00
kjs f416241788 fix: Reset related fields on input mode change in Sales Order page
- Updated the input mode selection logic to clear associated fields (partner_id, delivery_partner_id, delivery_address) when the input mode changes.
- This change ensures that the form state is correctly managed and prevents stale data from being retained, enhancing the user experience across multiple companies.

These modifications aim to improve the clarity and functionality of the Sales Order page by ensuring that changes in input mode reflect accurately in the form state.
2026-04-10 11:12:49 +09:00
DDD1542 06f9b54cd7 Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-10 10:51:06 +09:00
DDD1542 29c42cbb79 123 2026-04-10 10:43:12 +09:00
kjs 909fe9d42a feat: Implement category mapping for inspection records
- Added functionality to map category codes to labels for inspection cycles and methods in the equipment inspection record page.
- Introduced a new state to manage category mappings and updated the UI to display the mapped labels instead of raw codes.
- Enhanced error handling for category retrieval to ensure a smoother user experience.

These changes aim to improve the clarity and usability of the inspection records by providing meaningful labels for inspection categories across multiple companies.
2026-04-10 10:41:45 +09:00
kjs 7121bade5e Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-10 10:36:30 +09:00
kjs 0c91688896 feat: Add inspection record and result management pages for multiple companies
- 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.
2026-04-10 10:36:29 +09:00
DDD1542 1b4555f0af 11 2026-04-09 18:44:12 +09:00
kjs 2733685df7 feat: Refactor table components for improved layout and usability
- Updated the BOM management page to streamline the layout by moving the edit button to the top right for better accessibility.
- Enhanced the DataGrid and EDataTable components to support a no-wrapper option, allowing for sticky headers to function correctly with parent overflow settings.
- Adjusted the Sales Order page to utilize the new noWrapper feature for the table, ensuring consistent styling and behavior.
- Enabled sticky headers in the V2 table list definition for improved data visibility during scrolling.

These changes aim to enhance the user experience by providing a more intuitive and organized interface for managing BOM and sales order data across multiple companies.
2026-04-09 18:09:17 +09:00
kjs 4424071e47 feat: Enhance equipment monitoring page with process tracking
- Added `wi_id` and `work_instruction_no` fields to the `WorkInstruction` interface for better tracking of work instructions.
- Introduced a new `ProcessRow` interface to manage work order process statuses, including acceptable, in progress, and completed states.
- Updated data fetching logic to include process data from the work order process API, improving the accuracy of equipment status determination.
- Enhanced the inferred status logic to utilize process data for more accurate equipment status representation.
- Refined summary statistics and filtering mechanisms to reflect the new process tracking capabilities.

These changes aim to provide a more comprehensive and accurate monitoring experience for equipment operations across multiple companies.
2026-04-09 15:46:22 +09:00
kjs 6998195ca8 feat: Update production monitoring logic to enhance progress status handling
- Added `progress_status` field to the `WorkInstruction` interface to track the state of work instructions (대기 / 진행중 / 완료).
- Enhanced the `computeProgress` function to prioritize `progress_status` over existing logic, improving accuracy in determining the current status of work instructions.
- Updated grouping logic in the production monitoring page to reflect the highest status from master and split rows, ensuring better representation of process steps.
- Refined UI elements to improve clarity and user experience in monitoring production progress across multiple companies.

These changes aim to provide a more robust and user-friendly interface for monitoring production operations.
2026-04-09 15:29:11 +09:00
kjs 518990171e feat: Enhance monitoring pages with dynamic settings and themes
- Integrated monitoring settings and theme management into the Equipment, Production, and Quality monitoring pages.
- Updated auto-refresh functionality to utilize user-defined settings for refresh intervals.
- Improved UI elements with dynamic theming for better visual consistency across COMPANY_10, COMPANY_16, and COMPANY_29.
- Added settings button to access monitoring configuration, enhancing user experience in managing monitoring preferences.

These changes aim to provide a more customizable and user-friendly interface for monitoring operations across multiple companies.
2026-04-09 15:12:36 +09:00
kjs 9200c58d2e feat: Add hardcoded inbound-outbound management page for multiple companies
- Implemented a new hardcoded page for managing inbound and outbound logistics, based on the inventory_history table.
- The page includes features for grouping, searching, and exporting data to Excel, enhancing user experience in managing logistics operations.
- Integrated dynamic search filters and improved data loading mechanisms to ensure efficient retrieval and display of logistics data.

These changes aim to provide a comprehensive interface for monitoring and managing inbound and outbound logistics across COMPANY_10, COMPANY_16, COMPANY_29, COMPANY_30, COMPANY_7, COMPANY_8, and COMPANY_9.
2026-04-09 14:21:26 +09:00
kjs b57a56e097 fix: Enhance grouping logic in production result pages for multiple companies
- Updated the grouping logic in the ProductionResultPage component to include category resolution for 'work_team' and 'status' fields.
- This change ensures that the grouping functionality correctly categorizes work instructions based on the specified criteria, improving data organization and clarity across COMPANY_10, COMPANY_16, COMPANY_29, COMPANY_30, COMPANY_7, COMPANY_8, and COMPANY_9.

These enhancements aim to provide a more accurate representation of production results and facilitate better management of work instructions.
2026-04-09 13:56:06 +09:00
kjs a180c3f209 Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-09 13:51:08 +09:00
kjs 735cba2936 feat: Add production result management page for COMPANY_10, COMPANY_16, COMPANY_29, COMPANY_30, COMPANY_7, and COMPANY_8
- Implemented a new hardcoded page for managing production results, featuring a work instruction list on the left and detailed process results on the right.
- Included summary cards displaying total quantities, good and defective items, and achievement rates.
- Added tabs for viewing performance details and defect records, along with a detailed modal for further insights.
- Integrated dynamic search filters to enhance user experience in navigating work instructions.

These changes aim to provide a comprehensive interface for monitoring and managing production performance across multiple companies.
2026-04-09 13:51:07 +09:00
DDD1542 c79dcf6b6d Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-09 12:35:36 +09:00
DDD1542 b982cb8db2 123213213 2026-04-09 12:35:34 +09:00
kjs a9d2df48bf fix: Improve numbering rule handling and item routing functionality
- Added temporary debug response in `numberingRuleController` for better troubleshooting.
- Refactored SQL queries in `NumberingRuleService` to enhance parameter handling and improve clarity.
- Updated `ItemInfoPage` to correctly handle manual input values for user-generated codes.
- Implemented sorting logic in `ItemRoutingTab` to prioritize default routing versions and added functionality to set a version as default.

These changes aim to enhance the reliability and user experience in managing numbering rules and item routing processes.
2026-04-09 12:18:26 +09:00
kjs 51eddc6d84 refactor: Enhance numbering rule handling and BOM management
- Updated the `NumberingRuleService` to support manual values in the computation of non-sequence values.
- Improved the `ItemInfoPage` to parse preview codes into parts, allowing for better handling of manual inputs and dynamic code generation.
- Refactored BOM management to streamline the retrieval of category options for both division and unit, enhancing data consistency.
- Added utility functions to resolve unit labels from category options, improving the clarity of displayed data.

These changes aim to improve the functionality and user experience in managing item information and BOM processes.
2026-04-09 11:52:40 +09:00