Commit Graph

1231 Commits

Author SHA1 Message Date
kjs
0345926698 fix: Correct SQL parameter indexing and improve date handling in various components
- Updated SQL query in `productionPlanService.ts` to fix parameter indexing for company code.
- Refactored date handling in `department/page.tsx`, `customer/page.tsx`, and `sales-item/page.tsx` to ensure consistent date formatting.
- Enhanced equipment list state management in `production/plan-management/page.tsx` to use more descriptive property names.

These changes aim to improve the reliability of SQL operations and ensure consistent date handling across the application.
2026-04-08 17:45:28 +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
ff79411c35 Merge branch 'main' into jskim-node 2026-04-08 01:42:08 +00:00
kjs
d90a3a9aff feat: Update smart factory log scheduling and enhance item info page
- Modified the upsertSchedule function to regenerate today's plan immediately after schedule changes, ensuring that already sent users are automatically excluded.
- Increased the data size limit for item info page requests from 500 to 99999 for better data handling across multiple companies.
- Added new pages for design request management, task management, and equipment info, providing comprehensive tools for managing design and equipment processes.

These updates aim to improve the efficiency and usability of the smart factory log and item management systems, enhancing user experience and operational effectiveness.
2026-04-08 10:41:32 +09:00
SeongHyun Kim
add2e34291 Merge branch 'main' of https://g.wace.me/jskim/vexplor_dev
Some checks failed
Build and Push Images / build-and-push (push) Failing after 56s
2026-04-08 10:19:55 +09:00
kjs
8f228bc7c3 refactor: Update smart factory log scheduling behavior
- Removed immediate plan generation on server start to prevent sending logs for past timestamps.
- Updated the upsertSchedule response message to clarify that the schedule will take effect from the next day at 00:05.

These changes aim to enhance the reliability of the smart factory log scheduling system by ensuring that logs are sent at the correct times and reducing the risk of sending outdated logs.
2026-04-07 18:21:08 +09:00
kjs
b62b1c1267 Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-07 17:29:04 +09:00
kjs
fc61a66287 feat: Enhance smart factory schedule management
- Added dailyCount parameter to the upsertSchedule function, allowing for the configuration of daily access limits for users.
- Updated the smartFactoryLog interface to include daily_count, ensuring proper data handling for schedule management.
- Removed the runScheduleNowHandler function from the smartFactoryLogController and adminRoutes, streamlining the API for schedule management.
- Modified the frontend SmartFactoryLogPage to support dailyCount selection, improving user experience in managing schedules.

These changes aim to enhance the flexibility and usability of the smart factory schedule management system, allowing for better control over user access and scheduling operations.
2026-04-07 17:29:03 +09:00
SeongHyun Kim
d795c74dbd feat: POP 입고/출고 채번규칙을 화면설정과 연동
백엔드:
- receiving/generate-number: ?ruleId 쿼리 받아 numberingRuleService.allocateCode 사용
- outbound/generate-number: 동일
- ruleId 없거나 실패 시 기존 하드코딩 채번으로 폴백

프론트:
- InboundCartPage: 확정 시 화면설정의 popConfig.inbound.numberingRuleId 읽어 ruleId 전달
- OutboundCartPage: 확정 시 화면설정의 popConfig.outbound.numberingRuleId 읽어 ruleId 전달

