SeongHyun Kim
34adbb7bef
fix: 불필요한 닫는 괄호 제거 (서버 크래시 원인)
2026-04-03 15:18:22 +09:00
SeongHyun Kim
e4fc2a04df
fix: key 중복 에러 + 다중공정 활성화 순서 버그
...
1. WorkOrderList: card key를 id+status+parent로 유니크화
2. saveResult: 분할행 완료+마스터 캐스케이드를 다음공정 활성화보다 먼저 실행
- 기존: 다음공정 활성화 → 분할행 완료 (마스터가 아직 미완료)
- 수정: 분할행 완료 → 마스터 완료 → 다음공정 활성화 (정확한 상태 기반)
2026-04-03 15:08:24 +09:00
SeongHyun Kim
e4b31999f9
feat: 다중공정(병렬) 지원
...
1. 공정 생성: is_fixed_order='Y'인 공정은 생성 시 acceptable (대기 아님)
2. 다음 공정 활성화: Y 연속 그룹 전체 완료 확인 후 다음 활성화
- 그룹 내 미완료 공정이 있으면 다음으로 안 넘어감
- 그룹 전체 완료 시 다음 seq 활성화
3. 작업지시 완료 판정: 기존 로직 유지 (마지막 seq 기준)
2026-04-03 14:52:20 +09:00
SeongHyun Kim
69afe91fa6
feat: BOM 자재 투입 기능 구현
...
백엔드:
- GET /pop/production/bom-materials/:processId — BOM 조회 + 소요량 계산
- POST /pop/production/material-input — 투입 기록 + 재고 차감
- GET /pop/production/material-inputs/:processId — 투입 현황 조회
프론트:
- 사이드바 "자재 투입" 메뉴 추가
- MaterialInputSection: BOM 목록 + 투입량 입력 + 투입 이력
- 유동 투입 허용 (BOM 기준과 다른 수량 입력 가능)
2026-04-03 14:43:55 +09:00
SeongHyun Kim
d9ed3d651f
fix: 리워크 카드 접수가능 수량 = input_qty (불량 수량 그대로)
2026-04-03 14:15:26 +09:00
SeongHyun Kim
f1634b48b8
fix: 리워크 카드를 masterProcesses에 포함 (is_rework=Y 조건 추가)
2026-04-03 14:14:31 +09:00
SeongHyun Kim
c9d0b6057b
fix: 리워크 판별 is_rework='Y' 추가 (DB 값 매핑)
2026-04-03 14:12:39 +09:00
SeongHyun Kim
939529e28b
feat: 오차범위 알림 + 재작업 이력 API + 사진 업로드
...
1. 오차범위 자동 판정: 상한/하한 초과 시 경고 알림
2. 재작업 이력 조회 API: GET /pop/production/rework-history/:woId
- 체인 추적 (source → rework1 → rework2)
- 총 재작업 횟수, 공정별 불량/양품 수량
3. 사진 업로드: 체크리스트 항목에 카메라 버튼
- attach_file_info 연동 (target_table=process_work_result)
- 카메라 캡처(capture=environment) 지원
2026-04-03 14:01:50 +09:00
SeongHyun Kim
5ee8627697
fix: 그룹 타이머 완료 후 포함시간 멈춤 (completedAt 기준)
2026-04-03 12:16:55 +09:00
SeongHyun Kim
1133215c73
fix: 품목 정보 표시 — wi_id 매핑 + item_info 조회 fallback
...
- WorkOrderList: work-instruction/list의 wi_id→id 매핑, 중복 제거
- ProcessWork: item_name 비어있으면 item_id로 item_info 추가 조회
- item_number 필드 지원 (API가 item_code 대신 item_number 반환)
2026-04-03 12:11:54 +09:00
SeongHyun Kim
cedf49e854
fix: item_number 필드 추가 — API 응답 매핑 수정 (품목 표시)
2026-04-03 12:06:13 +09:00
SeongHyun Kim
3400dc3d9b
fix: 드로어 항목에 품목명(품번) 추가
2026-04-03 11:58:17 +09:00
SeongHyun Kim
6ed5b93e87
fix: 정보바 지시수량+접수수량 분리 표시 (접수는 주황색 강조)
2026-04-03 11:52:44 +09:00
SeongHyun Kim
9c3fe397b7
fix: 드로어 항목 — 작업지시번호+공정+설비+접수수량 (진행중 배지 제거)
2026-04-03 11:52:01 +09:00
SeongHyun Kim
486b6335ad
fix: 드로어를 사이드바 가장자리 탭(>) 핸들로 변경
2026-04-03 11:45:54 +09:00
SeongHyun Kim
2119a3546e
fix: 내 작업 탭 제거 + 드로어 1건부터 표시
...
- "내 작업" 탭 완전 제거 (드로어로 대체)
- 드로어 버튼 조건: 2건→1건 이상으로 변경
- 필터 로직에서 my_work 관련 코드 정리
2026-04-03 11:36:52 +09:00
SeongHyun Kim
648d78c980
fix: 드로어 토글을 좌상단 보라색 버튼으로 변경 (접수 2건 이상일 때만)
2026-04-03 11:17:15 +09:00
SeongHyun Kim
aaafde4684
feat: 작업상세 내 접수 목록 드로어 (숨겨진 사이드바)
...
- 왼쪽 가장자리 탭 터치 → 드로어 열림
- 내가 접수한 모든 작업 목록 표시 (공정/설비 무관)
- 항목 터치 → 작업상세가 해당 작업으로 전환
- 작업지시번호, 품목, 공정명, 수량 표시
- 내 작업 탭 필터 원복 (공정/설비 필터 적용)
2026-04-03 11:16:05 +09:00
SeongHyun Kim
39a8ffb64b
fix: 내 작업 탭 — 공정/설비 필터 무시, 전체에서 내 접수만 표시
...
- 작업자가 여러 공정/설비에서 접수한 것을 한 탭에서 모아보기
- 내 작업 카운트도 필터 무관 전체 기준
- 팀장 요구사항: 한 사람이 여러 공정 담당 가능
2026-04-03 11:08:19 +09:00
SeongHyun Kim
3c53addf25
fix: 작업상세 정보바 뒤로가기 버튼 제거 (모달 X로 대체)
2026-04-03 11:05:21 +09:00
SeongHyun Kim
e7e084a5f0
fix: 타이머 하단 전체시간+포함/순수 라벨 제거
2026-04-03 10:56:59 +09:00
SeongHyun Kim
0aff2a60cc
fix: 그룹 타이머 낙관적 업데이트 — 버튼 즉시 반영, API 백그라운드
2026-04-03 10:55:48 +09:00
SeongHyun Kim
ab4c28e6ba
feat: 통합 타이머 — 포함시간+순수시간+그룹명+버튼 한 줄
...
- ProcessTimer 제거 → 그룹 레벨 통합 타이머로 교체
- 포함시간(크게) | 순수시간(회색) | 그룹명 | 시작/정지/재개/종료
- 콘텐츠 내 중복 그룹 타이머 제거
- 전체 경과 시간은 하단 작은 텍스트로 표시
2026-04-03 10:52:31 +09:00
SeongHyun Kim
c8c1d6b57f
fix: 타이머 버튼 낙관적 업데이트 (로딩 제거)
...
- 일시정지/재개/시작/종료 클릭 시 UI 즉시 반영
- API는 백그라운드로 호출, 완료 후 조용히 동기화
- 실패 시 서버 상태로 자동 복원
- 그룹 타이머도 await 제거 → fetchProcess() 백그라운드
2026-04-03 10:14:59 +09:00
SeongHyun Kim
8ba6e149a0
fix: 사이드바 선택 항목 파란 배경 제거 → 흰색+검정 보더
2026-04-03 10:06:48 +09:00
SeongHyun Kim
2ea9cfec9c
feat: 타이머 한 줄 컴팩트 + 사이드바 글씨 확대
...
- ProcessTimer: 한 줄 레이아웃 (시간 왼쪽 + 버튼 오른쪽)
- 타이머 높이 대폭 축소 (300px→60px)
- 사이드바 text-[10px]→text-xs (12px), 폭 220→240
- 버튼 h-12 유지 (터치 가능)
2026-04-03 10:04:52 +09:00
SeongHyun Kim
2658818843
feat: 작업상세 레이아웃 변경 — 왼쪽 사이드바 항상 표시
...
- 왼쪽: 사이드바(대분류 전체 보임, 항상 표시)
- 오른쪽 상단: 타이머 (고정)
- 오른쪽 하단: 콘텐츠 (스크롤)
- 모바일 탭 숨김 (사이드바로 대체)
- KPI/진행률 영역 제거됨
2026-04-03 09:54:05 +09:00
SeongHyun Kim
8711031eab
fix: 작업상세에서 KPI(접수/생산/양품/불량) + 진행률 제거
2026-04-03 09:43:29 +09:00
SeongHyun Kim
76cbb1bbe5
feat: 작업상세를 풀스크린 모달로 변경 (페이지 이동 제거)
...
- 진행중 카드 클릭 → ProcessWork 풀스크린 오버레이 열림
- 우측 상단 X 버튼으로 닫기 (작업 상태 DB에 이미 저장됨)
- 닫을 때 fetchAll() 호출하여 목록 갱신
- 페이지 이동(router.push) 대신 상태 기반 모달
2026-04-03 09:36:38 +09:00
SeongHyun Kim
9832e2fc7a
fix: 진행중 카드 터치→작업상세, 버튼은 접수취소만
...
- 카드 전체 클릭 → goToWork (작업상세 진입)
- 하단 버튼: "접수 취소"만 (실적 없을 때)
- e.stopPropagation으로 카드 클릭과 버튼 클릭 분리
- "작업 계속" 버튼 제거 (카드 터치로 대체)
2026-04-03 09:32:13 +09:00
SeongHyun Kim
69b847b1fc
fix: 진행중 카드 버튼 세로 배치 + 큰 터치 영역 (py-4, text-base)
2026-04-03 09:11:35 +09:00
SeongHyun Kim
27b71e471f
fix: 작업상세에서 접수 취소 버튼 제거 (카드 목록에서만 취소)
2026-04-03 09:10:47 +09:00
SeongHyun Kim
75e77d6952
fix: 진행중 카드에 접수 취소 버튼 추가 (실적 없을 때만)
2026-04-03 09:09:56 +09:00
SeongHyun Kim
ce5e9ab4cf
fix: 접수 후 현재 탭 유지 (진행중 자동 전환 제거)
2026-04-03 09:09:00 +09:00
SeongHyun Kim
2a2c244d4a
fix: 공정실행 워크플로우 대칭성 버그 4건 수정
...
1. cancelAccept: 마스터 input_qty 재계산 (취소 시 수량 복원)
2. cancelAccept: 체크리스트(process_work_result) 같이 삭제
3. cancelAccept: 트랜잭션 적용 (BEGIN/COMMIT/ROLLBACK)
4. acceptProcess: 트랜잭션+FOR UPDATE 추가 (동시 접수 초과 방지)
5. ProcessWork: 접수취소 버튼 UI 추가 (실적 없을 때만 표시)
2026-04-03 00:07:03 +09:00
SeongHyun Kim
35ecd4221e
feat: 체크리스트 글자 확대 + 내 작업 탭 + 터치 UI 개선
...
- 체크리스트: 항목명 text-sm→text-base, 필수 배지 오른쪽 이동
- 합격/불합격 버튼 전폭+큰 터치 영역(py-3)
- 입력 필드 text-base+border-2, 저장 버튼 확대
- 범위 텍스트 text-sm, 결과 표시 text-sm
- WorkOrderList: "내 작업" 탭 추가 (accepted_by=currentUserId 필터)
- useAuth 연동으로 현재 사용자 ID 기반 필터
2026-04-02 23:12:33 +09:00
SeongHyun Kim
2200bc3244
feat: PopShell 사용자 계정 연동 (하드코딩 제거)
...
- 김철수/생산1팀 → useAuth()에서 userName/deptName 동적 로드
- 프로필 이니셜 동적 표시
- 회사명 탑씰 → user.companyName 동적
- 로그아웃 → useAuth().logout() 연결
- 푸터 연도/회사명 동적
2026-04-02 23:08:14 +09:00
SeongHyun Kim
87c9f09c7f
fix: 접수 시 마스터 행 input_qty 갱신 (접수가능 수량 반영)
...
- acceptProcess에서 분할 행 생성 후 마스터의 input_qty를 누적 합계로 UPDATE
- 프론트 availableQty = planQty - inputQty 계산이 정확해짐
- 100개 중 50개 접수 → 접수가능 탭에서 잔여 50개 표시
2026-04-02 18:40:33 +09:00
SeongHyun Kim
12e2e86025
fix: 공정 카드 UI 개선 — 글자 크기 확대 + 대기 클릭 허용
...
- 공정순서 스텝 크기 확대 (h28→36, font 11→14)
- 라벨 text-[13px]→text-sm, 수량 text-2xl→text-3xl
- 작업지시번호 text-lg→text-xl, 상태배지 text-xs→text-sm
- 품목/설비 라인 text-xs→text-sm
- 대기 상태에서도 공정흐름 클릭→상세 모달 열림
- collapsed 스텝 크기 통일 (h32)
2026-04-02 18:38:34 +09:00
SeongHyun Kim
15de7ccbfa
fix: 공정실행 UX 개선 — 접수→진행중 탭 전환 + 공정명 표시
...
- 접수 후 작업상세 바로 이동 대신 진행중 탭으로 전환
- 진행중 카드에 "작업 계속" 버튼 (분할 행에서도 정상 동작)
- 전량 접수 시 접수 버튼 비활성화 ("전량 접수 완료" 표시)
- 공정순서: 숫자→공정명 표시 (계량-배합-+1 형태)
2026-04-02 18:33:30 +09:00
SeongHyun Kim
7917223d10
fix: 진행중 탭에 분할 행(접수된 공정) 표시 + 접수→작업상세 이동 검증
2026-04-02 16:29:53 +09:00
SeongHyun Kim
c04f785c38
feat: 작업상세 구버전 기반 재구현 (타이머+체크리스트+실적+입고)
...
- 정보바 (다크): 작업지시번호/품목/공정/수량
- 사이드바: 체크리스트 그룹 (작업전/중/후) + 실적 + 입고
- 타이머: 시작/정지/재개/종료 + 경과시간
- 그룹타이머: 체크리스트 그룹별 독립 타이머
- 체크리스트: 측정값 입력, 자동 합격/불합격 판정
- 실적: 양품/불량/불량유형/비고 + 배치 이력
- 생산입고: 마지막 공정에서 창고/위치 선택
- 모바일: 사이드바→탭 전환
- cmux 검증 완료
2026-04-02 16:03:01 +09:00
SeongHyun Kim
ec3b2d3a08
feat: 공정 카드 디자인 v2 반영 + 공정순서 상세 모달
...
- 카드: 작업지시번호 강조, 품목명/설비 서브
- 상태별 다른 정보 (접수가능/진행중/대기/완료/리워크)
- 공정순서 압축형 가운데 (+2-3-[4]-5-+5)
- ProcessDetailModal: 총량 대비 진행률, 공정별 수량
- 카드 높이 통일 (min-height 340px)
- 1/2/3열 토글
- cmux 검증: 카드 3개 표시 + 탭 카운트 정상
2026-04-02 14:53:23 +09:00
SeongHyun Kim
84d1bdaa7d
feat: 공정실행 — 공정/설비 필터 + 카드 표시 완성
...
- 공정 필터: process_mng에서 조회, 터치 모달 선택
- 설비 필터: equipment_mng에서 조회, 터치 모달 선택
- 카드: 공정별 1카드 (작업지시번호, 공정명, 상태, 수량, 타임라인)
- 탭 카운트: 전체3/접수가능1/대기2 실데이터
- 접수 버튼: acceptable 상태에만 표시
- cmux 검증 완료
2026-04-02 13:43:11 +09:00
SeongHyun Kim
368090e9c6
fix: next-themes 패키지 설치 (ThemeProvider 의존성)
Build and Push Images / build-and-push (push) Failing after 1m31s
2026-04-02 13:20:46 +09:00
SeongHyun Kim
ac5b497afd
merge: pop-screen → main (충돌 해결 - PC 코드 기준)
Build and Push Images / build-and-push (push) Failing after 1m30s
2026-04-02 13:15:24 +09:00
SeongHyun Kim
70b555b5bd
fix: work_order_process + process_work_result id NOT NULL 수정
...
feat: MES 공정실행 구버전 기반 재구현 (타임라인+체크리스트+실적)
- popProductionController: INSERT 3곳 gen_random_uuid() 추가
- WorkOrderList: 공정 타임라인, 탭 카운트, 그룹핑
- ProcessWork: 사이드바+체크리스트+실적+생산입고 (PopWorkDetail 참고)
- 공정 3건 + 체크리스트 3건 생성 성공 (cmux+psql 검증)
2026-04-02 12:04:37 +09:00
SeongHyun Kim
86926e18af
refactor: 작업지시/생산실적 아이콘 홈에서 제거 (생산관리 메뉴 안으로 이동)
2026-04-02 11:44:32 +09:00
SeongHyun Kim
0f6f652bed
feat: 생산관리 메인 메뉴 (입고/출고와 동일 패턴)
...
- /pop/production → ProductionMain (아이콘 메뉴: 공정실행/작업지시/생산현황/불량관리/실적조회)
- /pop/production/process → WorkOrderList (기존 공정 목록 이동)
- KPI 실데이터 연동 (작업지시 목록 API)
- amber gradient 테마, 최근 생산활동
- cmux 검증 완료
2026-04-02 11:28:55 +09:00
SeongHyun Kim
b644961c60
fix: cart_items DELETE → status 변경 (이력 보존)
...
- 확정: status "in_cart" → "confirmed" (이력 추적 가능)
- 취소: status "in_cart" → "cancelled"
- 조회: status="in_cart"만 표시 (confirmed/cancelled는 안 보임)
- DELETE 제거 → updateRecord로 변경 (3곳)
2026-04-02 11:03:03 +09:00