Commit Graph

2050 Commits

Author SHA1 Message Date
kjs
a8457de52f Merge branch 'mhkim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node
# Conflicts:
#	backend-node/src/controllers/outboundController.ts
2026-05-08 16:22:47 +09:00
kjs
b4f6139151 Implement Subcontractor Stock Management Features
- Added new routes and controller for subcontractor stock management, including endpoints for vendor summaries, stock details, history, adjustments, and scrap management.
- Integrated the subcontractor stock service to handle business logic related to inventory adjustments and history tracking.
- Developed frontend components for managing subcontractor stock, including modals for adjustments and history viewing, enhancing user interaction and data management.

(TASK: ERP-026)
2026-05-08 16:17:06 +09:00
kmh
212616d966 Migrate POP inventory adjust to v2 and remove legacy POP modules
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 16:07:41 +09:00
kjs
b4346b5617 Implement Outsourcing Purchase Status Pages and Detail Modal for COMPANY_10, COMPANY_16, COMPANY_28, and COMPANY_29
- Created a detailed modal for viewing outsourcing purchase order details, including basic information and status rows for processes, vendors, and shipping vs. receiving.
- Developed an integrated status page for outsourcing purchase orders, featuring a dynamic search filter and a comprehensive table displaying order, process, vendor, and material information.
- Implemented Excel export functionality for the integrated status page, allowing users to download order data easily.

(TASK: ERP-025)
2026-05-08 09:59:23 +09:00
kjs
2e686f059d Implement Order Status Integration for Outsourcing Purchase Management
- Added a new endpoint `listOrderStatus` in the `outsourcePurchaseController` to retrieve integrated order status information, including filtering options for source type, order status, and date range.
- Updated the `outsourcePurchaseService` to handle the new order status retrieval logic, ensuring proper filtering and data aggregation.
- Introduced a new route for accessing the order status information in `outsourcePurchaseRoutes`.
- Created a detailed modal for viewing outsourcing purchase order details, enhancing the user interface for better data presentation.
- Developed a registration modal for creating and editing outsourcing purchase orders, featuring a tabbed interface for improved user experience.

(TASK: ERP-025, ERP-019)
2026-05-07 18:33:38 +09:00
kjs
528782a94b Refactor AdminPageRenderer to update Monitoring Settings page import
- Changed the import path for the Monitoring Settings page from the app directory to the components directory for better organization and maintainability.

(TASK:ERP-022)
2026-05-07 13:47:18 +09:00
kjs
a5e9d13100 Implement Outsourcing Purchase Order Management Features
- Added `DetailModal` for viewing detailed information of outsourcing purchase orders, including master, process, and material details.
- Created `RegistrationModal` for registering and editing outsourcing purchase orders with a tabbed interface for source selection and item mapping.
- Introduced `ReleaseRequestModal` for handling material release requests, grouping by subcontractor and allowing batch processing.
- Updated the main page to integrate these modals and provide a comprehensive management interface for outsourcing purchase orders.

(TASK:ERP-019)
2026-05-07 13:30:46 +09:00
kjs
4ad669361d Implement outsource purchase management functionality
- Added routes for outsource purchase management, including CRUD operations and additional features such as auto-processes and release requests.
- Created the `outsourcePurchaseController` to handle business logic for managing outsource purchase orders.
- Introduced the `outsourcePurchaseService` for service layer operations related to outsource purchases.
- Updated `app.ts` to include the new routes for outsource purchase management.

(TASK:ERP-019)
2026-05-06 16:16:13 +09:00
kjs
d549947fac Refactor analytics report and production plan services for improved data handling
- Updated the `getQualityReportData` function to utilize `inspection_result_mng` for quality report generation, enhancing data accuracy by aggregating inspection results.
- Refined date handling in the `getOrderSummary` function to improve filtering logic and ensure accurate stock calculations.
- Implemented virtual scrolling in the `TimelineScheduler` component to optimize performance when rendering large datasets.

These changes enhance data retrieval efficiency and user experience across analytics and production planning modules.
2026-04-29 21:05:38 +09:00
kjs
5f9c876f9e Enhance logistics and production pages with additional mappings and data aggregation
- Added Korean labels for `shipmentInstruction` and `purchase_detail` in the logistics pages to improve clarity.
- Introduced a new constant `WOPR_TABLE` in the production result page for better data management.
- Implemented daily aggregation of `work_order_process_result` data to enrich the `work_order_process` rows, enhancing data accuracy and user experience.

