Commit Graph

1250 Commits

Author SHA1 Message Date
chpark b4dc9b1927 feat(ai): LLM 라우팅 + 에이전트/지식 UX 다수 개선
Build and Push Images / build-and-push (push) Has been cancelled
LLM 호출
- llmClient.resolveProvider 우선순위 보강: model_name 정확 매칭(case-insensitive)을 1순위로 추가
- MODEL_PROVIDER_MAP regex 모두 /i 플래그 (대문자 'Qwen' 등 대응)
- max_tokens fallback 4096 → 16384
- API key 빈 값일 때 Authorization 헤더 자체를 생략 (인증 안 받는 로컬 LLM 대응)

multiAgentExecutionEngine
- 강제 max_tokens=2000 제거 → provider DB 값 fallback 으로 위임

에이전트 관리 (agents/page.tsx)
- 모델 드롭다운: 하드코딩 MODEL_GROUPS 제거 → 등록된 ai_llm_providers 동적 로드
- 같은 provider type(anthropic/openai/ollama 등) 끼리 그룹핑, 0개일 때 안내
- model_name 빈 값 row 는 dropdown 에서 자동 제외 (Radix 제약 회피)
- max_tokens 기본 16384, 빠른선택 버튼 (4K/16K/32K/64K) 추가
- 적용된 지식 파일 row 클릭 시 상세 모달 (내용/복사) 오픈
- hard delete 서비스 변경에 맞춘 UX

LLM 프로바이더 (providers/page.tsx)
- Ollama (로컬) 선택 시 'API 호출 URL' 입력 필드 노출
- '모델 ID' 직접 입력 필드 추가 (Qwen3.6-35B-A3B 같은 커스텀 모델)
- max_tokens / temperature 편집 UI 추가, 기본값 16384/0.7
- 더미 'ollama' API key 자동주입 제거 (실제 인증 토큰 보존)
- ollama 일 때 model_name 빈 값 저장 차단

대화 모니터링 (conversations/page.tsx)
- 메시지 안의 fenced code block (```lang ... ```) 자동 파싱
- 코드블록 별 다운로드 / 복사 버튼 (파일명 자동 추출 또는 snippet-{n}.{ext})
- 17종 언어 → 확장자 매핑 (html/jsp/ts/tsx/py/java/c/cpp/cs/go/rs/rb/php/sql/yml ...)
- 모달 폭 max-w-2xl → max-w-4xl

API 키 관리 (api-keys-manage/page.tsx)
- 그룹 실행 axios 호출 timeout 30s → 5분 (multi-agent 추론 시간 대응)

지식 라이브러리 (knowledge/page.tsx)
- TS2774 (Buffer.byteLength 함수 참조 truthy 체크) 컴파일 에러 수정 → 청크 빌드 정상화

aiAgentService
- delete() 진짜 hard DELETE 로 변경 + 외래키 의존 row(group_members/conversations/logs/usage) 정리
- list() 기본 필터에 status <> 'archived' 추가 → soft-deleted row 자동 숨김

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 18:41:52 +09:00
chpark 4c1dc4082e feat: Fleet/Collector/엣지 배포 관련 누적 작업 일괄 커밋
Build and Push Images / build-and-push (push) Has been cancelled
이전 세션들에서 작업된 아래 범위를 모두 포함:

Fleet 서브시스템 (src/fleet/)
- fleetDeviceService / fleetCommandService / fleetDeploymentService / fleetReleaseService
- fleetMetricsService, fleetScriptService, fleetEdgeConfigService
- Edge 디바이스 관리, 커맨드 발행, 배포/릴리스, 스크립트 동기화

Collector 확장
- centralMqttForwarder / centralForwarderConfigService
- equipmentStateService, pythonHookRunner, scriptCache
- Modbus/OPC-UA/S7/XGT 프로토콜 클라이언트
- targetDbIntrospection (저장 DB 조회)

Routes / API
- automationDashboardRoutes, centralForwarderRoutes, equipmentStateRoutes

DB
- importEdgeConfig (Python cached config → Pipeline DB)
- seedDataSources (external_db_connections 초기 시드)

엣지 배포 리소스
- docker/edge/Dockerfile.backend.prod, Dockerfile.frontend.prod
- docker/edge/docker-compose.edge.yml

프론트엔드
- admin/automaticMng (centralForwarder, dashboard, equipmentState)
- admin/fleet (commands, devices, deployments, releases, scripts, alerts)
- admin/pipeline-device 개선 (저장 DB 드롭다운, 태그 매핑 등)
- ExternalDbConnectionModal, ScriptsManagerDialog 등 신규 컴포넌트
- lib/api: automationDashboard, centralForwarder, equipmentState, fleet