POP 화면설정에서 채번규칙 선택 → 입고/출고 확정 시 자동 적용
2026-04-07 17:11:39 +09:00
7698091f81 Merge branch 'main' into jskim-node 2026-04-07 07:47:17 +00:00
kjs
1b7842c305 feat: Implement smart factory log management features
- 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.
2026-04-07 16:45:52 +09:00
SeongHyun Kim
acd30d3c83 Merge branch 'main' of https://g.wace.me/jskim/vexplor_dev
Some checks failed
Build and Push Images / build-and-push (push) Failing after 1m28s
2026-04-07 15:47:40 +09:00
SeongHyun Kim
fae84efe39 fix: /api prefix 없는 요청도 라우팅 (배포 환경 호환) 2026-04-07 15:47:16 +09:00
kjs
96cee05945 feat: Add userId retrieval in deleteReceiving function
- 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.
2026-04-07 14:51:50 +09:00
kjs
57b64653c0 merge: resolve conflicts accepting incoming changes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 14:44:17 +09:00
kjs
c3e973bb1a feat: Implement smart factory schedule management functionality
- 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.
2026-04-07 14:16:26 +09:00
SeongHyun Kim
630b135254 fix: BOM 자재 input_qty 합산 매핑 키 수정 (item_code 기준)
process_work_result.detail_content에는 item_code(R_PLAST_024)가 저장되는데
기존 코드는 child_item_id(UUID)로 매칭하려 해서 항상 0 반환되던 버그.

