- Added new API endpoints for retrieving company-specific user lists and sending immediate logs for selected users.
- Enhanced the smartFactoryLogController with functions to handle user retrieval and immediate log sending, improving operational efficiency.
- Updated adminRoutes to include routes for the new functionalities, ensuring proper access control for super admins.
- Refactored the sendSmartFactoryLog function to improve logging and error handling, providing better insights into the log transmission process.
These changes aim to enhance the smart factory log management capabilities, facilitating better user interaction and operational tracking.
- Enhanced the deleteReceiving function in the receivingController to retrieve the userId from the request object.
- This addition will facilitate better tracking and auditing of delete operations by associating them with the user performing the action.
- Introduced new quote management pages for COMPANY_7, COMPANY_8, COMPANY_10, COMPANY_16.
- Implemented functionality for creating, editing, deleting, and viewing quotes.
- Integrated dynamic search filters and data grid for displaying quotes.
- Enhanced user experience with modals for item and customer searches, as well as report generation.
These changes aim to provide comprehensive quote management capabilities tailored for different companies, improving operational efficiency and user interaction.
- Added new API endpoints for managing smart factory schedules, including retrieval, creation, updating, and deletion of schedules.
- Integrated schedule management into the smart factory log controller, enhancing the overall functionality.
- Implemented a scheduler initialization process to automate daily plan generation and scheduled sends.
- Developed a frontend page for monitoring equipment, production, and quality, with real-time data fetching and auto-refresh capabilities.
These changes aim to provide comprehensive scheduling capabilities for smart factory operations, improving efficiency and operational visibility for users.
POP 작업 통합 (2026-04-07):
- POP 회사별 자동 세팅 (메뉴 활성화 시 레이아웃 자동 생성)
- 작업상세 체크리스트 토글 UI (큰 터치 버튼)
- BOM 자재 자동 연동 + 키패드 모달 (소수점 지원)
- input_qty 합산 버그 수정
- 리워크/배치/공정실행 다수 버그 수정
- POP UI judgment_criteria 매핑 (judgment_criteria 우선, detail_type 폴백)
- 프로필 POP 모드 조건부 표시
- 자재투입 ±20% 범위 검증 + 색상 피드백
process_work_result.detail_content에는 item_code(R_PLAST_024)가 저장되는데
기존 코드는 child_item_id(UUID)로 매칭하려 해서 항상 0 반환되던 버그.
매칭 키를 child_item_code로 변경 → 정상 합산 확인 (5+30=35)
ChecklistRow:
- detail_type='checklist'/'procedure'/'equip_inspection' → 토글 (확인/미확인)
- detail_type='inspection'/'equip_condition'/'production_result' → 숫자 입력
- judgment_criteria(CAT_JC_01/03) 우선 매핑
MaterialInputSection:
- input → MaterialQtyInputRow (큰 터치 버튼) + MaterialQtyKeypad 모달
- 소수점 지원, 기준값 ±20% 범위 표시
- 범위 외 입력 시 주황색 경고 (차단 아님)
- 기준값 빠른 입력 버튼
jskim-node에서 가져온 inspection page.tsx가 EDataTable 등 main에 없는
컴포넌트에 의존하여 화면 크래시 발생. 일단 제거하여 안정화.
POP UI judgment_criteria 매핑은 detail_type 폴백으로 동작하므로
판단기준 마스터 등록 화면 없이도 정상 작동함.
inspection 마스터 관리는 추후 EDataTable 등 의존성 함께 가져온 후 재도입.
- 백엔드: /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로 폴백
- Introduced three new pages for monitoring: Equipment Monitoring, Production Monitoring, and Quality Monitoring.
- Implemented real-time data fetching and auto-refresh functionality for each monitoring page.
- Enhanced user experience with summary statistics and filtering options for work instructions and inspection data.
- Integrated various UI components for displaying equipment status, production progress, and quality inspection results.
These changes aim to provide comprehensive monitoring capabilities for equipment, production processes, and quality inspections, enhancing operational visibility for users.
- 숫자 키패드 모달 추가 (NumericKeypadModal) — 64x64px 버튼
- input_type별 분기 렌더링:
* checkbox: 큰 터치 토글 버튼 (확인/미확인) 56px+
* number: 터치 시 숫자 키패드 모달 (기준치 ±범위 표시)
* select: 큰 선택 버튼 56px+
* text: 입력칸 높이 56px로 키움
- MaterialQtyInput 컴포넌트: 자재 투입 수량도 키패드 모달 사용
- 모든 터치 영역 ISA-101 기준 (56px+) 적용
- 로그인 시 POP 메뉴 발견 → 해당 회사용 POP 레이아웃 8개 자동 복제
- 템플릿: 공통(*) 우선, COMPANY_7 폴백
- 회사명 자동 치환 (탑씰 → 해당 회사명)
- screen_definitions 공통(*) 화면은 모든 회사 접근 허용
- 프로필 POP 모드 메뉴: POP 메뉴 있는 회사만 표시
- getLayoutPop 개별 자동 복제 (2중 안전망)
- Added a new controller for managing smart factory logs, including retrieval and statistics endpoints.
- Integrated smart factory log migration to set up the necessary database structure.
- Enhanced the authentication controller to include user name in log submissions.
- Developed a frontend page for displaying and filtering smart factory logs, accessible only to super admins.
- Implemented API calls for fetching logs and statistics, improving data visibility and management.
These changes aim to provide comprehensive logging capabilities for smart factory activities, enhancing monitoring and analysis for administrators.
- Added support for collapsing and expanding grouped rows in the EDataTable component.
- Implemented a toggle mechanism for group headers, allowing users to hide or show group details.
- Updated the data processing logic to filter out collapsed group rows, improving data visibility and organization.
These changes aim to enhance the user experience by providing a more structured view of grouped data within the table.
- Integrated ImageUpload component for handling item images in the item info form.
- Updated the data table to include an image column, allowing for image display.
- Enhanced form fields to support image uploads, improving the user experience for managing item images.
These changes aim to provide a more comprehensive item management experience by allowing users to upload and view images directly within the item info page.
리워크 추적:
- 다음 공정 접수 시 리워크 자동 감지 (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 (집계 ✅ 흐름 ✅ 재고 ✅ 마크 ✅)
- Added a new CategoryCombobox component for improved category selection.
- Integrated the combobox into the item info form, replacing the previous select component.
- Enhanced data handling to support multiple category selections with comma separation.
- Updated selling and standard price fields to format numbers correctly.
These changes aim to enhance user experience by providing a more intuitive and flexible category selection method.
- Added new state management for tree editing, allowing users to modify BOM structures dynamically.
- Integrated process options fetching from the API to enhance BOM detail management.
- Implemented functionality for handling where-used queries to track BOM item usage across processes.
- Expanded BOM detail structure to include additional fields such as spec, writer, and updated date for better data representation.
These changes aim to improve the user experience in managing BOM data and facilitate better tracking of item usage within processes.
- accept-process: rework_source_id 전달 시 원본 seq_no와 비교
- 현재 seq < 원본 seq → is_rework='Y' 유지 (마크 표시)
- 현재 seq >= 원본 seq → is_rework 해제 (합류, 마크 없음)
- save-result 응답에 rework_source_id 포함 (프론트 추적용)
- accept-process 응답에 rework_source_id 포함
- Updated the processInfoController to allow for flexible use_yn filtering, supporting both "Y" and "N" values along with their corresponding "USE_Y" and "USE_N" mappings.
- Modified the processWorkStandardController to include selected_bom_items in work item details, enabling better management of BOM data.
- Improved the productionPlanService to handle order summaries more effectively, incorporating legacy and detail data through a unified query structure.
- Enhanced the receiving and outbound pages with new filtering and grouping functionalities, improving user experience and data handling.
These changes aim to streamline process management and improve overall functionality across various modules.
- 분할접수 카드 구분: 같은 공정 복수 SPLIT 시 "접수 #1", "접수 #2" 표시
- 재작업 카드 전공정 표시: is_rework='Y' 카드는 공정 필터 무시, 모든 공정에서 표시
- 대기/완료 탭: 선택한 공정 기준으로만 카드 표시 (기존 동작 확인)
- DefectTypeModal: 전공정/지정공정 UI 이미 구현 확인 (수정 불필요)