Commit Graph

4230 Commits

Author SHA1 Message Date
SeongHyun Kim
bfac350ed4 feat: POP 시연 준비 — 5개 화면 + 버그 수정 + 재고검증 2026-04-09 14:28:57 +09:00
SeongHyun Kim
0d62af8c8b feat: 작업상세 헤더+사이드바 글자 위계 조정 (산업현장 1m 거리 기준)
옵션 B 적용 — 메인 본문은 그대로, 헤더와 사이드바만 한 단계 위계 업그레이드

상단 헤더:
- 라벨 (작업지시/품목/공정/지시): 12px → 14px
- 값 (CODE-00003 등): 14px → 16px
- 접수 수량 (가장 중요): 14px → 18px
- 상태/재작업 배지: 12px → 13px

사이드바:
- Phase 라벨 (작업 전/중/후, 실적, 입고): 12px → 16px
- Phase 카운터: 12px → 13px
- 그룹 항목 (베셀 상태 확인 등): 12px → 14px
- 그룹 카운터: 12px → 13px
- 섹션 (자재 투입/실적 입력/재고 입고): 12px → 14px

메인 영역(Timer/Quantity/Register)은 위계가 이미 잘 잡혀있어 변경 없음
2026-04-08 12:21:34 +09:00
SeongHyun Kim
cdea6297e7 fix: 품목+설비명 합쳐서 한 줄 슬라이드 (둘 다 길 때 대응) 2026-04-08 11:17:53 +09:00
SeongHyun Kim
659bd9caad feat: 공정실행 카드 긴 텍스트 자동 슬라이드
AutoScrollText 컴포넌트: 텍스트가 영역을 넘으면 자동 마키 애니메이션
- 제품명(제품코드) 긴 경우 자동 슬라이드
- 짧으면 정지 상태로 표시
- 접수가능 카드 + 진행중 카드 모두 적용
2026-04-08 11:16:24 +09:00
SeongHyun Kim
a96d5ac2c1 fix: 공정실행 카드에 제품명(제품코드) 형식으로 표시 2026-04-08 11:06:50 +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
SeongHyun Kim
6139542fde merge: feature/pop-outbound-cart-settings → pop-dev
- 출고 장바구니 설정 추가 (screen_id 7010)
- 채번규칙 장바구니 화면에서만 표시
- iframe 매칭 URL 우선순위 수정
- 입고/출고 상태값 PC와 동일하게 수정
2026-04-08 10:19:34 +09:00
SeongHyun Kim
71abfebb51 fix: POP 입고 확정 시 inbound_status를 '입고완료'로 전달
기존: inbound_status 미전달 → 백엔드 기본값 '대기'
수정: '입고완료' 명시적 전달
2026-04-08 10:04:44 +09:00
SeongHyun Kim
126f11354e fix: POP 출고 확정 시 outbound_status를 '출고완료'로 변경
기존: '대기' 하드코딩 → 출고 확정해도 상태 미갱신
수정: '출고완료'로 → 출고 확정 시 정상 상태 반영
2026-04-08 09:57:57 +09:00
d59c43554f Merge pull request 'jskim-node' (#13) from jskim-node into main
Some checks failed
Build and Push Images / build-and-push (push) Failing after 52s
Reviewed-on: #13
2026-04-08 00:47:01 +00:00
63bd0a555a Merge branch 'main' into jskim-node 2026-04-08 00:46:54 +00:00
kjs
97ef3a4675 Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-08 09:46:35 +09:00
kjs
f9f5a7e7e5 feat: Add inspection management page for COMPANY_16 and COMPANY_29
- Introduced a new inspection management page for both COMPANY_16 and COMPANY_29, featuring a comprehensive table for managing inspection standards.
- Implemented dynamic category loading and user options for enhanced functionality.
- Integrated various UI components such as buttons, inputs, and dialogs to facilitate user interactions.
- Established state management for inspections, defects, and equipment, ensuring a smooth user experience.

These additions aim to improve the quality management processes within the application, providing users with the necessary tools to manage inspections effectively.
2026-04-08 09:46:34 +09:00
SeongHyun Kim
a7b914407c feat: 채번규칙 필드를 입고/출고 장바구니 화면에서만 표시
- SettingField에 showOnlyForScreens 옵션 추가
- 입고번호 채번: inbound-cart에서만 표시
- 출고번호 채번: outbound-cart에서만 표시
- 구매입고/판매출고/유형선택 등 다른 화면에서는 채번 필드 숨김

이로써 채번 설정의 컨텍스트가 명확해짐
2026-04-07 18:46:18 +09:00
SeongHyun Kim
dad8df7b10 fix: POP 화면설정 iframe 매칭 — 정확/길이 긴 url 우선
문제: /pop/outbound/cart 진입 시 startsWith 매칭으로
      /pop/outbound(출고유형선택)가 먼저 잡혀 selectedScreen이 잘못 설정됨

해결: 정확 일치 1순위 + url 길이 긴 항목 startsWith 우선
2026-04-07 18:23:36 +09:00
dc674dab27 Merge pull request 'jskim-node' (#12) from jskim-node into main
Some checks failed
Build and Push Images / build-and-push (push) Failing after 1m36s
Reviewed-on: #12
2026-04-07 09:21:27 +00:00
6688265bbc Merge branch 'main' into jskim-node 2026-04-07 09:21:23 +00:00
kjs
e45df7d59e Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-07 18:21:10 +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
SeongHyun Kim
444f0f95f3 feat: POP 화면설정에 출고 장바구니 항목 추가
- screen_definitions에 7010 (POP_OUTBOUND_CART) 신규 등록
- popSettingsMng SCREEN_GROUPS의 outbound에 outbound-cart 추가
- OutboundCartPage 채번규칙 조회 screen_id를 5 → 7010으로 변경

이로써 POP 설정 페이지에서 출고 장바구니 화면도 미리보기 + 채번규칙 설정 가능
2026-04-07 17:55:40 +09:00
09eb39a3b7 Merge pull request 'jskim-node' (#11) from jskim-node into main
Some checks failed
Build and Push Images / build-and-push (push) Failing after 53s
Reviewed-on: #11
2026-04-07 08:29:24 +00:00
c64e837114 Merge branch 'main' into jskim-node 2026-04-07 08:29:18 +00: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
SeongHyun Kim
1abc6645fb fix: 채번규칙 셀렉트 — camelCase 응답 구조 반영 2026-04-07 17:01:11 +09:00
SeongHyun Kim
31e225f6d3 feat: POP 화면설정 채번규칙 셀렉트 박스 구현
- 새 type "numbering-rule" 추가
- NumberingRuleSelect 컴포넌트: 회사별 채번규칙 목록 자동 로드
- 입고/출고 설정에서 inbound/outbound 키워드로 필터링
- 등록된 채번규칙이 없으면 안내 메시지 표시
2026-04-07 16:59:25 +09:00
SeongHyun Kim
2f675660b4 feat: POP 화면설정 — 채번규칙 필드 추가 + 미구현 항목 표기
- 입고/출고 설정에 채번규칙(numberingRuleId) 텍스트 필드 추가
- 하드코딩 POP에 미연동된 설정 항목에 (미구현) 라벨 추가
- 구현 완료: 배너(ON/OFF+텍스트), 자재투입, 그룹별사진
- 미구현: 바코드, 검사필수, 사진첨부, 포장, PLC, 날짜필터 등
2026-04-07 16:50:17 +09:00
c33cae15de Merge pull request 'feat: Implement smart factory log management features' (#10) from jskim-node into main
Some checks failed
Build and Push Images / build-and-push (push) Failing after 50s
Reviewed-on: #10
2026-04-07 07:47:24 +00: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
73199876fd feat: POP 배너를 화면설정에서 관리 가능하도록 연동
PopShell에서 하드코딩 배너 → popConfig.bannerEnabled/bannerText 읽기
- 설정에서 배너 OFF → 배너 숨김
- 설정에서 텍스트 입력 → 해당 텍스트 표시
- 설정 없으면 기존 기본 문구 유지 (폴백)
2026-04-07 16:30:53 +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
18980e874b Merge pull request 'feat: Add userId retrieval in deleteReceiving function' (#9) from jskim-node into main
Some checks failed
Build and Push Images / build-and-push (push) Failing after 1m31s
Reviewed-on: #9
2026-04-07 05:52:33 +00:00
3be2b57c04 Merge branch 'main' into jskim-node 2026-04-07 05:52:26 +00: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
b02b637b28 Merge pull request 'jskim-node' (#8) from jskim-node into main
Some checks failed
Build and Push Images / build-and-push (push) Failing after 45s
Reviewed-on: #8
2026-04-07 05:46:24 +00: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
e8bd4e8136 feat: Add quote management pages for multiple companies
- 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.
2026-04-07 14:42:12 +09:00
kjs
69544e16e2 Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-07 14:28:06 +09:00
kjs
8e63c9b481 Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-07 14:21:45 +09:00
DDD1542
b54a23d18f Merge branch 'jskim-node' of https://g.wace.me/jskim/vexplor_dev into jskim-node 2026-04-07 14:21:30 +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
20a4dac070 merge: feature/pop-bugfix-and-settings → main
Some checks failed
Build and Push Images / build-and-push (push) Failing after 55s
POP 작업 통합 (2026-04-07):
- POP 회사별 자동 세팅 (메뉴 활성화 시 레이아웃 자동 생성)
- 작업상세 체크리스트 토글 UI (큰 터치 버튼)
- BOM 자재 자동 연동 + 키패드 모달 (소수점 지원)
- input_qty 합산 버그 수정
- 리워크/배치/공정실행 다수 버그 수정
- POP UI judgment_criteria 매핑 (judgment_criteria 우선, detail_type 폴백)
- 프로필 POP 모드 조건부 표시
- 자재투입 ±20% 범위 검증 + 색상 피드백
2026-04-07 12:46:16 +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
2fee120007 feat: 하드코딩 POP - 체크리스트 토글 + 자재투입 키패드 모달
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% 범위 표시
- 범위 외 입력 시 주황색 경고 (차단 아님)
- 기준값 빠른 입력 버튼
2026-04-07 12:39:55 +09:00
SeongHyun Kim
4b62817bf5 revert: inspection 관리 페이지 제거 (의존성 부족)
jskim-node에서 가져온 inspection page.tsx가 EDataTable 등 main에 없는
컴포넌트에 의존하여 화면 크래시 발생. 일단 제거하여 안정화.

POP UI judgment_criteria 매핑은 detail_type 폴백으로 동작하므로
판단기준 마스터 등록 화면 없이도 정상 작동함.

inspection 마스터 관리는 추후 EDataTable 등 의존성 함께 가져온 후 재도입.
2026-04-07 12:18:17 +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