Commit Graph

35 Commits

Author SHA1 Message Date
hjjeong 6b029e20f9 구매관리 견적요청서 빈 그리드 채움 (quotation_request_master/detail 신설)
- DDL: quotation_request_master(14 cols) + quotation_request_detail(15 cols)
  운영 → RPS 타입 차이: numeric objid → varchar(64), detail.part_objid bigint(part_mng FK)
- 데이터: 운영 sample master 4건 / detail 4건 (sales_request_part 미존재 → NULL fallback)
- 백엔드 listQuotationRequest — wace salesMng.xml:5248-5349 매퍼 1:1
  (vendor → client_mng JOIN, attach_file_info QUOTATION_RECEIVED 카운트)
- listVendorOptions(client_mng) 신규 — 발주서 vendor 옵션이 supply_mng 와 분리됨
- listPurchaseRequest.has_quotation_request 분기 활성화
- quote-request page.tsx UI 문자열 내부 참조 제거, vendor 옵션 client_mng 로 교체
2026-05-15 15:32:05 +09:00
hjjeong b38f5957f2 구매관리 7메뉴 신규 + M-BOM PR-B3·B5 + 발주관리 DataGrid 통일 + 생산계획&실적 라우트
구매관리 (wace 1:1)
- backend: services/purchaseService.ts (7 list + 옵션 3종) + controllers/purchaseController.ts + routes/purchaseRoutes.ts (/api/purchase 마운트)
- frontend: lib/api/purchase.ts + 7 page.tsx (list/quote-request/proposal/inbound/inbound-by-item/inbound-by-date/project-status)
- 영업관리 4메뉴 DataGrid 패턴 통일 — pageSizeOptions=[10,15,20,50,100], emptyMessage, showColumnSettings/summaryStats/onRefresh/onDownload/showChart
- 마스터단독 데이터(sales_request_master, project_mgmt+mbom_detail) 노출, detail/part 누락 테이블 의존은 빈 그리드 + UI

발주관리 (purchase/order/page.tsx)
- EDataTable → DataGrid 교체 + logicstudio 6종 props + 날짜/숫자 pre-format

M-BOM PR-B3 — 구매리스트 생성 (wace createPurchaseListFromMBom.do 1:1)
- mbomService.createSalesRequest + controller + route POST /api/production/mbom/sales-request
- 단건 체크 + 1:1 강제 + R-YYYYMMDD-NNN 채번 + sales_request_master 단건 INSERT
- production/mbom/page.tsx 에 [구매리스트 생성] 버튼

M-BOM PR-B5 — BOM 할당 (mBomEbomSelectPopup.do)
- mbomService.searchAssignableEboms/assignBom + controller + routes
- MbomAssignDialog 신규, MbomDetailDialog 통합

생산관리 4메뉴 라우트 (생산계획&실적, 소요량)
- prodPlanResultService/Controller + productionPlanResultRoutes (planResult/mbomReq)
- mbomRequirementService + 4 page.tsx (prod-plan-result, prod-plan-result-equip, raw-material-requirement, semi-product-requirement)
- lib/api/prodPlanResult.ts

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 17:31:12 +09:00
hjjeong 66cee22be3 생산관리>M-BOM 관리 — PR-A1 그리드/검색 (mBomMgmtGridList 1:1 이식)
운영 wace productionplanning/mBomMgmtList.jsp + productionplanning.xml:2874-3119
mBomMgmtGridList 매퍼 1:1 이식. PROJECT_MGMT × CONTRACT_ITEM 펼침 그리드
+ M-BOM 헤더/히스토리/구매리스트 상태 표시 + 9 검색 필터.

백엔드 (3 파일 + app.ts 마운트):
- services/mbomService.ts — list() : 9 검색 필터 + 30+ 컬럼 SELECT
  · 주문유형/제품구분/국내해외(CODE_NAME 비교)/고객사(C_ 3-way)/유무상/SN(EXISTS)
  · 품번/품명(PM·CI 양쪽 LIKE)/접수일·요청납기 범위
  · WRITER_NAME/MBOM_EDITOR : user_name() PL/pgSQL (PR-A0 신설)
  · MBOM_STATUS/MBOM_PART_NO/MBOM_REGDATE/MBOM_VERSION : mbom_header+history 서브쿼리
  · PURCHASE_LIST_OBJID/_DATE : sales_request_master.mbom_header_objid 매칭
  · CUSTOMER_NAME : CASE C_% → client_mng / ELSE → supply_mng
- controllers/mbomController.ts — getList
- routes/productionMbomRoutes.ts — GET /list
- app.ts — /api/production/mbom 마운트 (productionRoutes 다음)