docs/
- EDGE_SERVER_STRUCTURE, FLEET_COMPLETE, FLEET_EDGE_INTEGRATION, FLEET_HOOK_INTEGRATION

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 20:00:06 +09:00
chpark 01625d9efd feat(collector): MSSQL/MQTT-Sub 수집기 + target DB retry queue + watermark 영속화
MSSQL 수집기 (새 파일 mssqlClient.ts)
- Python sql_collector.py 의 MSSQL 모드 포팅
- watermark 기반 증분 SELECT, batch_mode (row 당 장비), fetch_size 지원
- timestamp_expression 으로 CONVERT/LEFT/RIGHT 등 복합 타임스탬프 표현 가능
- Protocol: MSSQL_DB

MQTT 구독 수집기 (새 파일 mqttCollectorClient.ts)
- tag.address = 토픽, 메시지 캐시 후 readTags() 호출 시 최신값 반환
- payload JSON 파싱 시 json_path 로 특정 필드 추출 가능
- Protocol: MQTT_SUB

Target DB retry queue (pipeline_target_retry_queue)
- 기존 in-memory Array → PG 영속화
- 실패 → enqueue(exp.backoff), 30s 워커가 재시도, 10회 초과 시 폐기
- IDC TimescaleDB 일시 다운 시 데이터 유실 방지 (기존 단순 warn → 적재)

Watermark 영속화 (pipeline_collector_watermark)
- connection_id 당 마지막으로 읽은 타임스탬프 기록
- MSSQL 증분 수집의 핵심, 재기동에도 중복 없음

deviceCollectorService.ts
- case "MSSQL_DB", "MQTT_SUB" 분기 추가
- clientCache 타입에 MssqlClient, MqttCollectorClient 추가
- publishData 5단계 실패 시 enqueueTargetRetry 호출
- startRetryWorker()/stopRetryWorker() 수명 주기 관리

app.ts
- 기동 시 startRetryWorker() 호출

pipelineDeviceTypes.ts
- DeviceProtocol union 에 MSSQL_DB, MQTT_SUB 추가
- PROTOCOL_OPTIONS / PROTOCOL_DEFAULTS 에 등록
- UI 드롭다운 및 기본값 지원

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 18:20:31 +09:00
chpark 156dd1ddb1 fix(pipeline): XGT 프로토콜/이벤트 리포터/라우트 순서 수정
XGT FEnet 클라이언트
- 응답 data_length offset [12] → [16] (요청 시에만 [12,16] 둘 다 씀; 응답은 PLC가 [12:14]를 CPU 정보로 덮음)
- socket.setTimeout idle 타임아웃 제거 → connect 전용 수동 타이머 + setKeepAlive(10s). 폴링 간격(5s)마다 재연결되던 문제 해결

Edge 이벤트 리포터
- edgeStatusReporter.ts 추가: 60초 간격 edge_status_1 하트비트 + edge_events_1 이벤트 기록
- 기동/종료 이벤트 + PLC 상태 전이(connected/disconnected/error) 자동 기록
- PIPELINE_EDGE_* env 로 edge_id/company_id/UUID/table/interval 주입

edge_telemetry metadata 포맷 교정
- migrated_at → forwarded_at, _pipeline 추가 블록 제거
- 프로덕션 원본 스키마와 완전 호환: {priority, device_id(UUID), forwarded_at}

라우트 순서 버그 수정
- pipelineDeviceConnectionRoutes.ts: /target-databases* 가 /:id 뒤에 있어 /:id 가 먼저 매칭됨 → UI 저장 DB 드롭다운 비어있던 문제
- 정적 경로를 /:id 위로 이동

프론트 API URL 해석 일반화
- NEXT_PUBLIC_API_URL 가 localhost인데 브라우저는 원격이면 env 무시하고 현재 origin의 :8080 사용 → 엣지 원격 접속 시 API 연결 보장

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 17:38:53 +09:00
chpark 37cac72085 refactor: Pipeline 네이밍 통일 및 AI 에이전트/장비 연결 기능 추가
- Docker/K8s 배포 설정을 pipeline-backend/pipeline-front로 통일
- 네임스페이스, 서비스, PVC 등 k8s 리소스명 pipeline-* 로 변경
- AI 에이전트 관리 기능 추가 (에이전트, 그룹, 프로바이더, 대화, API 키, 지식베이스)
- 장비 연결 관리 기능 추가 (PLC/Modbus/OPC-UA/MQTT)
- 배치 스케줄러에 AI agent/device collection/crawling 타입 추가
- 배치 편집 UI 개선 (6가지 실행 방식 지원)
- 회사별 페이지(COMPANY_*) 제거 및 AdminPageRenderer 최적화
- 메뉴 재구성: 장비 연결 관리 시스템관리로 이동, 에이전트 오케스트레이션으로 개명
- ai-assistant 디렉토리 제거 (backend-node로 통합)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 12:14:50 +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
kjs 2f50d7d809 fix: Enhance file handling and inspection method mapping
- Updated fileController to include Cross-Origin-Resource-Policy headers for improved security and file handling.
- Added error handling for file streams to ensure robust responses in case of read errors.
- Modified materialStatusController to correctly map material IDs to their respective codes for inventory stock queries.
- Enhanced moldController to include warranty shot count in mold creation and update processes.
- Improved item inspection page by adding inspection method category loading and mapping, ensuring accurate display of method labels in the UI.