These updates improve the usability and data handling in the logistics and production modules.
2026-04-29 18:48:05 +09:00
kjs
6ddc84f285 Update date handling in inventory and sales order pages
- Refactored date handling in the InventoryStatusPage to use `toLocaleString` for transaction dates and last in dates, ensuring correct timezone formatting.
- Introduced FormDatePicker in SalesOrderPage for date inputs, enhancing user experience with automatic formatting and improved date handling.
- Added a checkbox for filtering items by customer in SalesOrderPage, allowing users to view only items registered for the selected customer.

This update improves date accuracy and user interaction in the inventory and sales order modules.
2026-04-29 18:20:01 +09:00
kjs
5dfae5e6b6 Refactor analytics report data retrieval and enhance equipment report logic
- 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.
2026-04-28 20:20:10 +09:00
kjs
bf8d99ccf5 Implement KPI daily production feature
- Added a new KPI controller to handle daily production data retrieval.
- Created routes for accessing KPI data, specifically for daily production.
- Developed frontend components for displaying daily production metrics, including charts and summary cards.
- Implemented data fetching logic with date range filtering for production data.
- Ensured proper loading states and error handling in the UI.

This feature is part of TASK:ERP-022.
2026-04-28 16:14:27 +09:00
kjs
4afb0f5ca4 Implement server-side pagination for order summaries, plans, and shipping orders
- 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.
2026-04-28 13:59:34 +09:00
DDD1542
34a44e0d9c Merge branch 'mhkim-node' of https://g.wace.me/jskim/vexplor_dev into gbpark-node 2026-04-27 14:46:26 +09:00
kmh
e18a62f56f refactor(pop): trim main page widgets, drop layout auto-clone
- Remove KpiCarousel/RecentActivity from pop main pages (7 companies)
- Empty banner default; rename settings key home -> main
- Strip API fetch/cache from usePopSettings, return hardcoded defaults
- Drop screen_layouts_pop auto-clone/fallback for regular users
- Add SUPER_ADMIN direct-entry branch in AppLayout pop handler

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 14:45:00 +09:00
kjs
346a1314a2 Merge branch 'mhkim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-26 18:33:52 +09:00
kmh
dcbcdb2f52 refactor(pop): isolate new shell, add super-admin entry, drop /pop fallback
- per-company PopShell copies under (main)/COMPANY_*/pop/_components/common/
  (no longer imports @/components/pop/hardcoded/PopShell)