프론트 (3 파일):
- lib/api/mbom.ts — MbomListFilter / MbomRow / mbomApi.list
- app/(main)/COMPANY_16/production/mbom/page.tsx — 검색 폼 2행(12 필드) + 16 컬럼 DataGrid
  · comm_code 옵션 로드: /api/sales/codes/0000167 (주문유형) /0000001 (제품구분) /0001782 (유무상)
  · 고객사: /api/sales/customers 재사용 (customer_mng)
  · 국내/해외 + 유상/무상 raw 옵션
- app/(main)/COMPANY_16/purchase/mbom/page.tsx — production/mbom 페이지 re-export
  (사용자 요청: 구매관리 메뉴 트리에도 동일 화면 노출)

메뉴 (data-sync):
- 03_mbom_menu_dedup.sql — menu_info 100016(purchase/mbom) + 100032(production/mbom)
  양쪽 active 보장 (이미 DB에 등록되어 있던 entry)

PR-A2 이후 분리:
- 단건 상세 다이얼로그, read-only mbom_detail 트리 표시
- BOM 복사 (E-BOM→M-BOM 트리 복사)
- 구매리스트 생성 액션 (M-BOM→PURCHASE)
- M-BOM 본 편집 (4프레임 팝업)

검증:
- backend nodemon hot-load OK (401 TOKEN_MISSING 응답으로 라우터 등록 확인)
- 매퍼 SQL 직접 실행: PROJECT_MGMT × CONTRACT_ITEM 5건 + CUSTOMER/M-BOM 매칭 정상
- typecheck: 신규 코드 0 에러 (pre-existing 에러만 잔존)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 15:57:23 +09:00
kjs 7e3a503adc feat: Add sales order bulk upload functionality
- 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.
2026-04-24 17:58:11 +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 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 359fd2823f feat: Update pagination size for API requests across multiple pages
- 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.
2026-04-16 13:22:54 +09:00
kjs 0e09b9e686 feat: Implement duplicate inbound registration check and enhance receiving page
- Added a check in the receiving controller to prevent duplicate inbound registrations based on the inbound number, ensuring idempotency.
- Updated the receiving page to maintain selected items across different inbound types, improving user experience.
- Enhanced the item mapping logic to utilize inventory unit codes, ensuring accurate data representation.
- Adjusted the layout to include a new column for inbound type in the receiving table, providing better visibility of item classifications.
2026-04-16 11:31:41 +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 030ffb581b refactor: Update inventory and unit handling across logistics and purchase pages
- 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.
2026-04-14 14:37:00 +09:00
kjs adf1738772 refactor: Enhance subcontractor, supplier, and customer division handling in item pages
- Added API calls to fetch division types for subcontractors, suppliers, and customers, improving data accuracy and relevance in the respective item pages.
- Updated table cell rendering to utilize the resolved division values, ensuring a more user-friendly display of information.
- These changes aim to provide tailored data views and enhance the overall user experience across multiple company implementations.
2026-04-13 16:05: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 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 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
DDD1542 c8922e23b0 123 2026-04-10 17:31:57 +09:00
DDD1542 c8b1b1b742 123 2026-04-10 13:34:01 +09:00
DDD1542 29c42cbb79 123 2026-04-10 10:43:12 +09:00
DDD1542 1b4555f0af 11 2026-04-09 18:44:12 +09:00
DDD1542 b982cb8db2 123213213 2026-04-09 12:35:34 +09:00
kjs 2a23cadb41 feat: Enhance user management and reporting features
- 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.
2026-04-08 15:33:09 +09:00
DDD1542 77d5b52265 11 2026-04-07 11:52:13 +09:00
DDD1542 00b388c3ab Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-06 17:23:21 +09:00
DDD1542 19e3f7adc2 feat: 공급업체 및 거래처 관리 페이지에서 거래유형 라벨 수정 및 메인 설정 로직 개선 2026-04-06 17:23:19 +09:00
DDD1542 cd22c5aca2 123 2026-04-06 17:23:09 +09:00
DDD1542 3d95eb8caa 짹.짹짹 거리면 두들겨 팸다 2026-04-06 17:12:12 +09:00
kjs b974139abe feat: Enhance item management and inspection functionalities
- 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.
2026-04-06 12:19:42 +09:00
kjs 68e7d5763d feat: Update Purchase Order and Sales Order pages for improved functionality
- Added a new manager selection dropdown in the Purchase Order page, displayed conditionally based on the input mode.
- Adjusted the layout of the supplier information section to improve UI consistency.
- Enhanced the Sales Order page to include dynamic filtering based on division codes, ensuring only relevant items are displayed.
- Implemented recalculation of prices based on selected pricing modes and partner IDs, improving pricing accuracy during order processing.

These changes aim to enhance user experience and streamline order management processes.
2026-04-06 10:11:35 +09:00
DDD1542 fec791d3e0 feat: 그룹 설정 및 데이터 그룹핑 기능 추가123 2026-04-03 18:27:13 +09:00
DDD1542 f92e8729ae Add UI/UX design philosophy document combining Palantir's information density and Toss's user-centric approach 2026-04-03 15:51:33 +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