These changes aim to enhance the overall functionality and user experience across multiple companies by ensuring proper file handling, data mapping, and error management.
2026-04-10 15:59:38 +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
SeongHyun Kim b0e4b9ed46 Merge branch 'main' of https://g.wace.me/jskim/vexplor_dev 2026-04-10 10:31:44 +09:00
SeongHyun Kim 9f00988110 feat: POP 전면 개선 — 신규 화면 5개 + 버그 수정 9건 + UI 개선
[신규 화면]
- 설비허브 + 설비관리 + 설비점검
- 재고조정 + 재고이동

[버그 수정]
- 창고 NULL status 누락
- 작업지시 sync detail fallback
- InspectionModal API 경로
- 검사결과 DB 저장
- seq_no 비순차 대응
- 출고 재고 부족 검증
- 자동 창고 매칭
- 내 접수 목록 필터

[UI 개선]
- 사이드바 카드형
- 자재투입 컴팩트
- 커스텀 모달
- 불필요 버튼 제거
2026-04-10 10:28:39 +09:00
SeongHyun Kim cdea504d90 fix: POP sync detail fallback + 사이드바 카드 UI
- sync: header에 routing 없으면 detail에서 자동 가져오기 (PC→POP 연동 수정)
- sync: header routing/qty/item_id 자동 보정 (detail → header 동기화)
- 사이드바: 체크리스트/자재투입 카드 형태 UI로 변경
2026-04-09 18:09:30 +09:00
jskim dd66a5a09b Merge branch 'main' into jskim-node 2026-04-09 06:59:00 +00:00
SeongHyun Kim 327b4d01c2 feat: POP 시연 준비 — 5개 화면 + 버그 수정 + 자동 창고 매칭
- 구매입고: 검사기준 API 수정, 검사결과 DB 저장, 검사 미완료 확정 차단
- 판매출고: 재고 부족 사전 검증, 수주상세 ship_qty 반영, 에러 메시지 개선
- 공정실행: seq_no 비순차 대응(3곳), 자재투입 자동 창고 매칭 재고차감, 불필요 버튼 제거
- 검사관리+입출고관리: 신규 화면 (quality, inventory)
- 공통: ConfirmModal 커스텀 모달 (native confirm 대체)
2026-04-09 14:38:28 +09:00
SeongHyun Kim 1b62dae277 Merge branch 'main' of https://g.wace.me/jskim/vexplor_dev 2026-04-09 14:30:32 +09:00
SeongHyun Kim bfac350ed4 feat: POP 시연 준비 — 5개 화면 + 버그 수정 + 재고검증 2026-04-09 14:28:57 +09:00
kjs a9d2df48bf fix: Improve numbering rule handling and item routing functionality
- Added temporary debug response in `numberingRuleController` for better troubleshooting.
- Refactored SQL queries in `NumberingRuleService` to enhance parameter handling and improve clarity.
- Updated `ItemInfoPage` to correctly handle manual input values for user-generated codes.
- Implemented sorting logic in `ItemRoutingTab` to prioritize default routing versions and added functionality to set a version as default.

These changes aim to enhance the reliability and user experience in managing numbering rules and item routing processes.
2026-04-09 12:18:26 +09:00
kjs 51eddc6d84 refactor: Enhance numbering rule handling and BOM management
- Updated the `NumberingRuleService` to support manual values in the computation of non-sequence values.
- Improved the `ItemInfoPage` to parse preview codes into parts, allowing for better handling of manual inputs and dynamic code generation.
- Refactored BOM management to streamline the retrieval of category options for both division and unit, enhancing data consistency.
- Added utility functions to resolve unit labels from category options, improving the clarity of displayed data.

These changes aim to improve the functionality and user experience in managing item information and BOM processes.
2026-04-09 11:52:40 +09:00
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
jskim 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 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
jskim 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 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