- new components/pop/shell/CompanySwitchModal for new POP entry
- AppLayout: SUPER_ADMIN POP-mode toggle + company-select modal flow
- usePopSettings: handle /COMPANY_X/pop/<tail> URLs (extractScreenKey)
- authController + AppLayout: drop legacy /pop fallback;
  use /\${companyCode}/pop/main when childMenus>1 lacks [POP_LANDING]

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 15:07:44 +09:00
kjs
f922841d8d Merge branch 'mhkim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-24 17:59:00 +09:00
kjs
37ca354af9 feat: Implement cutting plan management and work instruction modal
- 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.
2026-04-24 11:12:32 +09:00
kjs
c618283306 feat: Refactor work process and item inspection logic
- 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.
2026-04-23 17:36:04 +09:00
DDD1542
2efe30e282 2026-04-23 14:32:52 +09:00
DDD1542
b3de4fc6d8 Merge remote-tracking branch 'origin/jskim-node' into gbpark-node 2026-04-23 14:03:57 +09:00
DDD1542
28c1c8c029 feat: Add cutting plan management for COMPANY_30
- Cutting optimization (Guillotine FFDH) with mixed/homogeneous modes
- Remnant management with persistence (cutting_plan_sheet.remnants JSONB)
- Work instruction creation linked via batch_no/cutting_plan_id

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 14:03:45 +09:00
kmh
b493ac930a Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into mhkim-node 2026-04-22 14:55:32 +09:00
kmh
4ed4d5f66e WIP: POP + packaging 작업 중
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 14:55:28 +09:00
kjs
3b796ca9e3 feat: Add outsourcing outbound functionality
- Introduced a new controller for managing outsourcing outbound processes, including automatic candidate retrieval and outbound list management.
- Implemented API routes for fetching candidates, listing outsourcing outbounds, and creating new outbound records.
- Enhanced the SQL queries to ensure proper filtering by company code and to utilize existing outbound management tables effectively.
- Added new routes for handling outsourcing outbound operations in the Express application, improving the overall functionality of the logistics module.
2026-04-22 09:27:45 +09:00
kjs
a863427c4f feat: Update equipment handling in process management
- 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.
2026-04-21 13:54:14 +09:00
kjs
e0b89036d0 feat: Enhance copy functionality for item inspection information
- 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.
2026-04-21 10:31:40 +09:00
kjs
51c4fddde0 feat: Add report cell value management functionality
- Introduced a new controller for managing custom input values in report cells, allowing users to retrieve and upsert values associated with specific reports and targets.
- Implemented API routes for fetching and saving report cell values, ensuring proper authentication and data handling.
- Enhanced the frontend components to support the new report cell input functionality, including the ability to edit and save input values in a modal.
- Updated inventory and equipment management pages to include new features for handling missing items and managing warehouse locations effectively.
2026-04-20 17:59:28 +09:00
kjs
68bc857eae feat: Implement pagination and enhanced keyword search in work instruction retrieval
- Added pagination support to the `getList` function in the work instruction controller, allowing for efficient data retrieval with `page` and `pageSize` parameters.
- Enhanced the keyword search functionality to include checks for item numbers in the work instruction details, improving search accuracy.
- Updated the frontend components to utilize the new `SmartSelect` component for supplier and partner selection, enhancing user experience.
- Adjusted the `EDataTable` component to support server-side pagination, ensuring better performance with large datasets.
2026-04-20 14:51:32 +09:00
kjs
9737805bf9 feat: Enhance outbound and receiving update functionalities with inventory adjustments
- Updated the `update` function in the outbound controller to include detailed inventory adjustments when modifying outbound records, ensuring accurate stock management.
- Implemented rollback mechanisms for both outbound and receiving updates to maintain data integrity in case of errors.
- Enhanced the `deleteOutbound` function to include inventory recovery and historical logging for deleted outbound records.
- Introduced a new utility function `adjustInventory` to handle inventory changes consistently across different controllers.
- Improved error handling and logging for better traceability during outbound and receiving operations.
2026-04-20 14:14:24 +09:00
kjs
48b9ba3d2a feat: Enhance routing details and subcontractor mapping functionality
- 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.
2026-04-17 18:25:35 +09:00
kjs
173b85b476 feat: Implement copy functionality for item inspection information
- 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.
2026-04-17 13:11:01 +09:00
kjs
b158b0aa77 feat: Enhance mold serial summary retrieval and improve category handling
- Updated the `getMoldSerialSummary` function to dynamically retrieve category values for mold statuses and operations, allowing for more flexible data aggregation.
- Implemented a mapping mechanism to categorize status codes based on their labels, improving the clarity of the summary results.
- Adjusted SQL queries to utilize the new category mappings for more accurate counts of mold statuses.
- Refactored the packaging and loading unit deletion logic to handle company code checks more efficiently, ensuring proper data access control.
2026-04-16 18:23:20 +09:00
DDD1542
cb9b5b2ec7 Merge remote-tracking branch 'origin/jskim-node' into jskim-node
; Conflicts:
;	frontend/app/(main)/COMPANY_30/sales/order/page.tsx
2026-04-16 12:10:32 +09:00
DDD1542
623cbc0b61 feat: add report preset management API
- Implemented CRUD operations for report presets in reportPresetController.
- Added routes for listing, creating, updating, and deleting report presets.
- Ensured authentication is required for all preset operations.
- Enhanced MaterialData interface to include optional width, height, and thickness properties.
2026-04-16 12:08:28 +09:00
kjs
d3491a79bb feat: Implement approval request validation and enhance UI components
- Added validation to prevent duplicate approval requests for the same target, ensuring that only one active or completed approval exists at a time.
- Implemented a check to disallow self-approval in the approval line unless the approval type is 'self'.
- Integrated the ApprovalDetailModal component into the main layout for improved user experience.
- Updated the SalesOrderPage to include approval status in the data structure, enhancing visibility of approval states.
- Enhanced BOM management modals across multiple company implementations to accommodate new UI requirements.
2026-04-16 10:26:38 +09:00
kjs
a89e99560d feat: Enhance Excel template generation with error handling improvements
- Added errorStyle set to "stop" for various input validations in the template generation process.
- This enhancement ensures that users receive clear error messages when input criteria are not met, improving the overall user experience during data entry.
- These changes aim to streamline the Excel upload process and enhance data integrity across multiple company implementations.
2026-04-15 16:02:11 +09:00
kjs
313e963e63 Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-15 14:23:45 +09:00
kjs
dffa16f3e5 feat: Add Smart Excel Upload functionality for item inspection
- Introduced a new SmartExcelUploadModal component to facilitate bulk item inspection uploads via Excel.
- Implemented logic for downloading templates, validating uploaded files, and parsing data for inspection criteria.
- Enhanced the item inspection page to support dynamic loading of item process mappings and reference data for improved user experience.
- Added necessary types and utility functions for template generation and parsing, ensuring robust handling of Excel data.
- These changes aim to streamline the item inspection process and improve data management across multiple company implementations.
2026-04-15 14:23:44 +09:00
DDD1542
b7082b7799 김주석씨 2026-04-15 11:46:05 +09:00
DDD1542
4d55aebe61 기무주서쿠의원장님 살려주십쇼 2026-04-14 16:45:12 +09:00
kjs
05f08ee04a refactor: Enhance TableSettingsModal column management
- Updated column visibility logic to filter based on defaultVisibleKeys, ensuring only relevant columns are displayed.
- Improved merging of saved column settings by filtering out invalid columns from the saved settings.
- Adjusted the order of visible columns to prioritize those defined in defaultVisibleKeys, enhancing user experience in table settings.