매칭 키를 child_item_code로 변경 → 정상 합산 확인 (5+30=35)
2026-04-07 12:45:39 +09:00
SeongHyun Kim
b497db9987 chore: Playwright 의존성 제거 + jskim-node에서 inspection 관리 페이지 cherry-pick
- playwright, @playwright/test 제거 (cmux browser만 사용)
- inspection page.tsx: 판단기준(judgment_criteria) Select UI 포함 버전으로 업데이트
2026-04-07 12:10:56 +09:00
SeongHyun Kim
450247026c feat: POP 작업상세 체크리스트 UI를 judgment_criteria 기반으로 매핑
- 백엔드: /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로 폴백
2026-04-07 12:06:01 +09:00
SeongHyun Kim
3929ec17f2 fix: BOM 자재 조회 시 기존 투입량 합산 반영
- getBomMaterials에서 input_qty: 0 하드코딩 → process_work_result에서 실제 투입량 SUM
- child_item_id별 투입 합산으로 정확한 잔여량 표시
2026-04-07 11:07:19 +09:00
SeongHyun Kim
21e89922eb feat: POP 회사별 자동 세팅 — 메뉴 활성화 시 레이아웃 자동 생성
- 로그인 시 POP 메뉴 발견 → 해당 회사용 POP 레이아웃 8개 자동 복제
- 템플릿: 공통(*) 우선, COMPANY_7 폴백
- 회사명 자동 치환 (탑씰 → 해당 회사명)
- screen_definitions 공통(*) 화면은 모든 회사 접근 허용
- 프로필 POP 모드 메뉴: POP 메뉴 있는 회사만 표시
- getLayoutPop 개별 자동 복제 (2중 안전망)
2026-04-07 10:46:54 +09:00
kjs
822f9ac35a feat: Implement smart factory log functionality
- 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.
2026-04-07 10:35:16 +09:00
SeongHyun Kim
15029dc58d feat: 리워크 추적 시스템 + 합류 판정 + 버그 12건 수정
리워크 추적:
- 다음 공정 접수 시 리워크 자동 감지 (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 (집계  흐름  재고  마크 )
2026-04-06 22:27:23 +09:00
SeongHyun Kim
6bdcdec9c3 feat: 리워크 원점 복귀 추적 — 원본 공정 도달 시 마크 해제
- 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 포함
2026-04-06 16:09:21 +09:00
SeongHyun Kim
d0238d26c6 fix: 리워크 마스터 전량접수 시 completed로 변경 (in_progress → completed) 2026-04-06 15:50:48 +09:00
kjs
cf9f53e4c5 feat: Enhance process and work standard management functionalities
- 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.
2026-04-06 15:50:33 +09:00
SeongHyun Kim
2ff9f04d86 feat: 리워크 SPLIT에 is_rework 전달 + 진행중 리워크 배지 표시
- 리워크 카드 접수 시 SPLIT에 is_rework='Y', rework_source_id 복사
- 진행중/완료 탭에서 리워크 SPLIT에 리워크 배지 표시
- 리워크 마스터만 숨기고 리워크 SPLIT은 표시
2026-04-06 15:44:53 +09:00
SeongHyun Kim
fb3ecff02d fix: newTotalInput 변수 스코프 오류 수정 2026-04-06 15:29:41 +09:00
SeongHyun Kim
e21c672f09 fix: 리워크 접수 버그 2건 수정
- 리워크 전량 접수 시 status→in_progress (재접수 방지)
- 리워크 접수 시 master input_qty 덮어쓰기 방지
- 재고 중복: location_code 차이 (NULL vs "01") — 정상 동작이지만 주의 필요
2026-04-06 15:11:30 +09:00
SeongHyun Kim
d1d823d5ca fix: 재작업 카드 접수 — 자체 input_qty 기반 접수 가능 (앞공정 무관) 2026-04-06 14:07:11 +09:00
SeongHyun Kim
507264a718 fix: completed master 재활성화 — 새 양품 들어오면 acceptable로 복귀 2026-04-06 13:54:29 +09:00
SeongHyun Kim
b8c9d94a73 feat: 재작업 카드를 지정 공정에 생성
- target_process_code가 있으면 해당 공정의 마스터를 찾아서 재작업 카드 생성
- 없으면 기존처럼 같은 공정에 생성
- 지정 공정의 seq_no, process_code, routing_detail_id 사용
2026-04-06 13:47:51 +09:00
SeongHyun Kim
c8f24d60f3 fix: batch_id 컬럼 없을 때 fallback + 트랜잭션 안전 처리
- batch_id 컬럼 존재 여부를 사전 확인 후 INSERT 쿼리 분기
- 트랜잭션 내 try-catch fallback 대신 조건부 컬럼 방식으로 변경
- 배포 DB에 ALTER TABLE 권한 없어도 정상 동작
2026-04-06 12:20:09 +09:00
SeongHyun Kim
32f99fba63 feat: 배치(로트) 추적 — batch_id 컬럼 + 카드 진행률 표시
- work_order_process에 batch_id 컬럼 자동 추가 (ALTER TABLE IF NOT EXISTS)
- 접수 시 batch_id 자동 생성 (BATCH-timestamp-random)
- 다음 공정 접수 시 batch_id 전달 가능 (이어받기)
- 완료 카드: 같은 batch_id의 SPLIT 추적으로 정확한 진행률 표시
- 예: seq1만 완료 → ✓○○ (1/3), 전체 완료 → ✓✓✓ (전체 완료)
2026-04-06 12:08:35 +09:00
SeongHyun Kim
78f959c091 fix: 접수가능 이중 집계 버그 수정 + 바텀바 삭제
- available-qty: master+SPLIT 이중 합산 → SPLIT만 합산 (5곳)
- 원인: master에 합산된 good_qty와 SPLIT의 good_qty가 중복 카운트
- PopShell: 하단 footer(copyright/version/긴급연락) 삭제
2026-04-06 11:47:13 +09:00
SeongHyun Kim
9ea59e94df Merge branch 'main' of https://g.wace.me/jskim/vexplor_dev
Some checks failed
Build and Push Images / build-and-push (push) Failing after 1m29s
2026-04-05 17:45:55 +09:00
SeongHyun Kim
a04ddd15ec feat: POP 기능 병합 (pop-screen → main, PC 무변경 46건)
- POP 생산: 재고 관리, 재작업 이력, BOM 자재투입 기능 추가
- POP 설정: 설정 시스템 + 관리 페이지 (/pop/admin)
- POP 화면: 버그 수정 + 설정 연동 + 다음공정 활성화 수정
- PC 코드 무변경 (보류 6건: app.ts, 출고/입고/작업지시 컨트롤러, 레이아웃)
2026-04-05 17:45:33 +09:00
kjs
588f7692a2 Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-03 17:38:16 +09:00
kjs
e25ca7beca feat: Enhance outbound and receiving functionalities
- Updated inventory history insertion logic in both outbound and receiving controllers to use consistent field names and types.
- Added a new endpoint for retrieving warehouse locations, improving the ability to manage inventory locations.
- Enhanced the outbound page to include location selection based on the selected warehouse, improving user experience and data accuracy.
- Implemented validation for warehouse code duplication during new warehouse registration in the warehouse management page.

These changes aim to streamline inventory management processes and enhance the overall functionality of the logistics module.
2026-04-03 17:38:14 +09:00
DDD1542
78c327c40a Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-03 17:01:08 +09:00
DDD1542
425e1c6cf8 feat: 개선된 데이터 필터링 로직 및 동적 검색 필터 옵션 로드 기능 추가 2026-04-03 17:01:06 +09:00
kjs
eee20c6581 refactor: Update logistics and inspection pages for improved field labels and validation
- 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.
2026-04-03 16:02:14 +09:00
kjs
adcc16da36 feat: Enhance mold management functionality
- Added new `updateMoldSerial` API endpoint for updating mold serial details.
- Modified existing mold-related SQL queries to include `id` and `created_date` fields.
- Updated frontend to handle mold serial updates and image uploads.
- Improved subcontractor management table with additional fields and rendering logic.

This update improves the overall functionality and user experience in managing molds and subcontractors.
2026-04-03 14:17:26 +09:00
kjs
ca7b145c7f feat: Enhance logging and configuration for Smart Factory integration
- Added companyCode to the AuthController for improved logging.
- Updated sendSmartFactoryLog function to support company-specific API keys.
- Configured environment variables for company-specific Smart Factory API keys in Docker Compose files.

This update ensures that logs are more informative and that the correct API keys are used based on the company context.
2026-04-03 11:23:02 +09:00
kjs
d0b8ab02b3 [agent-pipeline] pipe-20260403004704-gib0 round-1 2026-04-03 09:48:39 +09:00
kjs
bf8c351082 Merge branch 'main' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-02 17:43:30 +09:00
kjs
148f20c7c5 Update menu assignment logic and enhance dynamic search filter rendering
- Modified the menu assignment logic to ensure that screen assignments are only deactivated if the menu URL is either empty or not a valid screen URL, improving the accuracy of screen management.
- Updated the rendering of active filters in the DynamicSearchFilter component to include a key for each filter, enhancing React's rendering performance and preventing potential issues with list updates.

These changes improve the functionality and performance of the admin interface, ensuring a more reliable user experience.
2026-04-02 17:42:45 +09:00
SeongHyun Kim
9b7b88ff7c feat: POP 하드코딩 화면 추가 (PC 코드 무변경 재병합)
Some checks failed
Build and Push Images / build-and-push (push) Failing after 1m30s
- POP 전용 39개 파일 추가 (홈/입고/출고/생산)
- 백엔드 INSERT에 id gen_random_uuid 추가 (5개 파일)
- POP 전용 API 7개 추가 (창고/위치/입고/동기화)
- PC 코드 구조/순서/로직 변경 없음 (AppLayout, UserDropdown 미수정)
2026-04-02 17:39:42 +09:00
kjs
9749234c30 Refactor password reset logic and update UI components for better user experience
- Removed the minimum password length validation from the backend, simplifying the password reset process.
- Updated the password encryption method to utilize `EncryptUtil`, enhancing security and maintainability.
- Adjusted the `UserPasswordResetModal` component to reset alert states upon closing, improving user feedback.
- Modified the z-index values in the `Popover` and `Select` components for better layering and visibility in the UI.

These changes streamline the password reset functionality and enhance the overall user interface, ensuring a more intuitive experience for administrators.
2026-04-02 17:22:21 +09:00
kjs
ce99001970 Add quote management functionality with API and UI integration
- Introduced a new `quote` module, including routes, controllers, and services for managing quotes.
- Implemented API endpoints for listing, creating, updating, and deleting quotes, ensuring proper company code filtering for data access.
- Developed a comprehensive UI for quote management, allowing users to create, edit, and view quotes seamlessly.
- Enhanced the admin layout to include the new quote management page, improving navigation and accessibility for users.

These additions significantly enhance the application's capabilities in managing quotes, providing users with essential tools for their sales processes.
2026-04-02 15:30:44 +09:00