These changes aim to provide a more intuitive and efficient column management experience in the TableSettingsModal component.
2026-04-11 23:03:12 +09:00
SeongHyun Kim
ed881646a5 merge: POP 재고관리 전면 구현 (feature→staging) 2026-04-10 18:48:52 +09:00
SeongHyun Kim
e3657b099d feat: 공정실행 단일/다중품목 뱃지 + 품목타입 표시
- 단일품목: 회색 뱃지 [단일 · 제품]
- 다중품목: 파랑 뱃지 [다중 1/2 · 반제품]
- 리워크: 주황 뱃지 유지 (기존)
- item_info.type으로 품목타입(제품/반제품/원재료/부재료) 표시
- workInstructionController: getList에 item_type 추가
- WorkOrderList: multiBatchInfo useMemo로 단일/다중 판단
- ProcessWork: batchBadge로 헤더에 뱃지 표시
2026-04-10 17:30:01 +09:00
SeongHyun Kim
8c23f48996 feat: POP 재고관리 전면 구현 — 재고조정/재고이동/다중품목 공정
재고조정:
- fullBleed 좌우 분할, 숫자키패드 모달, 위치불일치 QR스캔+모달
- 임시저장 cart_items 상태관리 (saved/cancelled/confirmed)
- 조정이력 별도 페이지, DateRangePicker 통일
- popInventoryController 11개 API (adjust-batch, stock-detail, locations 등)

재고이동:
- 창고 탭: 탭 버튼 패턴 + flat 리스트 (아코디언 제거)
- 공정 탭: 공정명/설비 필터 모달 (작업지시번호 탭 제거)
- move-batch API: 창고→창고 + 공정→창고 (source_type 확장)
- 품목 이력 바텀시트 (transaction_type별 색상)

다중품목 공정실행:
- syncWorkInstructions LIMIT 1 제거 → detail 전체 순회
- batch_id 기반 품목별 공정 분리
- WorkOrderList/ProcessWork 품목 구분 표시

기타:
- PopShell fullBleed 모드 추가
- alert() → 토스트 메시지 교체
- MonitoringSettings import 수정
2026-04-10 17:17:23 +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
b8860e56e5 refactor: Update category value handling to make menuObjid optional
- Modified the addCategoryValue function to allow menuObjid to be optional, accommodating scenarios where it may not be provided, such as in global management screens.
- Adjusted related service and controller logic to handle the absence of menuObjid gracefully, ensuring that the application remains robust and user-friendly.
- Enhanced the frontend components to reflect these changes, improving the overall user experience when adding category values across multiple companies.
2026-04-10 14:17:35 +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